Как настроить ALSA в Ubuntu 16.04 для Macbook и Matlab?
Ситуация: невозможно настроить ALSA в Ubuntu 16.04 для Matlab 2016a
Характеристики системы
/proc/asound/cards
0 [HDMI ]: HDA-Intel - HDA Intel HDMI HDA Intel HDMI at 0xb0a10000 irq 54 1 [PCH ]: HDA-Intel - HDA Intel PCH HDA Intel PCH at 0xb0a14000 irq 53
/usr/share/alsa/also.conf
нашел здесь, где я попытался следующее в конце файла безуспешно, потому что я думаю,device 1
мой звук вещь (PCH)pcm.!default { type hw card 0 device 1 }
Тестовый код в Matlab
soundsc(230)
ошибки
ALSA lib pcm_dsnoop.c:606:(snd_pcm_dsnoop_open) unable to open slave
ALSA lib pcm_dmix.c:1029:(snd_pcm_dmix_open) unable to open slave
ALSA lib pcm.c:2266:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.rear
ALSA lib pcm.c:2266:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.center_lfe
ALSA lib pcm.c:2266:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.side
ALSA lib pcm_dmix.c:1029:(snd_pcm_dmix_open) unable to open slave
Ручное предложение
Я нашел одно возможное предложение в сообщениях в блогах PyAudio, PortAudio и ALSA, в которых говорится:
- удалить строку
pcm.rear cards.pcm.rear
в/usr/share/alsa/alsa.conf
, - Есть
snd_lib_error_set_handler()
изalsa-lib
установить новый обработчик ошибок вместо используемого по умолчанию; Как это сделать?
Неудачная попытка, следуя совету Monkeyman_stones
Я следую инструкциям для более старого Macbook Air, который по-прежнему использует тот же / аналогичный звуковой чип в википейсе MacBookAir3-2 / Meerkat> Sound. Я делаю неудачно
- Терминал,
sudo vim /etc/modprobe.d/alsa-base.conf
и добавьте строкуoptions snd-hda-intel model=mba31
в конец файла. - Терминал,
alsamixer
и используйте клавиши со стрелками для выбора Front Speaker (тестированиеS/PDIF
,S/PDIF 1
а такжеS/PDIF 2
) и нажмитеm
и последнийESC
, Готово! - Вывод: те же предупреждения, что и раньше, после запуска любого кода в приглашении Matlab. После перезагрузки система забывает все изменения в
alsamixer
, Я пробовал также сsudo alsamixer
, Как вы можете сделать эти изменения постоянными?
Мой полный /etc/modprobe.d/alsa-base.conf
после изменения, и вы не можете увидеть там дубликаты snd-hda-intel
только один раз, который, кажется, не влияет alsamixer
совсем
install sound-slot-0 /sbin/modprobe snd-card-0
install sound-slot-1 /sbin/modprobe snd-card-1
install sound-slot-2 /sbin/modprobe snd-card-2
install sound-slot-3 /sbin/modprobe snd-card-3
install sound-slot-4 /sbin/modprobe snd-card-4
install sound-slot-5 /sbin/modprobe snd-card-5
install sound-slot-6 /sbin/modprobe snd-card-6
install sound-slot-7 /sbin/modprobe snd-card-7
# Cause optional modules to be loaded above generic modules
install snd /sbin/modprobe --ignore-install snd $CMDLINE_OPTS && { /sbin/modprobe --quiet --use-blacklist snd-ioctl32 ; /sbin/modprobe --quiet --use-blacklist snd-seq ; }
#
# Workaround at bug #499695 (reverted in Ubuntu see LP #319505)
install snd-pcm /sbin/modprobe --ignore-install snd-pcm $CMDLINE_OPTS && { /sbin/modprobe --quiet --use-blacklist snd-pcm-oss ; : ; }
install snd-mixer /sbin/modprobe --ignore-install snd-mixer $CMDLINE_OPTS && { /sbin/modprobe --quiet --use-blacklist snd-mixer-oss ; : ; }
install snd-seq /sbin/modprobe --ignore-install snd-seq $CMDLINE_OPTS && { /sbin/modprobe --quiet --use-blacklist snd-seq-midi ; /sbin/modprobe --quiet --use-blacklist snd-seq-oss ; : ; }
#
install snd-rawmidi /sbin/modprobe --ignore-install snd-rawmidi $CMDLINE_OPTS && { /sbin/modprobe --quiet --use-blacklist snd-seq-midi ; : ; }
# Cause optional modules to be loaded above sound card driver modules
install snd-emu10k1 /sbin/modprobe --ignore-install snd-emu10k1 $CMDLINE_OPTS && { /sbin/modprobe --quiet --use-blacklist snd-emu10k1-synth ; }
install snd-via82xx /sbin/modprobe --ignore-install snd-via82xx $CMDLINE_OPTS && { /sbin/modprobe --quiet --use-blacklist snd-seq ; }
# Load saa7134-alsa instead of saa7134 (which gets dragged in by it anyway)
install saa7134 /sbin/modprobe --ignore-install saa7134 $CMDLINE_OPTS && { /sbin/modprobe --quiet --use-blacklist saa7134-alsa ; : ; }
# Prevent abnormal drivers from grabbing index 0
options bt87x index=-2
options cx88_alsa index=-2
options saa7134-alsa index=-2
options snd-atiixp-modem index=-2
options snd-intel8x0m index=-2
options snd-via82xx-modem index=-2
options snd-usb-audio index=-2
options snd-usb-caiaq index=-2
options snd-usb-ua101 index=-2
options snd-usb-us122l index=-2
options snd-usb-usx2y index=-2
# Ubuntu #62691, enable MPU for snd-cmipci
options snd-cmipci mpu_port=0x330 fm_port=0x388
# Keep snd-pcsp from being loaded as first soundcard
options snd-pcsp index=-2
# Keep snd-usb-audio from beeing loaded as first soundcard
options snd-usb-audio index=-2
# https://help.ubuntu.com/community/MacBookAir3-2/Meerkat
# Start up a terminal, run alsamixer and use arrow keys to select Front Speaker and press m, then all is good sound-wise.
# TODO this is not affecting `alxamixer` at all; restart restores the defaults. Why?
options snd-hda-intel model=mba31
Система: Linux Ubuntu 16.04 64 бит
Ядро Linux: 4.6
Параметры ядра Linux: wl
Аппаратное обеспечение: Macbook Air 2013-mid
Matlab: 2016a
Официальные документы Matlab о звуках в Linux: ALSA Audio Playback
Связанные темы: Нет звука с HDA Intel PCH, проблемы Alsa с python2.7- Невозможно открыть ведомое устройство, почему ALSA lib не работает в Ubuntu?
2 ответа
Эти сообщения об ошибках вызваны вызовами функции audiodevinfo()
сделано в sound/soundsc/audioplayer/audiorecorder
, Они безвредны, разработанные MathWorks в своем приложении. Я не люблю такой дизайн сам. Связанные: здесь, где билет и некоторые ответы службы поддержки.
Хотя это говорит о том, что оно предназначено для Ubuntu Meerkat (10.10), настройки Alsa-base.conf практически не изменились, поэтому направления остаются верными: направления Ubuntu для звука из ранних версий Macbook Air
Поскольку он использует тип звуковой карты HDA Intel, требуются изменения, специфичные для параметров звуковой карты вашего устройства в /etc/modprobe.d/alsa-base.conf.