14

音声をテキストに変換するソフトウェアは必要ありません。必要なものは次のとおりです。

  • 複数 (たとえば 50 以上) のオーディオ ストリーム (ラジオ局の録音) を録音します。
  • その録音から、興味深いオーディオ クリップをマークします - その長さは 2 秒から 60 秒の範囲です - そのようなオーディオ クリップは数千あります
  • ライブラリは、録音されたサウンド ストリームから同じオーディオ クリップの他のインスタンスを見つけることができる必要があります。
  • 信頼係数は使用済みに報告し、追加の入力を提供して、次回の認識がより適切に実行されるようにする必要があります

そのようなソフトウェアライブラリを知っていますか? 私にとっては LGPL が最も価値がありますが、商用ライセンスを取得することもできます。

オーディオ クリップには、音楽、テキスト、エフェクト、またはそれらの任意の組み合わせが含まれます。したがって、TEXT 認識は問題外です。

アーキテクチャ: C++、グルー用の C#、可能であれば CUDA。

4

6 に答える 6

9

私はライブラリを (まだ) 見つけていませんが、検索を絞り込むための用語と背景を提供する 2 つの興味深い論文を見つけました。

編集:「オーディオフィンガープリンティング」を検索すると、オープンソースと商用の両方の実装のページにたどり着きました。

オーディオフィンガープリンティングの紹介です

于 2010-05-15T02:33:22.940 に答える
7

あなたが説明しているのは一致したフィルターであり、必要なのは妥当な DSP ライブラリの一部である相互相関関数だけです。 プロセッサ アーキテクチャと言語の選択によっては、この操作をより効率的に実行できるベクトル化されたライブラリを見つけることさえできる場合があります。

パフォーマンスをあまり気にしない場合は、Python を使用できます...

$ python
Python 2.6.4 (r264:75706, Dec  7 2009, 18:45:15) 
[GCC 4.4.1] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import scipy
>>> interesting_clip = [ 5, 7, 2, 1]
>>> full_stream = [ 1, 5, 7, 2, 1, 4, 3, 2, 4, 7, 1, 2, 2, 5, 1]
>>> correlation = scipy.correlate (full_stream, interesting_clip)
>>> print correlation
[56 79 55 28 41 49 44 53 73 48 28 35]
>>> for offset, value in enumerate(correlation) :
...     if (value > 60) :
...         print "match at position", offset, "with value of", value
... 
match at position 1 with value of 79
match at position 8 with value of 73

上記のしきい値は任意です。何が適切かを実験的に判断する必要があります。

「興味深いクリップ」が長いほど、相関の計算に時間がかかることに注意してください。クリップが長いほど、実際の一致が一致しないものよりも目立つようになりますが、おそらく数秒以上必要になることはありません。

于 2010-05-15T02:58:43.623 に答える
4

AudioDBは、オーディオの類似セクションを検索し、ノイズの多いストリームを処理し、類似度を測定できるオープン ソースの C++ プロジェクトです。クライアント/サーバーとして実行できますが、スタンドアロン プログラムを実行できると思います。
dsp相関に関する他の回答は一種の正しいものですが、一般に、これらのdspアルゴリズムは、同じ長さの2つのストリームを比較したいと考えており、類似した部分が重複しています。
必要なのは、ストリームの任意のセグメントで動作することです。これが AudioDB が構築された目的です。(1 つのアプリケーションは、隠された参照/サンプリングまたは明白な著作権の誤用を見つけることです。) 私は逆再生されたサウンドを見つけるためにそれを使用しました。また、ノイズや音声の変更が導入された場合も検出します。
ホームページの日付はずれているように見えますが、まだ開発中であることに注意してください。メーリング リストに登録して、現在の状況と、それをどのように組み込むかを尋ねます。

于 2010-05-18T02:04:02.487 に答える
3

www.shazam.comに関するLi- ChunWangによるこの論文をご覧になることをお勧めします。

これはAPIではありませんが、アルゴリズムがどのように開発されたかの詳細を提供します。

于 2010-05-20T08:34:57.973 に答える
0

コンテンツにとらわれないようにしたいので、Tim Krygerの回答に沿ってどこかに行き、単純な統計相関関数を使用します。

機能に関しては、音声処理と音楽認識 (ジャンル、曲) の両方で使用されている MFCC を試してみます。優れたオープン ソースのVamp プラグイン(またはそのより高レベルのバンドルであるSonic Annotatorと呼ばれるプログラム) または代わりにMarsyasフレームワークで利用可能な MFCC およびその他の豊富なオーディオ機能を見つけることができます。

于 2012-04-07T17:14:33.783 に答える
0

Microsoft Speech API (SAPI) をご覧ください:
http://msdn.microsoft.com/en-us/library/ee125077%28VS.85%29.aspx

リストした他のすべての要件は、基本的に実装の詳細であり、独自に実装する必要があります。たとえば、ソフトウェアがオーディオ ストリームを解釈すると、フル テキスト インデックスを使用してそれらを SQL サーバーに保存できます。そこから検索を実行して、類似/同じオーディオ クリップを見つけます。

もちろん、それを実装する方法は他にもありますが、これは 1 つのアイデアにすぎません :-)

于 2010-05-14T20:33:51.510 に答える