問題タブ [sphinx4]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - KeyListener isShiftDown() は、そうでないときにシフトがダウンしていることを読み取っています
そのため、シフト ボタンを押したままにしておくとリッスンする sphinx-4 プログラムを作成しています。これは、エラーを防止し、シフト ボタンを押している間だけ音声を聞くようにするためです。シフトボタンを放したら、もう一度押し続けるまでプログラムを待機させたい。ctrl-c が押されると、プログラムは完全に終了します。キーリスナーを使用してこれを行っています。
私が直面している問題は、シフト ボタンを押した後にプログラムが聞き取りを開始することですが、離しても聞き取りを停止しません。コードの何が問題なのかわかりません。作成した MKeyListener クラスの内容は次のとおりです。
これが私が実行している私のメインクラスです:
ここで何が間違っていますか?
java - sphinx4 のインストール方法は?
大多数の人にとって、これはおそらく簡単なことですが、sphinx4 音声認識ソフトウェアのインストールについてサポートが必要です。特に、cygwin を使用してこれを行います。
1) 環境パス変数を Java SDK に設定する方法 (NetBeans をインストールする必要がありました)
2) ant ライブラリが NetBeans に既に存在する場合、ant をインストールする必要がありますか?
3) Cygwin を使用するよりも、Sphinx jar を NetBeans の .java プロジェクトにインポートするより良い方法はありますか?
どこが間違っていたのかわからず、ありとあらゆる助けを借りることができました
speech-recognition - 音声データを Sphinx4 に直接渡す方法
システムの一部に Sphinx4 を使用したいと考えています。そして、マイクを直接使用する HelloWorld デモを既に試しました。また、音声ファイルの使用例も見てきました。
それで、私の質問は、音声を認識する他の方法があるかどうかということです? たとえば、短いタイプのデータ (short[]
バッファなど) を認識します。
マイクやwavファイル(音声ファイル)以外に方法が見つかりません。
たとえば、PocketSphinx にはprocessRaw
、この質問 ( Android での Pocketsphinx の入力) で説明されている機能があります。
Sphinx4に対応する機能はありませんか?
sphinx4 - streamDataSource の使用
LatticeDemo.java を試してみました。そして、結果例に示すような結果を得ることができました。この例では、音声データ (10001-90210-01803.wav) に「AudioFileDataSource」を使用しています。StreamDataSource を使用して、この音声データを別の方法で認識しようとしています。
しかし、私は別の結果を得ます。どんなアイデアでも聞きたいです。
私が取った手順は次のとおりです。
次のコードで 10001-90210-01803.wav から Byte データを取得します
/li>あとは、この「data」というバイトデータを次のようにByteArrayInputStreamに入れるだけです
StreamDataSource dataSource = (StreamDataSource) cm.lookup("streamDataSource"); ByteArrayInputStream st = new ByteArrayInputStream(data); dataSource.setInputStream(st, "メイン ストリーム");
実は、「setInputStream」関数を使用する場合、2 番目の引数 (つまり「メイン ストリーム」) には特別な意味があるのですか? なぜこの議論が必要なのかわかりません。
streamDataSource の構成は次のとおりです。
<component name="streamDataSource" type="edu.cmu.sphinx.frontend.util.StreamDataSource"> <property name="sampleRate" value="16000" /> <property name="bigendianData" value="false" / > </コンポーネント>
出力は
よろしく
cmusphinx - sphinx 4で可能なすべての単語を認識することは可能ですか?
最初はsphinx 4を機能させるのにいくつか問題がありましたが、今ではうまく機能しています。JSGF であろうと N-Gram であろうと文法は有限であるため、考えられるすべての単語または文を sphinx に認識させることはできません。音声ベースの Google 検索のようなものを構築したいと考えています。検索には、可能な単語または単語の組み合わせが含まれる可能性があるためです。辞書の単語をすべて文法に追加するのは面倒です。親切に助けてください。
speech-recognition - Android Phone に録音された音声データに Sphinx4 を適用する
これは奇妙に聞こえます。しかし、Sphinx4 で Android フォンに記録されたバイト データを分析したいと考えています。そして、良い結果はありません。これは私の構成の問題から来ることを知っています。Sphinx4 についての経験と同じ経験があれば、いくつかのアイデアを聞きたいです。
私の環境について説明したいと思います:
電話 (Android、Nexsus One)
- サンプリングレート = 8000
- audioFormat = AudioFormat.ENCODING_PCM_16BIT
- channelConfig = AudioFormat.CHANNEL_IN_MONO
スフィンクス4
- サンプルレート = 16000
- bigEndianData = false
- streamDataSource の使用
そこで、音声データ(byte[])を録音し、Sphinx4で解析します。以下は、私の電話で録音された音声の例 (ワン ツー スリー) です。
各バイトデータは「:」で区切られています。
java - Android で Sphinx4 を使用する
私はJavaおよびAndroidアプリの開発に本当に慣れていません。現在、音声認識に関するプロトタイプアプリを作成中です。sphinx4 音声認識を使用します。Sphinx4 を Android SDK で使用できるかどうかはわかりません。
Sphinx4.0 を使用して音声認識を構築します。Android アプリケーション (これは、できないことを示しています) https://sourceforge.net/p/cmusphinx/discussion/sphinx4/thread/ce6ee093/ (しかし、これはできると述べています。)
はいの場合、sphinx4 の使用方法がまったくわかりません。プロトタイプを完成させるためのガイドを親切に提供してもらえますか? 親切に助けてくれてありがとう。
java - Java sphinx4 プロジェクトでトレーニング済みの音響モデルをインポートして使用する方法
音声認識プログラムである Java 言語でプログラムを作成する際に助けが必要です 訓練された音響モデルを持っています この訓練された音響モデルを自分のプログラムでどのように使用できるかを尋ねたいです 音声認識プラットフォームを初めて使用しますが、 Netbeansエディタで作業するので、モデルで使用されているのと同じオーディオを入力した場合、モデルに保存されているオーディオを再生する必要があるように、音響モデルをテストする手順を教えてください私の質問を理解し、私はアラビア語のスピーチからスピーチへの認識に取り組んでいますplzできるだけ早く私を助けてください 事前に感謝します
cmusphinx - Sphinx 4 転写時間インデックス
Sphinx 4 で音声ファイルを書き起こすように設定した場合、時間インデックス (またはフレーム番号) を取得するにはどうすればよいですか?
私が使用しているコードは次のようになります。
私は結果/トークン オブジェクトから文字起こしの時間を取得しようとしました。たとえば、サブタイトル作成者が行うことと同様です。Result.getFrameNumber() と Token.getFrameNumber() を見つけましたが、オーディオ ファイル全体のコンテキストで結果が見つかった時間 (またはフレーム) ではなく、デコードされたフレーム数を返すようです。
AudioFileDataSource.getDuration()[=private] と Recognizer クラスを見ましたが、必要な転写された時間インデックスを取得する方法がわかりません..
アイデア?:)