2010年11月6日 星期六

ALSA 使用者設定檔(Full duplex + SoftVol + SSRC)

如果你有一張類似 Onkyo SE-200PCI 這種有無法控制音量的 RCA 輸出孔,又想要在 Linux 下控制它的音量加上全雙工與 SSRC,這時候你需要的就是 ALSA 的各種 plugins。

我們可以在家目錄建立 .asoundrc 這個檔案,並且加入以下的內容:

pcm.softvol
{
 type softvol
 slave
 {
  pcm "dmix"
 }
 control
 {
  name "Master"
  card 0
 }
}

pcm.duplex {
 type asym
 playback.pcm "softvol"
 capture.pcm "dsnoop"
}

pcm.!default
{
 type plug
 slave.pcm "duplex"
}

這樣我們就可以使用 default 裝置來同時進行錄音與播放工作了。

另外如果你的音效卡支援播放 16 bits / 44100HZ 以上的格式,想讓 ALSA 混音時以較高的格式輸出的話,可以透過修改 /usr/share/alsa/alsa.conf 的內容來達成:

defaults.pcm.dmix.rate 192000
defaults.pcm.dmix.format S32_LE