web-dev-qa-db-fra.com

Comment configurer ALSA dans Ubuntu 16.04 pour Macbook et Matlab?

Situation: impossible de configurer ALSA dans Ubuntu 16.04 pour Matlab 2016a
Caractéristiques du système

  • /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 trouvé ici où j'ai essayé sans succès ce qui suit à la fin du fichier parce que je pense que device 1 est mon truc sonore (PCH)

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

Code de test dans Matlab

soundsc(230)

Les erreurs

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

Proposition manuelle

J'ai trouvé une proposition possible dans l'article de blog messages PyAudio, PortAudio et ALSA qui dit

  • supprimez la ligne pcm.rear cards.pcm.rear dans /usr/share/alsa/alsa.conf.
  • Avoir snd_lib_error_set_handler() sur alsa-lib pour définir un nouveau gestionnaire d'erreurs au lieu d'un par défaut; Comment faire ça?

Tentative infructueuse en suivant le conseil de Monkeyman_stones

Je suis les instructions pour l'ancien Macbook Air qui utilise toujours la même puce son/similaire dans la page de wiki MacBookAir3-2/Meerkat> Sound . Je fais sans succès

  1. Terminal, Sudo vim /etc/modprobe.d/alsa-base.conf et ajoutez la ligne options snd-hda-intel model=mba31 à la fin du fichier.
  2. Terminal, alsamixer et utilisez les touches de direction pour sélectionner Haut-parleur avant (test S/PDIF, S/PDIF 1 et S/PDIF 2) et appuyez sur met dernier ESC. Terminé!
  3. Sortie: Mêmes avertissements qu'auparavant après l'exécution de tout code dans l'invite Matlab. Après le redémarrage, le système oublie toutes les modifications apportées dans alsamixer. J'ai aussi essayé avec Sudo alsamixer. Comment pouvez-vous rendre ces changements permanents?

Mon /etc/modprobe.d/alsa-base.conf complet après le changement et vous ne pouvez pas voir les doublons de snd-hda-intel, une seule fois, ce qui ne semble pas affecter le alsamixer du tout

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

Système: Linux Ubuntu 16.04 64 bit
Noyau Linux: 4.6
Options du noyau Linux: wl
Matériel: Macbook Air 2013-mid
Matlab: 2016a
Documentation officielle Matlab sur les sons sous Linux: Lecture audio ALSA
Discussions connexes: Pas de son avec HDA Intel PCH , Problèmes Alsa avec python2.7- Impossible d'ouvrir l'esclave , Pourquoi ALSA lib n'est pas travailler dans Ubuntu?

Ces messages d'erreur sont provoqués par les appels de la fonction audiodevinfo() effectuée par sound/soundsc/audioplayer/audiorecorder. Ils sont inoffensifs, conçus par MathWorks dans leur application. Je n'aime pas un tel design moi-même. Connexes: ici où le ticket et quelques réponses du service de support.

Bien que cela indique qu'il est ciblé pour Ubuntu Meerkat (10.10), les paramètres d'Alsa-base.conf n'ont pas beaucoup changé, de sorte que les instructions sont toujours valables: instructions fournies par Ubuntu pour le son du début du Macbook Air

Comme il utilise un type de carte son HDA Intel, des modifications spécifiques aux paramètres de la carte son de votre périphérique dans /etc/modprobe.d/alsa-base.conf sont requises.

1
monkeyman_stones