[Armadillo:09174] Re: Armadillo800EVAでの音声ストリーミング再生がすぐに止まります
Takeshi Inoue
email@hidden
2013年 9月 5日 (木) 21:35:13 JST
本件ですが、Armadillo500で実績があるらしい
USBオーディオデバイス、PLANEX PL-US35APを
試しに使用してみたところ、問題なく再生出来ました。
ただし、aplayではかなり雑音が交じる状況です
(おそらくバッファパラメータ調整が必要なのでしょう)。
その代わりに、PluseAudioレイヤーの
pactl load-module module-loopback source=<BT device> sink=<USB audio>
で再生を開始すると、音質も問題なく、レーテンシーも1秒を大幅に切る程度と良好です。
とりあえずこれで凌ぐこととします。
ありがとうございました。
2013年9月4日 15:48 Takeshi Inoue <email@hidden>:
> 中井さんありがとうございます。
>
> gstreamer経由ですと
>
> gst-launch -v pulsesrc device=bluez_source.XXXX !
> audio/x-raw-int,channels=2,width=16 ! alsasink
>
> などのコマンドで一瞬なる程度で、parec + aplay に比べるとbuffer-size指定以前に
> 不安定な状況です。
> (ソースにaudiotestsrc指定時は正常)
> latency-time,buffer-timeを追加すると、確かにオプションは効いているようですが
> 全く音が鳴らなくなりました。pulsesinkもダメです。
>
>>aplayで--buffer-sizeや
>>--buffer-timeなどを設定したとしても、
>>正しく該当パラメータが変更されていないようでした。
>
> -vをつけて確認してみましたが、aplay file.wav の形ですと、buffer-size(maxは32768の模様),period-sizeともに
> 指定値が反映されているのですが、parec | aplay とパイプでつなげたときは
> オプション設定は無視されるようです。
>
> 時間をみつけて、aplay.cを見てみます。
>
> 井上
>
> 2013年9月4日 13:37 nakai <email@hidden>:
>> 中井です。
>>
>> 少し調査していましたが、aplayで--buffer-sizeや
>> --buffer-timeなどを設定したとしても、
>> 正しく該当パラメータが変更されていないようでした。
>> (aplayに-vオプションをつけると、設定されるパラメータが参照可能です)
>>
>>
>> そこでaplayではなく、gstreamerを使用するとうまくいったりしないでしょうか?
>> アンダーランが発生するような状況の場合に、
>> 次のようにすると若干改善するようです。
>>
>> cat sample.wav | gst-launch fdsrc fd=0 ! wavparse ! alsasink latency-time=20000 buffer-time=400000
>>
>> parec --device="bt device name" | gst-launch fdsrc fd=0 ! wavparse ! alsasink latency-time=20000 buffer-time=400000
>> ※ wavparseでよいのか分かりません。
>> pulsesrcを利用する方がよいかもしれません。
>> gst-launch pulsesrc device=DEVICE ! audioconvert ! audioresample ! alsasink latency-time=20000 buffer-time=400000
>>
>>
>> (2013年08月29日 14:53), Takeshi Inoue wrote:
>>>> --buffer-time=2000000 や -buffer-size=20
>>>
>>> --buffer-size=20は不適切でした。
>>> 中村さんのコメントも合わせて、 --buffer-size=65536 --period-size=2048 など
>>> 試してみましたが、状況は特に変わらず、途中でエラー終了します。
>>>
>>> 井上
>>>
>>> 2013年8月29日 14:14 Takeshi Inoue <email@hidden>:
>>>> nakaiさん、コメントありがとうございます。
>>>>
>>>> --buffer-time=2000000 や -buffer-size=20
>>>> などを試してみましたが、音が止まる状況は変わりません。
>>>> (ただし、buffer-sizeを指定すると、実行開始から継続して
>>>> underrun!!!の表示は出ます)。
>>>>
>>>> そもそも、--buffer-time=2000000 をすると
>>>> aplayで2秒分バッファリングしてから再生開始という
>>>> 動作を期待できると思うんですが、コマンド実行後
>>>> 即再生が始まります。
>>>>
>>>> なお、-start-time=1000000 なども試してみましたが
>>>> カーネルパニックして以下の様なログが出ました。
>>>> SH4周りも絡んでるとなると厳しいですね…
>>>>
>>
>> _______________________________________________
>> armadillo mailing list
>> email@hidden
>> http://lists.atmark-techno.com/cgi-bin/mailman/listinfo/armadillo
armadillo メーリングリストの案内