4

Androidでのオーディオの録音と再生にはOpenSLを使用しています。最適なオーディオ構成 (バッファ、サンプル レート) を見つけるために、レイテンシを測定する方法を教えてください。

前もって感謝します!

4

4 に答える 4

9

オーディオ出力レイテンシを測定するために使用した方法は次のとおりです。

  • ボタンを押すと音が鳴る 1 つ以上のボタンを使用して、アプリのシンプルな UI を作成します。ほぼ瞬時にアタックするサウンド (つまり、すぐに最大振幅に達するサウンド) を使用することをお勧めします。
  • Android デバイスの音量を上げて、他のデバイス (PC や別の電話など) のマイクに近づけます。
  • アプリを使用して、ボタンをタップしてサウンドを再生します。タップ自体がはっきりと聞こえるように、十分に強くタップします。
  • このすべてを 2 番目のデバイスに記録します。
  • 完了したら、サウンド エディタ (Audacity など) で録音を開き、タップ サウンドと結果の再生の間の距離 (つまり、時間) を測定します。このようないくつかの距離の平均または中央値を取得することができます。

この測定方法には、実行が非常に簡単であるという利点があります。欠点は、結果にタッチ遅延も含まれることです。タッチ イベントが 60 Hz で生成される場合、これは、オーディオ出力のレイテンシーに加えて、最大で約 16 ミリ秒のレイテンシーが発生する可能性があることを意味します。これにより、この方法を使用して非常に小さなレイテンシの違いを測定することはほとんど不可能になります.


更新: Google の Glenn Kasten によるメッセージ ボードへの投稿で、オーディオ レイテンシをより正確に測定する方法を説明しているページへのリンクがいくつかありました。参照用にここに追加できると思いました。往復レイテンシーの測定について説明しているページと、出力レイテンシーのみの測定について説明しているページがあります。

于 2013-07-29T09:39:31.730 に答える
4

このアプリで測定してみましたか? https://play.google.com/store/apps/details?id=com.levien.audiobuffersize アプリは Google の Raph Levien によって作成され、http://audiobuffersize.appspotに結果を含むデータベースを作成しています。 .com/ (ご覧のとおり、既に多くの結果が表示されています) デバイスに最適なバッファー サイズとサンプル レート、および達成された最小レイテンシーを計算する非常に簡単なテストです。ここから、多くのユーザーが結果をアップロードすると、低遅延オーディオの準備ができているデバイスの数/デバイスを知ることができると思います...

于 2014-02-20T01:45:31.403 に答える
1

@Michael のメソッドに追加するか、出力レイテンシーを見つけます。往復遅延、つまり再生するレコードに興味がある場合。それで

1) 単純なオーディオ ループバック アプリケーションを実行するだけです (バッファサイズとキューイングが適切に行われていることを確認してください)。

2) フィードバック エコーを避けるために、できれば音量を低く保ちますが、エコーはまだそこにあり、聞こえるはずです。

3) 別のマイク (PC) を介して出力を録音し、指をパチンと鳴らすようなタッピング音を出します。

4) 2 番目のマイク (PC) からのオーディオを goldwave または audacity にインポートし、スナップとデバイスから再生されるスナップの間の遅延を測定します。

これが往復の遅延になります

お返事遅くなりましたが、参考になれば幸いです

よろしく、 シュリッシュ

于 2014-10-28T20:03:56.350 に答える