用于记录单独通道的 ALSA 配置

用于记录单独通道的 ALSA 配置

我有一个 ALSA 声卡,可提供 16 通道 TDM 音频。我需要单独在特定通道上录制音频(对于每个通道)。每当我尝试在通道 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
}

请建议。

相关内容