2015-09-10 37 views
19

我使用rpi dac在Raspberry Pi計算模塊(Linux)上運行良好的PCM音頻。該「aplay -l」命令的輸出顯示以下內容:ALSA配置如何在asound.conf中合併MMAP仿真和Ladspa插件

>> aplay -l 
**** List of PLAYBACK Hardware Devices **** 
card 0: sndrpirpidac [snd_rpi_rpi_dac], device 0: RPi-DAC HiFi pcm1794a-hifi-0 [] 
Subdevices: 1/1 
Subdevice #0: subdevice #0 
card 1: ALSA [bcm2835 ALSA], device 0: bcm2835 ALSA [bcm2835 ALSA] 
Subdevices: 8/8 
Subdevice #0: subdevice #0 
Subdevice #1: subdevice #1 
Subdevice #2: subdevice #2 
Subdevice #3: subdevice #3 
Subdevice #4: subdevice #4 
Subdevice #5: subdevice #5 
Subdevice #6: subdevice #6 
Subdevice #7: subdevice #7 
card 1: ALSA [bcm2835 ALSA], device 1: bcm2835 ALSA [bcm2835 IEC958/HDMI] 
Subdevices: 1/1 
Subdevice #0: subdevice #0 

爲了讓聲音在所有的工作,我不得不改變我/etc/asound.conf文件,如下所示:

pcm.mmap0 { 
    type mmap_emul 
    slave { 
    pcm "hw:0,0" 
    } 
} 

pcm.!default { 
    type plug 
    slave { 
    pcm mmap0 
    } 
} 

當我播放.wav文件時,輸出聽起來不錯,但它有點安靜,alsamixer不允許使用此驅動程序進行音量控制。

我想要得到更多的音量,所以我研究了Ladspa項目軟件放大器插件。下面的示例代碼增強對正常皮3.5毫米插孔音量:

pcm.radio { 
    type plug 
    slave.pcm "ladspa" 
    hint { 
     show on 
     description "in -> equal -> declip -> compressor -> limiter -> dmix -> out" 
    } 
} 

# LADSPA plugins: 
# "listplugins" to see the list of installed plugins 
# "analyseplugin <filename>" to see plugin controls 
# Use "ardour2" to experiment with plugin settings 
pcm.ladspa { 
    type ladspa 
    slave.pcm "plughw:0,0" 
    path "/usr/lib/ladspa" 
    plugins { 
     0 { 
     # Limiter 
      label amp 
      input { 
       controls [ 10 ] 
      } 
      } 
    } 
} 

我一直在這裏閱讀文檔:http://alsa.opensrc.org/Asoundrc,但我有了解如何結合2掙扎 - 我想要的MMAP仿真以及放大。我怎樣才能做到這一點?謝謝。

+0

你嘗試軟卷ALSA插件?似乎也放大了(有關詳細信息,請參閱http://www.alsa-project.org/alsa-doc/alsa-lib/pcm_plugins.html) –

回答

2

嘗試下設置請,就可以在我的Linux x86的工作:

pcm.mmap0 { 
    type mmap_emul 
    slave { 
     pcm "hw:0,0" 
     # pcm ladspa 
    } 
} 

pcm.ladspa { 
type ladspa 
#slave.pcm "plughw:0,0" 
slave.pcm mmap0 
path "/usr/lib/ladspa" 
plugins { 
    0 { 
    # Limiter 
     label amp 
     input { 
      controls [ 100 ] 
     } 
     } 
} 
} 

pcm.!default{ 
type plug 
slave { 
    pcm mmap0 
    #pcm ladspa 
    } 
}