RasPi Audio

Aus TippvomTibb
Zur Navigation springen Zur Suche springen

Der Raspberry Pi als Audio Zuspieler. Dabei habe ich folgendes im Auge:

  • RasPi als Internetradio (Vielleicht sogar Batterie betrieben, mal schauen)
  • PulseAudio CLient
  • Steuerung Aktivlautsprecher

Im Wesentlichen unterscheiden sich die Aufgaben nur in drei zu betrachtenden Teilbereichen.

  • Wie gelangen die (Audio-)Daten in den RasPi?
  • Wie gelangen die Audiodaten zu den Lautsprechern?
  • Wie kann man die beteiligten Audiokomponenten steuern?

Hier sammele ich alles was mir bei meinen Test begegnet ist.

Angefangen hat alles mit alsa-info. Um mir mal einen Überblick zu verschaffen. Und bevor ich mit pulseaudio weitermache, erst mal sicherstellen, dass bei alsa alles in Ordnung ist.

pi@raspi3B:~ $ alsa-info 
ALSA Information Script v 0.4.64
--------------------------------

This script visits the following commands/files to collect diagnostic
information about your ALSA installation and sound related hardware.

  dmesg
  lspci
  lsmod
  aplay
  amixer
  alsactl
  /proc/asound/
  /sys/class/sound/
  ~/.asoundrc (etc.)

See '/usr/sbin/alsa-info --help' for command line options.

pcilib: Cannot open /proc/bus/pci
lspci: Cannot find any working access method.
cat: /tmp/alsa-info.CQsDCvmMsd/acpidevicestatus.tmp: No such file or directory
pcilib: Cannot open /proc/bus/pci
lspci: Cannot find any working access method.
Newer version detected: 0.4.65
To view the ChangeLog, please visit http://www.alsa-project.org/alsa-info.sh.changelog
ALSA-Info script has been downloaded /tmp/alsa-info.JgSNksB4aP.
Please, re-run it from new location.

locate ist schon installiert. Gut.

updatedb
locate .wav
/usr/share/sounds/alsa/Front_Center.wav
/usr/share/sounds/alsa/Front_Left.wav
/usr/share/sounds/alsa/Front_Right.wav
/usr/share/sounds/alsa/Noise.wav
/usr/share/sounds/alsa/Rear_Center.wav
/usr/share/sounds/alsa/Rear_Left.wav
/usr/share/sounds/alsa/Rear_Right.wav
/usr/share/sounds/alsa/Side_Left.wav
/usr/share/sounds/alsa/Side_Right.wav

Files mit deren Hilfe man sich einen Eindruck über die Konfiguration verschaffen kann, von denen aber keine einzige im System angelegt ist.

                       "/etc/alsa/conf.d"
                       "/etc/asound.conf"
                       "~/.asoundrc"

Es gibt nur /usr/share/alsa/alsa.conf.

pi@raspi3B:~ $ cat /proc/asound/cards 
0 [ALSA           ]: bcm2835_alsa - bcm2835 ALSA
                     bcm2835 ALSA
pi@raspi3B:~ $ amixer -c 0 info
Card hw:0 'ALSA'/'bcm2835 ALSA'
 Mixer name    : 'Broadcom Mixer'
 Components    : 
 Controls      : 5
 Simple ctrls  : 1
pi@raspi3B:~ $ amixer -c 0 scontrols
Simple mixer control 'PCM',0
pi@raspi3B:~ $ amixer -c 0 controls
numid=3,iface=MIXER,name='PCM Playback Route'
numid=2,iface=MIXER,name='PCM Playback Switch'
numid=1,iface=MIXER,name='PCM Playback Volume'
numid=5,iface=PCM,name='IEC958 Playback Con Mask'
numid=4,iface=PCM,name='IEC958 Playback Default'
pi@raspi3B:~ $ amixer -c 0 sget PCM
Simple mixer control 'PCM',0
 Capabilities: pvolume pvolume-joined pswitch pswitch-joined
 Playback channels: Mono
 Limits: Playback -10239 - 400
 Mono: Playback -76 [96%] [-0.76dB] [on]

pi@raspi3B:~ $ amixer -c 0 cget numid=1 numid=1,iface=MIXER,name='PCM Playback Volume'

 ; type=INTEGER,access=rw---R--,values=1,min=-10239,max=400,step=0
 : values=-76
 | dBscale-min=-102.39dB,step=0.01dB,mute=1

pi@raspi3B:~ $ amixer -c 0 cget numid=2 numid=2,iface=MIXER,name='PCM Playback Switch'

 ; type=BOOLEAN,access=rw------,values=1
 : values=on

pi@raspi3B:~ $ amixer -c 0 cget numid=3 numid=3,iface=MIXER,name='PCM Playback Route'

 ; type=INTEGER,access=rw------,values=1,min=0,max=3,step=0
 : values=1

pi@raspi3B:~ $ amixer -c 0 cget numid=4 numid=4,iface=PCM,name='IEC958 Playback Default'

 ; type=IEC958,access=rw------,values=1
 : values=[AES0=0x00 AES1=0x00 AES2=0x00 AES3=0x00]

pi@raspi3B:~ $ amixer -c 0 cget numid=5 numid=5,iface=PCM,name='IEC958 Playback Con Mask'

 ; type=IEC958,access=r-------,values=1
 : values=[AES0=0x02 AES1=0x00 AES2=0x00 AES3=0x00]


Files mit nützlichen Informationen:

  • /proc/asound/version
  • /proc/asound/cards
  • /proc/asound/devices
  • /proc/asound/timers
  • /proc/asound/pcm