OK, finalmente consegui trabalhar. O problema foi que eu misturei dsnoop para acesso múltiplo e o plug para atribuição de canal.
Então aqui está minha configuração de trabalho para recortar 8 canais em paralelo:
hw:0,0 ---> capt ---> c1
---> c2
....
e aqui está o meu .asoundrc
pcm.capt {
type dsnoop
ipc_key 223456
slave {
pcm "hw:0,0"
rate 8000
period_time 0
period_size 320
channels 12
format S32_LE
}
}
pcm.c1 {
type plug
ttable.0.0 1
slave.pcm capt
}
pcm.c2 {
type plug
ttable.0.1 1
slave.pcm capt
}
pcm.c3 {
type plug
ttable.0.2 1
slave.pcm capt
}
pcm.c4 {
type plug
ttable.0.3 1
slave.pcm capt
}
pcm.c5 {
type plug
ttable.0.4 1
slave.pcm capt
}
pcm.c6 {
type plug
ttable.0.5 1
slave.pcm capt
}
pcm.c7 {
type plug
ttable.0.6 1
slave.pcm capt
}
pcm.c8 {
type plug
ttable.0.7 1
slave.pcm capt
}