Dies ist eine alte Version des Dokuments!
Ich hab vor kurzem angefangen mir zu überlegen wie ich den Hardware Zoo bei mir reduzieren kann und möglichst viel über Linux Audio realisieren kann. Es war für mich sehr überraschend was da heute schon mit freier Software geht, nämlich fast alles.
Wichtig sind folgende Änderungen am System/OS:
Zuerst muss der Benutzeraccount mit dem man später arbeiten will zu der Gruppe „audio“ hinzugefügt werden:
sudo useradd -G audio BENUTZERACCOUNT
Die Anwendung Muse und auch Hydrogen brauchen spezielle Einstellungen um Hauptspeicher/RAM zu reservieren und das ohne Begrenzung. In meinem System war dieser Parameter auf 8192GB gesetzt:
~> ulimit -l 8192
Dieser muss auf „unlimited gesetzt werden. Dazu muss die Datei /etc/security/limits.conf angepasst werden. Folgende Zeilen werden ergänzt:
@audio - rtprio 99 @audio - memlock unlimited
Die Gruppe „audio“ wird berechtigt „unlimited“ RAM zu reservieren.
| Software | Nutzen | |
|---|---|---|
| Guitarix | Gitarren-Syntheziser | |
| Hydrogen | Drum-Sequencer | |
| Ardour | Recording, Sequencer | |
| Muse | Recording, Sequencer | |
| LinuxSampler | Cubase Alternative, Sequencer |
| Software | Nutzen | Ersatz für |
|---|---|---|
| qpwgraph | Grafisches Tool um Pipewire „Verkabelung“ zu erstellen | |
| wpctl | Kommandozeilen Tool zur Pipewire Verkabelung/Volume etc | „wbctl status“, „wpctl inspect nnn“ |
| yabridge | Tool zum Bereitstellen von VST3 Windows Plugins | |
| lv2-zam-plugins | Multi Effekt Plugin | |
| lv2-HarmonicExciter | Fügt Oberwellen hinzu | Behringer Harmonizer |
| LSP Plugins | ||
| calf | Sammlung von Plugins, Kompressor, Dynamic Tools | Behringer Composer |
| asunder | Rippen von Audio CDs mit Samples | |
Als Backend für den Sound und die „Verkabelung“ benutze ich pipewire mit dem pipewire-jack Paket.
Auf der grafischer Oberfläche „qjackctl“ starten und dann auf den „Starten“ Button klicken, dies startet den Jack Server den Guitarix braucht.
Zuerst im Jack Server die Ein- und Ausgabeports konfigurieren sonst startet zum Beispiel Hydrogen kann aber nicht bedient werden und nur durch „kill“ beendet werden.
Pipewire als Verbindungschicht zwischen alsa (als untereste Hardwarebasis) und Jack ist besser als Pulseaudio also lohnt es sich darauf zu wechseln. Um festzustellen ob pulseaudio oder pipewire benutzt werden kann folgermassen vorgegangen werden:
Wichtig hier ist das die Reihenfolge der Audiokarten als Karte 0, Karte 1 usw. sich mit jedem Neustart ändern kann. Darauf kann man sich also nicht verlassen. Zum Beispiel war „Lambda (Lexicon Lambda)“ nach dem ersten Aanschliessen per USB „Karte 5“ nach einem Neustart aber „Karte 0“. Also keine Angst wenn es so aussieht als wenn auf einmal eine Karte verschwunden wäre…
Midi-Eingänge
->aconnect -i
client 0: 'System' [type=Kernel]
0 'Timer '
1 'Announce '
client 14: 'Midi Through' [type=Kernel]
0 'Midi Through Port-0
Midi-Ausgänge
-> aconnect -o
client 14: 'Midi Through' [type=Kernel]
0 'Midi Through Port-0
Audio-Ausgänge
->aplay -l **** Liste der Hardware-Geräte (PLAYBACK) **** Karte 1: Mic [Samson Meteor Mic], Gerät 0: USB Audio [USB Audio] Sub-Geräte: 1/1 Sub-Gerät #0: subdevice #0 Karte 2: HDMI [HDA ATI HDMI], Gerät 3: HDMI 0 [HDMI 0] Sub-Geräte: 1/1 Sub-Gerät #0: subdevice #0 Karte 2: HDMI [HDA ATI HDMI], Gerät 7: HDMI 1 [HDMI 1] Sub-Geräte: 1/1 Sub-Gerät #0: subdevice #0 Karte 2: HDMI [HDA ATI HDMI], Gerät 8: HDMI 2 [HDMI 2] Sub-Geräte: 1/1 Sub-Gerät #0: subdevice #0 Karte 2: HDMI [HDA ATI HDMI], Gerät 9: HDMI 3 [SMT27A300] Sub-Geräte: 1/1 Sub-Gerät #0: subdevice #0 Karte 2: HDMI [HDA ATI HDMI], Gerät 10: HDMI 4 [PL2783Q] Sub-Geräte: 1/1 Sub-Gerät #0: subdevice #0 Karte 2: HDMI [HDA ATI HDMI], Gerät 11: HDMI 5 [PL2760Q] Sub-Geräte: 1/1 Sub-Gerät #0: subdevice #0 Karte 3: Generic [HD-Audio Generic], Gerät 0: ALC1220 Analog [ALC1220 Analog] Sub-Geräte: 1/1 Sub-Gerät #0: subdevice #0 Karte 3: Generic [HD-Audio Generic], Gerät 1: ALC1220 Digital [ALC1220 Digital] Sub-Geräte: 1/1 Sub-Gerät #0: subdevice #0
Audio-Eingänge
~> arecord -l **** Liste der Hardware-Geräte (CAPTURE) **** Karte 0: U0x46d0x821 [USB Device 0x46d:0x821], Gerät 0: USB Audio [USB Audio] Sub-Geräte: 0/1 Sub-Gerät #0: subdevice #0 Karte 1: Mic [Samson Meteor Mic], Gerät 0: USB Audio [USB Audio] Sub-Geräte: 1/1 Sub-Gerät #0: subdevice #0 Karte 3: Generic [HD-Audio Generic], Gerät 0: ALC1220 Analog [ALC1220 Analog] Sub-Geräte: 1/1 Sub-Gerät #0: subdevice #0 Karte 3: Generic [HD-Audio Generic], Gerät 2: ALC1220 Alt Analog [ALC1220 Alt Analog] Sub-Geräte: 1/1 Sub-Gerät #0: subdevice #0
Ports anzeigen die Jack kennt/benutzen Kann:
~> jack_lsp Cannot lock down 86611866 byte memory area (Cannot allocate memory) system:capture_1 system:capture_2
->aplay -l **** Liste der Hardware-Geräte (PLAYBACK) **** . . Karte 4: AUDIO [BOMGE AUDIO], Gerät 0: USB Audio [USB Audio] Sub-Geräte: 1/1 Sub-Gerät #0: subdevice #0
->arecord -l **** Liste der Hardware-Geräte (CAPTURE) **** . . Karte 4: AUDIO [BOMGE AUDIO], Gerät 0: USB Audio [USB Audio] Sub-Geräte: 1/1 Sub-Gerät #0: subdevice #0
->aplay -l . . Karte 5: Lambda [Lexicon Lambda], Gerät 0: USB Audio [USB Audio] Sub-Geräte: 1/1 Sub-Gerät #0: subdevice #0
->arecord -l . . Karte 5: Lambda [Lexicon Lambda], Gerät 0: USB Audio [USB Audio] Sub-Geräte: 1/1 Sub-Gerät #0: subdevice #0