問題タブ [aec]

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.

0 投票する
2 に答える
459 参照

android - クロムで webrtc をテストするときは、Android で記述されたネイティブ コードと JNI コードを使用します。

私は自分のオフィスで webrtc プロジェクトに取り組んでいます。そして、関数呼び出しの流れを知るために webrtc をテストする必要があります。

Android chrome ブラウザーや他のブラウザーで、Web サイトのアプリスポットから google apprtc を使用して webrtc をテストしてみました。

スカイプやライン、その他のアプリも使いました。

しかし、PCでコマンド「sudo adb logcat」を使用したときにログを表示できませんでした。

私はodroidx2ボードでテストしていました。

webrtc フローをテストする正しい方法はありますか?

または、それを行う他の方法はありますか?

私はこれを試しましたが、これに対する答えは見つかりませんでした

0 投票する
1 に答える
2215 参照

android - サンプルレートが高いAndroidでspeex aecを使用すると、エコーがキャンセルされませんでしたか?

speex aec を Android に正常に統合しました (Android/frameworks/av/media/libeffects/preprocessing に統合)。

キャプチャにサンプル レート 8k と 11k を使用すると、エコーがキャンセルされました。しかし、16k、22k、32k などの高いキャプチャ サンプル レートにすると、動作が悪化します。

入力データをリサンプリングするためだけに speex リサンプラーを使用しています。Echo がより高いサンプル レートでキャンセルしない理由がわかりません。

誰でもこれの解決策を説明できますか?

0 投票する
1 に答える
661 参照

android - 組み込みの AEC Android パフォーマンス

Android post Jelly Bean に同梱されている組み込みの AEC がうまく機能するかどうか知っている人はいますか? 私はそれを試していますが、得られる出力は音量が非常に低く、途切れ途切れです。それはすべてのスピーカー出力をキャンセルしますが、マイクを介した残りのユーザー入力はかなり悪い状態です.

AEC自体が悪いのか、それともコードのどこかを台無しにしたのか知りたかっただけです。誰かが聞きたい場合は、生成されたオーディオ ファイルを提供できます。

0 投票する
1 に答える
263 参照

android - android speex mp3ファイルのエコーキャンセル

私は、マイクの入力を録音していると同時に、スピーカーを介して MP3 ファイルを再生できる必要があるアプリケーションに取り組んでいます。

MP3 ファイルのエコーをキャンセルする必要があります。AcousticEchoCanceler を使用しようとしましたが、うまくいきませんでした。

これで、プロジェクトに speex ライブラリが統合されました。EchoCanceller 関数のインターフェイスは次のようになります。

問題は、"echoFrame" (現在再生中の MP3 ファイルのデータ) を取得する方法がわからないことです。MediaPlayer を使用して再生しています。

MP3ファイルからエコーをキャンセルすることはできますか? それとも、MP3 を PCM に変換して、SoundTrack 経由で再生する必要がありますか? 読んでくれてありがとう。

0 投票する
2 に答える
950 参照

python-3.x - Python adaptfilt 2.0 FloatingPointError:乗算で無効な値が発生しました

次のようなライブラリadaptfilt 2.0のpython 3.4で「エコーキャンセル」の例を使用しようとしています:

期待どおりに動作します。しかし、音楽ファイルの実際のデータで同じことをしたかったのですが、エラーが発生しました:

私が使用したコードは次のとおりです。

私が見る唯一の違いは、「speech.npy」からの配列が float64 のタイプであり、wav ファイルからの私の配列が int16 のタイプであることです。

0 投票する
0 に答える
2689 参照

android - webrtc でのアコースティック エコー キャンセレーション (AEC)

ローカル WiFi で動作するビデオ チャット アプリに取り組んでいます。デバイスのスピーカーを使用しているため、エコーの問題に直面しています。私の質問は、エコーをキャンセルする方法です。これは、オーディオ トラックのコードです。

したがって、音質を改善するためにここで何ができるか、ガイドラインを高く評価します。

opus-codec ライブラリについて聞いたことがありますが、それに関するヘルプは見つかりませんでした。それはフィードバックです???

0 投票する
1 に答える
3837 参照

c++ - WebRTC オーディオ処理モジュール (APM) と再生デバイスのエコー遅延の計算

私はオーディオ処理に非常に慣れていません。オーディオを片方向に録音およびストリーミングし、もう一方の端では録音しないプログラムを作成しました。基本的に、ある場所で記録されたものは何でも別の場所に送信します。ただし、このプログラムが録音ソースと同じ場所にオーディオを出力する場合も多くあります。これにより、オーディオの遅延 (多くの要因に依存する) により、顕著な「エコー」が発生します。

