2013-02-07 4 views
5

私はオーディオインタラクションのためのリアルタイムインタフェースのコンセプトをしたいので、本当の低レイテンシは不可欠です。私は先週、この話題について多くのことを読んだことがありますが、そのような短期間で実際の概要を知ることは不可能です。だから私が本当に深く掘り下げる前に、私はこのプロジェクトの実現可能性を評価する必要があります。AndroidでOSC/Midi(オーディオなし)の待ち時間は可能ですか?

私はAndroidと低レイテンシーのオーディオアプリケーションの問題について多くのことを読んできましたが、私はこの分野でiOSが優れていることを知っていますが、可能であればAndroidを好むでしょう。 (私はiOS版を開発するために不可欠であるのMacを持っている、と私はちょうどより多くの「オープン」Andoid好きではありません)

だから私の質問は以下のとおりです。

  1. は唯一の悪い低遅延の動作です実際のオーディオバッファ/処理に関連していますか、それともmidiやOSCのアプリケーションにも影響しますか?私にとってインターフェイスは重要な部分です。つまり、別のPCで処理されるMIDI/OSCコマンドを取得するだけでいいのです。

  2. フィンガータッチイベントからコマンド出力までの全体のレイテンシが低いことが必要です。これはiOSと比べてAndroidの問題ですか?

答えて

2

遅延は、主にオーディオバッファの機能です。ここでは最新の開発の広範な議論があります:

http://createdigitalmusic.com/2012/07/android-high-performance-audio-in-4-1-and-what-it-means-plus-libpd-goodness-today/

Tlの、DRのバージョン:ギャラクシーネクサスは、ジェリービーンのように12msのオーディオバッファの待ち時間が可能です。他の場所でNexus 10とNexus 4が同じことをすることができますが、Nexus 7は遅れています。

https://github.com/libpd/pd-for-android/wiki/Low-latency-support-for-compliant-devices

2

Androidの音の遅い待ち時間は、デバイスのサウンドバッファの長さに関係している:

そしてここでは、低レイテンシーを実現するためにオープンSLを使用してライブラリにあなたを導くでしょうもう少し技術的な議論です。

私の古いタブレット(Android 3.2、Acer ICONIAタブA500)でベンチマークしました。
1つのMIDIイベント(ノートオン)を転送するレイテンシは平均12ミリ秒でした。
私はオーディオのないアプリケーションで十分だと思います。

Javaでベンチマークを作成しました。 Android NDKを使用すると、パフォーマンスが向上します。 & anthropomoの答えをkshojiに加えて

+0

おかげで、それは私が探している情報のようなものです! 12ミリ秒ほどいいとは言えませんが、使用可能なレベルに近いです。この文脈で12ミリ秒が意味することをよりよく理解するために、あなたがそれを少し測定した方法を聞いてもらえますか?測定設定の大まかな説明は特に興味深いでしょう。 –

+0

私は以下のようなベンチマークプログラムを書いた。 1. USB MIDIケーブルを使用して、MacからAndroidにMIDIパケットを送信します。 2. AndroidはMIDIパケットを受信します。その後、Androidは直ちにMIDIをMacに送り返します。 3. MacがMIDIを受信すると、Macはその時間を記録します。 平均で24mSecを要しました。 この期間には転送方向の両方が含まれます。送受信します。 したがって、一方向のレイテンシを12mSecと評価しました。 – kshoji