2

私は、ユーザーが音声コマンドを発行してブラウザを制御できるようにする拡張機能を作成してきましたが、壊滅的な問題に遭遇するまでは順調に進んでいました。こんなふうになります:

音声認識オブジェクトは連続モードで、onerror: 'no-speech'またはonendイベントが発生するたびに再起動します。このように、拡張機能は常に入力の受け入れを待機しており、コマンドが発行されるたびに、5 分間の沈黙の後でも反応します。

数日間の開発の後、今日、実際に使用してテストするところまで来ました。しばらくすると (何も変更していないのに)、私のイベントが絶えずonend発火し始めたことがわかりました。コンソールを見ると、3 秒間に 18,000 件のリクエストが行われ、すべてが即座に拒否され、リクエストがトリガーされて再開されることがわかります。onend

リクエストを送信する前にサウンドを待機するか、リモート サーバーを必要とせずにローカルの音声認識機能を使用することが最適であることは承知していますが、現在の API ではそれが許可されていません。

私の疑いは正しいですか?リクエストは制限されていますか?

4

2 に答える 2

2

私の疑いは正しいですか?リクエストは制限されていますか?

はい

リクエストを送信する前にサウンドを待機するか、リモート サーバーを必要とせずにローカルの音声認識機能を使用することが最適であることは承知していますが、現在の API ではそれが許可されていません。

リクエストの IP ソースを隠すには、Tor のようなアノニマイザー ネットワークを使用できますが、高速ではありません。

システムに記録されているすべての音声を処理するために Google がリソースを費やすと考えるのは単純です。アプリケーション開発では、少なくともいくつかの保証を提供する API に依存することをお勧めします。商用 API または CMUSphinx のようなオープン ソース実装のいずれかです。

CMUSphinx を使用すると、コマンド キーワードの検出を適切に実装し、コマンドの文法を指定することで精度を高めることもできます。

于 2013-09-18T08:19:57.137 に答える