他に何かあるかどうかわからないので、WebRTC のオーディオ処理モジュールをゲイン コントロールとアコースティック エコー キャンセレーションに使用しようとしています。ゲイン コントロールはうまく機能しているように見えますが、AEC はあまりうまく機能していません。正しいストリーム遅延を設定していないためか、これが AEC の目的ではない可能性があるためだと思います。

私が使用している現在のコードは、少なくとも最初に発生したエコーを取り除くために、ファイルから記録したものを読み取ります。ストリーム遅延を 0 に設定すると、現在のオーディオが完全にキャンセルされることが想像できます。さまざまな値を試してみましたが、あまり役に立ちませんでした。

私の質問は、これが十分に具体的であることを願っています。このモデルで何が間違っているのでしょうか?

次のインクルードとライブラリを使用: http://www.freedesktop.org/software/pulseaudio/webrtc-audio-processing/

0 投票する
1 に答える
2186 参照

android - Android の AEC とノイズ サプレッサーが一部のデバイスで機能しない

VoIP 機能を備えた Android Unity アプリの開発中に、一部のデバイス (具体的には Galaxy S6) でマイクがスピーカーから出力された音を拾い、多くの静電気、歪み、エコーが発生することを発見しました。このため、私は Android の AEC および NS 機能の一部を活用するためのネイティブ ソリューションに取り組み始めました。

Note 4 などの一部のデバイスで完全に動作する次のテストベッドを作成しました。Galaxy S6 で同じアプリを実行すると、ARC と NS がうまく適用されていないか、まったく適用されていないように見えます。

AudioRecord に VOICE_COMMUNICATION を使用する、MIC を使用して NoiseSuppressor と AcousticEchoCanceller を手動で作成する、NuPlayer/AwesomePlayer を無効化/有効化するなど、多くのことを試しました。デバイスは、AEC がサポートされ、有効になっていることを示していますが、実際には起こっていないようです。ヘッドフォンを使用するか、スピーカーフォンの代わりにハンドセットを使用すると、問題は完全に解消されます (マイクがスピーカーの音を拾うことができません)。ここで何か巨大なものを見落としているのでしょうか、それともバグが報告される可能性はありますか?

AEC と NS が他のデバイスで完全に機能していなくても、疑いはありません。

0 投票する
0 に答える
712 参照

android - VoIP アプリを使用して通話するときに聞こえるこの高音ノイズは何ですか?

VoIP アプリで作業しているとき、アコースティック エコー キャンセレーションに苦労しています。遠端、近端、出力の音をダンプしました。出力は良好で、エコーは含まれていません。しかし、Androidスマートフォンを呼び出すと、スピーカーの音量を上げるとすぐに、私を夢中にさせるこの高音が出ます。

この音の正体と回避/除去方法を教えてください。

高音

0 投票する
1 に答える
1430 参照

android - 避けられないエコーを止める最も効率的な方法

マイクとスピーカーを備えたものとAndroidフォンの間でUDPを介して音声をストリーミングするモジュラーシステムを作成しました。マイクとスピーカーが互いにそれほど離れていない場合、電話で録音されたものはすべてスピーカーで再生され、同時に録音されて電話に送り返されるため、避けられないエコーが発生します。

これまでのところ問題は、再生時にマイクが録音していることです。たとえば、重要な再生中に録音を停止するコードが送信された場合、問題は解決されます。これは、プッシュツートーク ボタン (通話タイプの状況にはあまり適していません)、または最大振幅を感知して何か重要なことを言っているのか、それともただのノイズなのかを判断するアルゴリズムによって実現されます。後者の方が使いやすいですが、ノイズの多い環境では問題が発生しやすくなります。

長い講義で申し訳ありませんが、この問題を解決するためのより効率的で確実な方法があるかどうかを知りたいです。

一般的な回路図

PSハードウェア側にエコーをデジタルで削除するのに十分な処理能力がなく、方法もわかりません。ある種のアナログフィルターでもそれを行うことができると確信していますが、それを行う方法もわかりません。

編集: mattmのおかげで、AEC のようなものが必要であることがわかりましたが、最も効率的でも実用的でもないかもしれません。

WIFI-UART モジュール (HLK-RM04) を使用していますが、大きな問題があります。モジュールが 8 ビット オーディオ サンプルを IP データグラムに変換しているときに、非常に大きな遅延が発生します。何らかの理由で、Android から送信されたデータグラムを解凍するときにこの遅延は存在しません => Android からサンプルを受信するには ~50ms かかりますが、マイクからサンプルを受信するには ~650ms かかります。私は 7200 のサンプリング レートを使用しているため、AEC アルゴリズムは、「リアルタイム」を維持するために少なくとも 4680 サンプル/秒のデータ セットで動作する必要があります。