16チャンネルのTDMオーディオを提供するALSAサウンドカードがあります。特定のチャンネルのオーディオを個別に(チャンネルごとに)録音する必要があります。チャンネル1に録音しようとするたびに、オーディオにノイズが多すぎます。詳細ログには、ALSAプラグインが16チャネルすべてでデータを蓄積していることが示されています。以下のログに示すように、
Plug PCM: Route conversion PCM (sformat=S16_LE)
Transformation table:
0 <- 0*0.0625 + 1*0.0625 + 2*0.0625 + 3*0.0625 + 4*0.0625 + 5*0.0625 + 6*0.0625 + 7*0.0625 + 8*0.0625 + 9*0.0625 + 10*0.0625 + 11*0.0625 + 12*0.0625 + 13*0.0625 + 14*0.0625 + 15*0.0625
チャンネル2に録音しようとすると、ログの下に表示されますが、音声はなく、ノイズのみが発生します。
Plug PCM: Route conversion PCM (sformat=S16_LE)
Transformation table:
0 <- 0
1 <- 1
私のasound.confは次のようになります。
pcm.!default {
type asym
playback.pcm "playback"
capture.pcm "capture"
}
pcm.playback {
type plug
slave.pcm "dmixed"
}
pcm.capture {
type plug
slave.pcm "recorder"
}
pcm_slave.vrmaudio {
type hw
card 0
device 0
channels 1
rate 16000
format S16_LE
chmap [ Mono ]
}
pcm.dmixed {
type dmix
slave {
pcm "hw:0,0"
period_time 0
period_size 1024
buffer_size 4096
rate 16000
format S16_LE
}
ipc_key 555555
ipc_perm 0666
}
pcm.recorder {
type dsnoop
slave vrmaudio
ipc_key 666666
ipc_perm 0666
}
提案してください。