published on in Tech Tips & Tricks

performous und der Audio-Kampf

Linux auf dem Desktop funktioniert ja schon länger prima, aber hier und da hakts dann eben doch mal. Eindrucksvoll illustriert auf dem 27C3, aber praktisch gestern eben auch bei mir. Performous ist eine richtig gute OpenSource-Version von Spielen von SingStar oder RockBand. Zum Spielen ist es aber sinnvoll mindestens zwei Mikros zu haben, bzw mind. zwei Soundkarten. Nachdem die Defaults versagt haben, kann die Software über die Option –mic pulse überreden die Soundeingabe von Pulseaudio zu beziehen, bei dem man auch wundervoll alles einstellen kann und die einzelnen Devices tatsächlich zur Aufnahme zu bewegen. Der Flaw scheint lediglich zu sein, dass immer nur genau ein Device aufnimmt, man also nicht zwei Mikrophone benutzen kann. Frustriert hab ich’s dann unter Windows 7 versucht, allerdings gibt’s für die Soundkarte seit XP keine Treiber mehr, also auch kein Erfolg. performous –michelp gibt einem eine Liste der möglichen Aufnahmedevices:

ALSA capture devices:
  alsa:hw:Intel,0   HDA Intel (ALC888 Analog)
  alsa:hw:Intel,1   HDA Intel (ALC888 Digital)
  alsa:hw:Intel,2   HDA Intel (ALC888 Analog)
  alsa:hw:Solo1,0   ESS ES1938 (Solo-1) (ESS Solo-1)

Allerdings lässt sich nicht so feingranular bestimmen, welche Aufnahmesettings genutzt werden sollen. Es kommt jedenfalls kein Sound rein und das Solo1-Device kann er erst gar nicht öffnen.

Interessanterweise kann man bei alsa aber die Parameter noch genauer spezifizieren. So liefert arecord -L eine Liste mit weiteren Einträgen:

dmix:CARD=Solo1,DEV=0
    ESS ES1938 (Solo-1), ESS Solo-1
    Direct sample mixing device
dsnoop:CARD=Solo1,DEV=0
    ESS ES1938 (Solo-1), ESS Solo-1
    Direct sample snooping device
hw:CARD=Solo1,DEV=0
    ESS ES1938 (Solo-1), ESS Solo-1
    Direct hardware device without any conversions
plughw:CARD=Solo1,DEV=0
    ESS ES1938 (Solo-1), ESS Solo-1
    Hardware device with all software conversions

Und tatsächlich, wenn man performous mit der Option –mic channels=1@plughw:CARD=Solo1,DEV=0 startet läuft das Mikro über die alte Terratec-Karte. Mit dem plughw Parameter läuft nach kurzem Rumprobieren nun auch das zweite Mikro über die onboard-Soundkarte. Sollte pulseaudio noch das Device belegen, hilft pasuspend, das pulseaudio überredet, die Devices kurz freizugeben, sodass performous sie hier für sich beanspruchen kann:

pasuspender -- performous --mics channels=1@alsa:plughw:CARD=Solo1,DEV=0 \
    --mics channels=1@alsa:plughw:CARD=Intel,DEV=0

Ich hoffe, dass das für den ein oder anderen der auf ähnliche Probleme stößt hilfreich war. Und nun schau ich mal, wie aufwendig das ist sich so ein Gitarren-/Schlagzeugdevice zu basteln :)