問題タブ [speech]
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.
c# - System.Speech.Recognition - AppendChoices が廃止されたのはなぜですか?
で .NET 音声認識をいじり始めていますSystem.Speech.Recognition
。非常に基本的なフレーズをいくつか認識できましたが、イベント ハンドラーで、ピザの注文の例に示されている特定の情報を取得したいと考えています。
regex を使用して e.Result.Text の値を解析できましたが、ピザの注文の例では という非常に便利なメソッドを使用しましたAppendChoices
。このメソッドの優れた点は、基本的に可能な単語のリストをキーに関連付けることです。イベント ハンドラーが呼び出されると (フレーズが認識された後)、 を参照して値にアクセスできますSemantics[<your key string here>]
。ただし、Semantics はまだ利用可能ですが、AppendChoices は非推奨になっているように見えるため、それを利用する方法がわかりません。
イベントハンドラーで正規表現を使用して、音声コマンドの引数が何であるかを把握する唯一の手段はありますか?
android - Android:ユーザーがマイクに向かって話すのをやめたことを検出する方法
アプリケーションの起動時にマイクから録音を開始するAndroidアプリケーションがあります。私の現在のバージョンでは、ユーザーは録音を停止するためにSTOPボタンを押す必要があります。
ユーザーが会話を停止したことを検出し、それを使用してレコーダーを停止させるにはどうすればよいですか?
Androidの音声認識機能に実装されているものと同様です。ユーザーが話すのをやめ、音声が翻訳されます。トーキングトムタイプのアプリのように、それを行う他のアプリを見たことがあります。
補足として、マイクが音を受信していることを示すある種のビジュアルも表示したいと思います。入ってくる音のレベルを示す何か。
助けていただければ幸いです。
c# - Microsoft音声認識SemanticValue.Confidence値が常に1であるのはなぜですか?
次のパターンを処理するために、カスタム文法でSpeechRecognizerを使用しようとしています。
「{item}を開けてもらえますか?」ここで、{item}はDictationGrammarを使用します。
Vistaと.NET4.0に組み込まれている音声エンジンを使用しています。
返されたSemanticValuesの信頼を取得できるようにしたいと思います。以下の例を参照してください。
単に「recognizer.AddGrammar(new DictationGrammar())」を使用すると、e.Results.Alternatesを参照して、各代替の信頼値を表示できます。これは、DictationGrammarがトップレベルにある場合に機能します。
構成例:
- Firefoxを開くことができますか?.95
- Fairfaxを開けてもらえますか?.93
- ファイルファックスを開くことができますか?.72
- Firefoxにペンを書くことはできますか?.85
- Fairfaxを固定できますか?.63
しかし、「{semanticValue Key ='item' GrammarBuilder = new DictationGrammar()}を開くことができますか?」という文法を作成すると、次のようになります。
- Firefoxを開くことができますか?.91-セマンティクス={GrammarBuilder.Name="開くことができます"}
- Fairfaxを開けてもらえますか?.91-セマンティクス={GrammarBuilder.Name="開くことができます"}
- ファイルファックスを開くことができますか?.91-セマンティクス={GrammarBuilder.Name="開くことができます"}
- Firefoxにペンを書くことはできますか?.85-セマンティクス=null
- Fairfaxを固定できますか?.63-セマンティクス=null
.91は、「{item}を開けますか?」のパターンに一致していることにどれほど自信があるかを示しています。しかし、それ以上区別しません。
ただし、e.Result.Alternates.Semantics.Where(s => s.Key == "item")を見て、信頼度を確認すると、次のようになります。
- Firefox 1.0
- Fairfax 1.0
- ファイルファックス1.0
それは私にはあまり役に立ちません。
一致するSemanticValuesの信頼度を表示すると、私が本当に必要としているのは次のようなものです。
- Firefox .95
- Fairfax .93
- ファイルファックス.85
そのように動作するはずです...
私は何か間違ったことをしていますか?Speechフレームワーク内でそれを行う方法さえありますか?
「正しい」方法でそれを実行できるように、いくつかの組み込みのメカニズムがあることを望んでいます。
おそらくうまくいく別のアプローチについては...
- SemanticValueアプローチを使用して、パターンに一致させます
- そのパターンに一致するものについては、{item}の生のオーディオを抽出します(RecognitionResult.WordsとRecognitionResult.GetAudioForWordRangeを使用)
- DictationGrammarを使用してSpeechRecognizerを介して{item}の生のオーディオを実行し、信頼を得ます
...しかし、それは私が本当にやりたいよりも多くの処理です。
c# - 優れた音声認識API
私は音声認識を使用している大学のプロジェクトに取り組んでいます。現在、Windows 7で開発しており、.netに付属のsystem.speech APIパッケージを使用しており、C#で開発しています。
私が直面している問題は、ディクテーション認識が十分に正確ではないことです。その後、アプリケーションを起動するたびに、デスクトップの音声認識が自動的に開始されます。これは私にとって大きな迷惑です。すでに私が話す言葉は十分に明確ではなく、矛盾する認識はコマンドとして解釈され、アプリケーションの切り替えの最小化などのアクションが実行されています。
これは私のアプリの重要な部分であり、このMicrosoftの失敗以外に、私に適した音声APIを提案してください。簡単なディクテーション文法だけでも理解できればいいですね。
html - HTML/JavaScript 拡張機能で x-webkit-speech を使用する
Google Chromex-webkit-speech
の単純な HTML/JavaScript 拡張機能で新しい関数を使用しようとしています。しかし、私はたくさんの例を試してみましたが、関数を正常に呼び出すことができません。私は他の人がそれをしているのを見たことがありますが、私ができない理由がよくわかりません。JavaScript コードを別のファイルに入れましたが、 <script src="filename.js"> を使用してインクルードします。これは x-webkit-speech の私の行です....
に変更onChange()
するalert(this.value)
と、音声入力の値を含む警告ボックスが実行されます。したがって、別の関数を呼び出すことができない理由が本当にわかりません。私は最高の JavaScript や HTML プログラマーではありませんが、これについてはかなり調べました。物事の定義は人によって異なります。しっかりした API がないため、正しい形式を持っているのが誰なのかを本当に知るのは困難です。
私のonChange
機能は次のようになります
私はそれが機能することをテストして確認しようとしていますが、何も得られません。
c# - 「オプション」項目が省略されたときにSystem.Speech.Recognitionからデフォルトのセマンティクスを返す方法は?
私は中級の C# プログラマーですが、System.Speech はまったくの初心者です。API がどのように機能するかを理解するために、いくつかの例に取り組んでいますが、最初の例にすでに夢中になっています...ユーザーがこれらの選択肢のいずれかに値を明示的に指定しない場合。(用語が正しくない場合は申し訳ありません...) Visual Studio 2010 (試用版) と .NET 4.0 がインストールされた Windows Vista を使用しています。
次の記事の「ピザの注文」の例から始めました。これは、フォーラムでかなり話題になっているようです。
http://msdn.microsoft.com/en-us/magazine/cc163663.aspx#S5
私が始めたコードは、その記事の図 9 にあります。残念ながら、何らかの理由 (SAPI のあるバージョンから次のバージョンに変更された可能性がありますか?) で、.NET 4.0/SAPI 5.3 では多くの関数呼び出しが実際には有効ではありません。たとえば、GrammarBuilder.AppendChoices() および GrammarBuilder.AppendResultKeyValue() . 後者の呼び出しは、ユーザーがトッピングのみを指定した場合に「サイズ」キーと「クラスト」キーのデフォルトの選択肢を提供することになっています (つまり、「チーズ ピザをお願いします」とサイズ = 大、クラスト = 厚、トッピング = を返します)。チーズ)...だから私はこれを機能させる方法を理解しようとしています。
私のコードの関連セクションは次のとおりです(上記の記事のコードを書き直しただけであるはずです):
SemanticResultKey コンストラクターの MSDN ページには、 「 buildersパラメーターで指定された GrammarBuilder オブジェクトには、タグ付けされていない SemanticResultValue インスタンスが 1 つだけ存在する必要があります」という警告が含まれていることを認識しています。そうしないと、例外が発生します。実際、レコグナイザーに「チーズ ピザ」などと言うと、ここで TargetInvocationException が発生します。
私の最初の質問は、誰かがここで何が起こっているのか説明してもらえますか? (a) skeyDefaultSize と skeyDefaultCrust の宣言が実際に SemanticResultValues を SemanticResultKeys に関連付けていると考えたため、この制約がここで適用されるとは必ずしも予想していなかったので、これらの値は「タグなし」と見なされるべきではありません。(b) 問題の 2 つの SemanticResultValues は、実際には異なる SemanticResultKeys の内部にある異なる GrammarBuilders からのものであり、MSDN ページで説明されているシナリオではないようです。
次に、2 番目の質問は、次のコードが機能するのはなぜですか? 唯一の違いは、2 つの「デフォルト」キーが文法に連続して追加されないように、いくつかの行の順序を変更したことです。
これにより、たとえば「チーズ ピザ」と言うと、正確に望ましい結果が得られます。すべてのキー (「サイズ」、「クラスト」、「トッピング」) は、SpeechRecognided ハンドラーでキャッチした SemanticValue に存在し、目的の既定値が設定されています。サイズとクラストの値に加えて、トッピングのユーザー指定の値。
3 番目の最も重要な質問は次のとおりだと思います。これを適切に行う方法はありますか? 明らかに、追加の順序を微調整することは「魔法」であり、常に実行可能な解決策になるとは限りません。
大変な質問で申し訳ありません。ご協力ありがとうございます。
speech-recognition - 音声の検出と識別のためのオープン ソース コード
私は 15 本のオーディオ テープを持っていますが、そのうちの 1 本には祖母と私が話している古い録音が含まれていると思います。適切な場所をすばやく見つけようとしても、うまくいきませんでした。それを見つけるために 20 時間もテープを聞きたくない。この場所は、いずれかのテープの先頭ではない可能性があります。ほとんどのコンテンツは 3 つのカテゴリに分類されるようです。長さの長い順に、サイレンス、スピーチ ラジオ、音楽です。
すべてのテープをデジタル形式に変換してから、もう一度録音を探す予定です。明らかな方法は、私が他のことをしている間、それらすべてをバックグラウンドで再生することです。それは私にとってあまりにも単純すぎるので、洗練度と有用性が増す順に、私が見つけることを可能にするオープンソースライブラリまたは他のコードはありますか?
- 非サイレント領域
- 人間の声を含む領域
- 私自身のスピーチ (および私の祖母のスピーチ) を含む地域
私の好みは、Python、Java、または C です。
私はその分野について何も知らないので、失敗した答え、検索用語に関するヒントをいただければ幸いです。
これに 20 時間以上を簡単に費やすことができることを理解しています。
google-chrome - attr "x-webkit-speech" での入力は、英語以外の言語で行うことはできますか?
現在、Chrome の x-webkit-speech は英語でのみうまく機能するようですが、他の言語でも機能しますか?
java - Android での音声合成
Speech to text を備えたアプリを作成しようとしています。
RecognizerIntent を使用したこの種の機能を認識しています: http://android-developers.blogspot.com/search/label/Speech%20Input
ただし、新しいインテントをポップアップさせたくありません。現在のアプリで特定のポイントを分析したいのですが、現在あなたの声を録音しようとしていることを示す何かをポップアップさせたくありません。
これを行う最善の方法について誰かアイデアがありますか。私はおそらくSphinx 4を試してみることを考えていました-しかし、これがAndroidで実行できるかどうかはわかりません-誰かアドバイスや経験がありますか?!
ここのコードを変更して、おそらく UI やボタンを表示するのを気にせず、単に処理を行うことができるかどうか疑問に思っていました: http://developer.android.com/resources/samples/ApiDemos/src/com/example/android/ apis/app/VoiceRecognition.html
乾杯、