21

誰かがwavファイルで英語のスピーチを転写するための信頼できるオープンソースソフトウェアをお勧めできますか?私が研究した2つの主要なプログラムはSphinxJuliusですが、どちらも機能させることができず、ファイルの転写に関するそれぞれのドキュメントはせいぜい大ざっぱです。

私は64ビットのUbuntu10.04で開発しています。そのリポジトリには、sphinx2とjulius、およびvoxforgeの英語用のjuliusアコースティックモーダルが含まれています。私は、マイクからのサウンドを直接処理するのではなく、ファイルの転写に焦点を合わせています。これは、このようなプロジェクトがUbuntuのサウンドシステムで機能することを期待することを諦めたためです。Audacityを使用してマイクでサウンドを完全に録音できるので、これはUbuntuに対するノックではありませんが、どちらのシステムもマイクにアクセスできないようです。ファイルから読み取るだけで、簡単に設定できることを望んでいます。

私は最初にUbuntuパッケージsphinx2-binからSphinx2を試しました。サンプルのsphinx2-demoはファイルの転写で機能しているように見えますが、構成に関するドキュメントは事実上ないため、任意のwavから読み取るようにこれをカスタマイズする方法がわかりません。デモで使用されているオーディオファイルは、文書化されていない「16k」形式であり、2つの構成ファイルを介して間接的に参照されます。sphinx2-demoをsphinx2-batchを実行していると説明する簡単な宣伝文句がありますが、スクリプトを調べると、実際にはsphinx2-continuousを呼び出していることがわかります。さらに悪いことに、各スクリプトの--help docsには、約6ダースのオプションがリストされており、必須またはオプションについては言及されていません。全体として、スフィンクスのドキュメントが不足していることと、既存のドキュメントの品質が低いことが、私を悩ませています。

次に、Voxforgeのクイックスタートで使用されているバージョンが3.5であることを考慮して、驚くほど最近のUbuntuパッケージ(4.1)からJuliusを試しました。パッケージには、わずかに優れたドキュメントと、Pythonで記述された例(/ usr / share / doc / julius-voxforge / examples / controlapp)が含まれているようです。例のドキュメントを読んだ後filelist.txt、同じ名前のファイルを参照する「hello.wav」というテキストを含むファイルを作成し、「こんにちは」と言っている人の録音を含むファイルを作成して、ファイルから読み取るように調整してみました。これらを同じディレクトリに配置して、次のコマンドを実行しました。

julius -input file -filelist filelist.txt -C julian.jconf

応答を取得する:

### read waveform input
Error: adin_file: sampling rate != 16000 (8000)
Error: adin_file: error in parsing wav header at hello.wav
Error: adin_file: failed to read speech data: "hello.wav"
0 files processed

filelist.txtとhello.wavに絶対ファイル名を指定して再試行すると、同じエラーが発生します。

また、マイクから直接録音するために、例で使用されているJulius呼び出しを試しました。

julius -input mic -C julian.jconf

私はこれを数回呼び出しましたが、応答はエラー間で異なりました。

Cannot read /dev/dsp

と:

STAT: AD-in thread created
<<< please speak >>>

後者の場合、マイクに何を言っても何も起こりません。それでもマイクが読めないのか、何かを読んでいるのかはわかりませんが、音声を書き写すことができません。

これをどうすればいいのかわかりません。私が受けているエラーは、私に多くのことを続けることを任せません。なぜwavを読めないのですか?なぜ/dev/ dspを読み取れないのですか?なぜ/dev/ dspを読み取ることができるように見えるのに、まったく反応しないのですか?

特にLinuxで、オープンソースの音声認識機能で成功した人はいますか?

4

1 に答える 1

15

なんでwav読めないの?

ファイルのサンプリング レートが、要求された (16000) ではなく間違っている (8000) ことを示しています。音声認識ソフトウェアにとって、サンプリングレートは非常に重要です。

/dev/dsp を読み取れないのはなぜですか?

Ubuntu の最近のバージョンでは、OSS の代わりに pulseaudio フレームワークが使用されています。試しているバージョンは OSS を使用しているため、ディストリビューションから oss-compatibility パッケージをインストールして OSS サポートを復活させる必要があります。

pulseaudioをサポートしている新しいJuliusを試すことができます

/dev/dsp を読み取ることができるように見えるのに、まったく反応しないのはなぜですか?

オーディオ入力が正しく機能しません。

特に Linux で、オープンソースの音声認識エンジンで成功した人はいますか?

確かに、人々が CMUSphinx で何をしているかの例として、このビデオをチェックしてください:

http://www.youtube.com/watch?v=vfaNLIowSyk

オープンソースの主要な音声認識エンジンである CMUSphinx パッケージを再訪することをお勧めします。ウェブサイトにはたくさんのドキュメントがあります。それらを読むだけで十分です。音声認識は、優れた結果を得ることができる複雑な分野ですが、技術を理解するために時間を費やす必要があることを忘れないでください. 他のドメインと同様です。

簡単に言うと、CMUSPhinx でファイルを転写するには、次の 3 つの簡単な手順を実行する必要があります。

  1. wav ファイルを取得し、sox を使用して 8khz 16 ビットのモノラル ファイルにリサンプリングします。
    sox input.wav -r 8000 -c 1 resampled.wav
  1. ポケットフィンクス 0.7 をインストール
   apt-get インストール ポケットフィンクス
  1. ファイルをデコードする
    pocketphinx_continuous -samprate 8000 -infile resampled.wav

結果は標準出力に出力されます。ロガーを抑制するには、stderr リダイレクトを /dev/null に追加します

    pocketphinx_continuous -infile resampled.wav 2> /dev/null
于 2011-09-30T23:44:52.147 に答える