개별 채널 녹화를 위한 ALSA 구성

개별 채널 녹화를 위한 ALSA 구성

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
}

제안해주세요.

관련 정보