Como configurar o ALSA no Ubuntu 16.04 para Macbook e Matlab?

3

Situação: incapaz de configurar o ALSA no Ubuntu 16.04 para o Matlab 2016a
Características do sistema

  • /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 encontrado aqui onde tentei o seguinte no final do arquivo sem sucesso porque acho que device 1 é minha coisa de som (PCH)

    pcm.!default {
     type hw
     card 0
     device 1
    }
    

Código de teste no Matlab

soundsc(230)

Erros

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

Proposta manual

Encontrei uma possível proposta na postagem no blog PyAudio, PortAudio e ALSA mensagens que dizem

  • remova a linha pcm.rear cards.pcm.rear em /usr/share/alsa/alsa.conf .
  • Tem snd_lib_error_set_handler() de alsa-lib para definir um novo manipulador de erros em vez de um padrão; Como fazer isso?

Tentativa malsucedida seguindo o Pedaço de Conselhos de Monkeyman_stones

Eu sigo as instruções para o antigo Macbook Air, que ainda usa o mesmo chip de som / similar na wikipage MacBookAir3-2 / Meerkat > Som . Eu faço sem sucesso

  1. Terminal, sudo vim /etc/modprobe.d/alsa-base.conf e adicione a linha options snd-hda-intel model=mba31 ao final do arquivo.
  2. Terminal, alsamixer e use as teclas de seta para selecionar Front Speaker (testando S/PDIF , S/PDIF 1 e S/PDIF 2 ) e pressione m e último ESC . Feito!
  3. Saída: os mesmos avisos de antes de executar qualquer código no prompt do Matlab. Após a reinicialização, o sistema esquece todas as alterações em alsamixer . Eu tentei também com sudo alsamixer . Como você pode tornar essas mudanças permanentes?

Meu /etc/modprobe.d/alsa-base.conf completo após a alteração e você não pode ver duplicatas de snd-hda-intel , apenas uma vez, o que não parece afetar alsamixer em tudo

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

Sistema: Linux Ubuntu 16.04 64 bit
Kernel do Linux: 4,6
Opções do kernel Linux: wl
Equipamento: Macbook Air 2013-mid
Matlab: 2016a
Documentos oficiais do Matlab sobre sons no Linux: Reprodução de áudio ALSA
Tópicos Relacionados: Não há som com HDA Intel PCH , Alsa problemas com python2.7- Não é possível abrir o escravo , Por que o ALSA lib não está funcionando no Ubuntu?

    
por Léo Léopold Hertz 준영 18.07.2016 / 18:17

2 respostas

0

Essas mensagens de erro são causadas pelas chamadas da função audiodevinfo() feita por sound/soundsc/audioplayer/audiorecorder . Eles são inofensivos, criados pelo MathWorks em sua aplicação. Eu não gosto de um projeto como esse. Relacionado: aqui onde o ticket e algumas respostas do serviço de suporte.

    
por Léo Léopold Hertz 준영 08.09.2016 / 20:58
1

Embora isso indique que ele é voltado para o Ubuntu Meerkat (10.10), as configurações do Alsa-base.conf não mudaram muito, portanto, as direções ainda são boas: Instruções do Ubuntu para som desde o início do Macbook Air

Como ele usa um tipo de placa de som Intel HDA, são necessárias alterações específicas nas configurações da placa de som do seu dispositivo em /etc/modprobe.d/alsa-base.conf.

    
por monkeyman_stones 28.07.2016 / 04:00