誰かが音声録音で特定の人が話しているセグメントを見つけることを可能にする(できればC#.Net)ライブラリを知っていますか?人が話しているときにセグメントを特定していますか?
答えて
これは、ツールキットの掛け声で可能です:http://shout-toolkit.sourceforge.net/index.html
これは、C++で書かれており、Linux用のテストが、それはまた、WindowsやOSXで実行する必要があります。
このツールキットは私のPhDの自動音声認識(ASR)研究の副産物でした。 ASRのためにそれを使用することは、それほど単純ではありませんが、Speech Activity Detection(SAD)とdiarization(特定の人物のすべての発言を見つけること)では、非常に使いやすいです。次に例を示します。
16KHz、16ビット、リトルエンディアン、モノラルのヘッダーレスpcmオーディオファイルを作成します。 ffmpeg -i [INPUT_FILE] -vn -acodec pcm_s16le -ar 16000 -ac 1 -f s16le [RAW_FILE]リトルエンディアンエンコードファイルサイズ(4バイト)でヘッダーレスデータにプレフィックスを付けます。 shout_clusterは拡張子に基づいてファイルタイプを検出するため、ファイルに.raw拡張子が付いていることを確認してください。
は、音声/非音声のセグメンテーションを実行します。 ./shout_segment -a [RAW_FILE] -amsは[SHOUT_SAD_MODEL] -mo [SAD_OUTPUT] 出力ファイルは、誰かがラベル(話しているセグメントを提供しますもちろん、それはすべて自動的に行われるので、音声ではない音(「SOUND」)、または沈黙(「SILENCE」)があるシステムでは間違いが起きる可能性があります。
がdiarizationを実行します。 ./shout_cluster -a [RAW_FILE] -mo [DIARIZATION_OUTPUT] -mi [SAD_OUTPUT] はshout_segmentの出力を使用して、それが記録にアクティブだったどのように多くの講演者を決定しようとします各スピーカー( "SPK01"、 "SPK02"など)にラベルを付け、各スピーカーのすべてのスピーチセグメントを見つけます。
私はこれが役立つことを願っています!
上記の回答は正確ですが、SHoUTをインストールする際に、Linuxでインストールに関する問題が発生しました。 undefined reference to pthread_join
そのソリューション私が叫ぶのインストールzipからconfigure-make.shを開き、に変更に
CXXFLAGS="-O3 -funroll-loops -mfpmath=sse -msse -msse2" LDFLAGS="-lpthread" ../configure
NOTE
CXXFLAGS="-O3 -funroll-loops -mfpmath=sse -msse -msse2" LDFLAGS="-pthread" ../configure
へlpthreadラインを変更することがわかりましたLinuxシステムのpthread。 OS:シャウトバージョンのLinuxのミント18 :リリース-2010-バージョン-0-3
あなたの答えをありがとう、男!あなたは最終的に何かをうまく認識することができましたか? – Roman
SHoUT-いいえ、私はPythonに切り替えました。これは音声分析のサポートが優れているからです。 –
- 1. 話して特定のコマンドを起動できますか?
- 2. 「これについて話している人々」メトリック(PTAT)
- 3. 誰かがJavaで話しているときに静止画を取得しようとしています
- 4. Oracle LOBセグメントが特定のテーブルに属していないか、テーブルがありません
- 5. ジオロケーションを使用して1人のユーザーに近いユーザーを特定します。
- 6. 実行時にダイナミックメモリのセグメントを所有しているユーザーを特定することは可能ですか?
- 7. javaについて話しているときにベンダーとは何ですか?
- 8. アンドロイドハウツが話していないのに電話をかける
- 9. 私が作成した特定のアーキテクチャ/実装についてはどこで話し合い、良いフィードバックを得ることができますか?
- 10. クエリーストリングを使用しているときにURIセグメントが返されない
- 11. 人が特定のボタンを押すと、ラベル内の画像を変更しようとしています
- 12. どのようにロケールをURIセグメントとして指定できますか?
- 13. 特定のユーザーとしてWCFサービスを実行しているときにメタデータエラーが発生しました
- 14. 変数が.NETで特定の値を取得しているときにブレークポイントを設定できますか?
- 15. uisegmentedcontrolが特定のセグメントのタッチを検出しない
- 16. non-guiマシン(Webサーバ)上で実行しているときにmatplotlibがセグメント化エラーを投げています
- 17. valgrindとQtを使用している人はいますか?
- 18. 画面に触れているときに電話がかかってきたらクラッシュします
- 19. 再生方法ユーザーが電話で話しているときに通知音が鳴りますか?
- 20. Apacheを特定のユーザーとして実行しています
- 21. 特定のフォームが開いているときにすべてのキーボード入力をキャプチャします
- 22. 複数のPowerPointが開いているときに、特定のPowerPointを表示/非表示にしますか?
- 23. 新しい機能を友人機能としてオーバーロードしていますか?
- 24. 私たちが連絡先の_IDを知っている場合、電話をかける(特定の人に電話をかける)方法
- 25. 電話が眠っているときにSQLiteデータベースを更新します。
- 26. ユーザーが特定の速度で運転しているときにモバイルを無効にしますか?
- 27. TFSマージコマンドを実行しているときにワークスペースを特定できない
- 28. COMException特定のワードファイルを開こうとしているとき
- 29. iziModal.jsをプロジェクトに使用している人はいますか?
- 30. tabBarControllerを半透明に設定しようとしています。しかし、働いていない。アルファを設定することができます
はあなたの答え、Marijnのため、およびステップのあなたの出品をありがとう!この言語は独立していますか?つまり、ヘブライ語や日本語などで動作しますか?(驚くべきことに、これらの "おそらく、このような異国的な言語のため、この例ではおそらく選ばれました"というのは正確に必要な言語です:) – Avi
私はちょうど2番目のコマンドでこのコマンドと端末をフリーズしました。 Ubuntu 17.10。おそらく、私がこの指示について何もしなかったからかもしれません。「ヘッダーレスのデータにリトルエンディアンのエンコードファイルサイズ(4バイト)を付ける」。これは本当ですか?それ、どうやったら出来るの? – Roman