Benutzer-Werkzeuge

Webseiten-Werkzeuge


projekte:linux:studio:start

Dies ist eine alte Version des Dokuments!


Linux Musik Studio

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.

Linux System

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

Instrumente und Recording

Software Nutzen
Guitarix Gitarren-Syntheziser
Hydrogen Drum-Sequencer
Ardour Cubase Alternative, Sequencer
LinuxSampler Cubase Alternative, Sequencer

Tools

Software Nutzen
qpwgraph Grafisches Tool um Pipewire „Verkabelung“ zu erstellen
wpctl Kommandozeilen Tool zur Pipewire Verkabelung/Volume etc „wbctl status“, „wpctl inspect nnn“

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.

Alsa versus Pipewire

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:

  • systemctl –user status pipewire (Unbedingt als Audio Benutzer und nicht als root ausführen). Falls das aktiv anzeigt oder running läuft pipewire
  • pactl info | grep -i server. Hier bekommt man den zur Zeit aktiven Soundserver angezeigt also entweder „pulseaudio“ oder pipewire“
  • systemctl –user status pulseaudio. Falls aktiv/running wird noch das klassische pulseaudio verwendet.
  • aplay /usr/share/sounds/alsa/Front_Center.wav. Falls eine Tonausgabe erfolgt wird also direkt und nicht über pulseaudio/pipewire benutzt, ansonsten gibt es eine Fehlermeldung (busy/Device in use).
  • sudo zypper install pipewire pipewire-pulseaudio pipewire-jack pipewire-alsa. Erstzen von pulseaudio durch die entsprechenden Komponenten von pipewire.
  • systemctl –user disable –now pulseaudio
  • systemctl –user mask pulseaudio
  • systemctl –user enable –now pipewire pipewire-pulse
  • systemctl –user enable –now wireplumber
  • Neu anmelden oder Reboot
  • pactl info | grep -i server. Hier sollte jetzt „PulseAudio (on Pipewire)“ erscheinen
  • pw-top (Jack Latenz anzeigen)

Midi- und Audioports

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…

Rohes System

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

Bomge BMG-22S

->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

Digitech Lexicon Lambda

->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
projekte/linux/studio/start.1787042567.txt.gz · Zuletzt geändert: 2026/08/18 10:42 von admin