Airplayソース(Shairport-syncを使用)からPuredataにオーディオ信号をルーティングしようとしています。このために、Alsaでループバックデバイスを作成しました。次に、この仮想デバイスを次のようにShaiportの出力に設定します(hw:2はループバックデバイスです)。
shairplay-sync -a -Airplay -- -d hw:2
ただし、ループバックデバイスをPuredataへの入力に設定しようとすると、次のメッセージが表示されます。
audio I/O stuck... closing audio
この問題が私の.asoundrcファイルで発生するかどうか疑問に思います。ここにいる:
# playback PCM device: using loopback subdevice 0,0
pcm.amix {
type dmix
ipc_key 219345
slave {
pcm "hw:Loopback,0,0"
period_size 1024
buffer_size 2048
rate 44100
}
}
# capture PCM device: using loopback subdevice 0,1
pcm.asnoop {
type dsnoop
ipc_key 219346
slave.pcm "hw:Loopback,0,1"
}
# duplex device combining our PCM devices defined above
pcm.aduplex {
type asym
playback.pcm "amix"
capture.pcm "asnoop"
}
# ------------------------------------------------------
# for jack alsa_in and alsa_out: looped-back signal at other ends
pcm.ploop {
type plug
slave.pcm "hw:Loopback,1,1"
}
pcm.cloop {
type dsnoop
ipc_key 219348
slave {
pcm "hw:Loopback,1,0"
period_size 1024
buffer_size 2048
rate 44100
}
}
# ------------------------------------------------------
# default device
pcm.!default {
type plug
slave.pcm "aduplex"
}
書式設定やその他の項目を追加する必要がありますか?
ちなみに、ループバックデバイスはジャックオーディオとうまく機能します。それも純粋なデータだ。 Jackがリソースを使いすぎているようで、使いたくありません。 (Jack、Puredata、およびループバックデバイスを連携させることはできず、毎回クラッシュします...)
ご協力ありがとうございます!
答え1
ちなみに、Shairport SyncはALSAループバックデバイスなしでオーディオソースを直接提供できるようになりました。オーディオをパイプまたは標準出力に出力するようにコンパイルできます。