我使用rpi dac在Raspberry Pi计算模块(Linux)上有一个工作良好的PCM输出,音质良好。 'aplay -l'命令输出显示如下:
>> 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
为了让audio工作,我不得不把我的/etc/asound.conf文件改成如下所示:
pcm.mmap0 { type mmap_emul slave { pcm "hw:0,0" } } pcm.!default { type plug slave { pcm mmap0 } }
当我播放.wav文件时,输出听起来很棒,但它有点安静,alsamixer不允许使用此驱动程序进行音量控制。
我想获得更多的音量,所以我研究了Ladspa项目软件放大器插件。 以下示例代码提高了正常Pi上3.5 mm插孔的音量:
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模拟以及放大。 我怎样才能做到这一点? 谢谢。
请尝试下一个设置,它可以在我的x86 linux下工作:
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 } }