У меня есть рабочий вывод PCM с хорошим звуковым звуком на вычислительном модуле Raspberry Pi (Linux) с использованием rpi dac. Вывод команды "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
Чтобы заставить аудио работать вообще, мне пришлось изменить файл /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 мм гнезде на обычном Pi:
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 как усиление. Как я могу это сделать? Спасибо.