staging.inyokaproject.org

Bündelung von Hardware Sound-Karten in einer virtuellen Karte

Status: Ungelöst | Ubuntu-Version: Xubuntu 19.10 (Eoan Ermine)
Antworten |

asd789

Avatar von asd789

Anmeldungsdatum:
6. April 2013

Beiträge: 52

Hallo, wie oben beschrieben würde ich gerne meine 2 angeschlossenen Audiogeräte in einer virtuellen Audiokarte zusammenfassen. Hintergrund ist, dass ich von beiden Geräten parallel aufnehmen möchte, also quasi eine Multi-Track Aufnahme. Die meisten Programme unterstützen aber leider nur eine Soundkarte zur Aufnahme, nach dem was ich bisher gelesen habe wohl aus Latenz-Gründen. Setup der virtuellen Karte plane ich so, dass für jeden Kanal der beiden physischen Karten ein virtueller Kanal zur Verfügung gestellt wird. möchte man also beide Geräte zur Aufnahme nutzen, wählt man die virtuelle Karte als Eingabegerät und dann für die entsprechenden Spuren die entsprechenden Kanäle.

Zum System: Ubuntu Studio 19.10 mit installiertem Jack-Server sowie ALSA und Pulse, die physischen Karten kommen via USB, Ausgabe erfolgt über eine der beiden physischen. Programm zur Aufnahme soll Audacity werden, da Ardour in diesem Kontext vermutlich mehr Probleme als Nutzen verursachen würde.

Hat hier irgendjemand eine Idee, wie ich das lösen kann? Es reicht eine non-permanente Lösung, da ich diese Anforderungen nur ab und zu habe.

Liebe Grüße

Asd789

Bleys

Avatar von Bleys

Anmeldungsdatum:
13. August 2006

Beiträge: 6053

1
sudo apt install paprefs

Nach der Installation PulseAudio Einstellungen öffnen → Simultane Ausgabe

asd789

(Themenstarter)
Avatar von asd789

Anmeldungsdatum:
6. April 2013

Beiträge: 52

Erstmal danke für die schnelle Antwort. Ich hab das gemacht, scheint auch geklappt zu haben. Hat nur irgendwie nix gebracht in Bezug auf das was ich vorhabe, da ich das neue virtuelle Gerät nirgendwo finde. Wie also jetzt von da aus weitermachen?

hakel

Anmeldungsdatum:
13. August 2009

Beiträge: 23336

Studio nutzt doch Jack Echtzeit), wie soll da paprefs (Pulse) helfen?

Vielleicht habe ich da was verschlafen ...!

Bleys

Avatar von Bleys

Anmeldungsdatum:
13. August 2006

Beiträge: 6053

PuleAudio stellt eine neue virtuelle Soundkarte mit dieser Funktion bereit. Ich kenne jack nicht aber eigentlich sollte diese Soundkarte dann auch unter Jack in der Auswahl sein.

Davon mal abgesehen sollte jack auch die Möglichkeit bieten mit mehreren Soundkarten zu arbeiten.

[Nachtrag]

https://chemnitzer.linux-tage.de/2018/media/programm/papers/355_Mehrspuraufnahmen_mit_Ardour_folien_ardourtalk.pdf

hakel

Anmeldungsdatum:
13. August 2009

Beiträge: 23336

https://wiki.ubuntuusers.de/JACK/

Ein Blick ins Wiki hilft auch manchmal. Jack kann auch so mehrere Soundkarten verwenden. 💡

Ich kenne jack nicht

Pulse ist etwas für Weicheier, wenn Studio dann Jack. Jack blockiert Pulse ...

Aber vielleicht ist das alles überholt! Meldet sich bestimmt noch ein Pro.

asd789

(Themenstarter)
Avatar von asd789

Anmeldungsdatum:
6. April 2013

Beiträge: 52

Mein Problem ist halt momentan, dass man Ardour beim starten eine Karte mitgeben muss, mit der (intern) Jack gestartet wird. Anschließend laufen dann alle Ein- und Ausgaben für Audio über diese Karte. Bei MIDI kann man da ein bisschen was drehen, wenn ich das richtig weiß, aber für reine Audio-Daten hab ich das bisher noch nicht gefunden. Das heißt nicht, dass es nicht geht, ich war nur vermutlich bisher zu doof dafür. Audacity scheint Jack nicht zu mögen, oder ich kann es wieder nicht richtig bedienen, jedenfalls tauchen die virtuellen Ein- und Ausgänge von Audacity bei Jack-Anwendungen nirgendwo auf, sodass man die mit irgendwas verbinden könnte. In Sachen Audio tun das die Soundkarten übrigens auch nicht. Pulse ist meistens für das normale Audiorouting ausreichend, da kann man auch recht simpel auswählen, welche Application welchen Audiostream (aka. Soundkarte) nutzen soll. Ich hab auch schon eine virtuelle Soundkarte erstellt, allerdings hab ich die Eingabesignale von den physischen Karten nicht dahin umgeleitet bekommen. Das kann aber eigentlich nicht so kompliziert sein, oder doch?

Silentbob

Avatar von Silentbob

Anmeldungsdatum:
7. August 2007

Beiträge: 287

Der virtuelle Kanal der simultanen Ausgabe war bei mir nach der Installation immer erst nach einem Systemneustart vorhanden. Vielleicht ist das bei Dir ja auch der Fall. Du könntest dann beide Ausgaben in pavucontrol (<-einfach ins Terminal eingeben) auf diesen Kanal legen und diesen dann aufnehmen.

pepre Team-Icon

Supporter
Avatar von pepre

Anmeldungsdatum:
31. Oktober 2005

Beiträge: 6450

asd789 schrieb:

Mein Problem ist halt momentan, dass man Ardour beim starten eine Karte mitgeben muss, mit der (intern) Jack gestartet wird.

Ja, das ist die Hauptkarte, sozusagen der "Taktgeber".

Via JACK (Abschnitt „Mehrere-Soundkarten-gleichzeitig-verwenden“) kannst du dann weitere Soundkarten in jack einklinken. ZB mit qjackctl, aber Ardour sollte die Kanäle ebenfalls in der internen Patchbay anzeigen. Du wirst halt mit hohen Latenzen arbeiten müssen, damit die Puffer nicht leerlaufen.

asd789

(Themenstarter)
Avatar von asd789

Anmeldungsdatum:
6. April 2013

Beiträge: 52

Silentbob schrieb:

Der virtuelle Kanal der simultanen Ausgabe war bei mir nach der Installation immer erst nach einem Systemneustart vorhanden. Vielleicht ist das bei Dir ja auch der Fall. Du könntest dann beide Ausgaben in pavucontrol (<-einfach ins Terminal eingeben) auf diesen Kanal legen und diesen dann aufnehmen.

Leider mag Ardour Pavucontrol nicht, d.h. die beiden arbeiten nicht zusammen, man kann nicht ohne weiteres das eine mit dem anderen steuern.

pepre schrieb:

asd789 schrieb:

Mein Problem ist halt momentan, dass man Ardour beim starten eine Karte mitgeben muss, mit der (intern) Jack gestartet wird.

Ja, das ist die Hauptkarte, sozusagen der "Taktgeber".

Via JACK (Abschnitt „Mehrere-Soundkarten-gleichzeitig-verwenden“) kannst du dann weitere Soundkarten in jack einklinken. ZB mit qjackctl, aber Ardour sollte die Kanäle ebenfalls in der internen Patchbay anzeigen. Du wirst halt mit hohen Latenzen arbeiten müssen, damit die Puffer nicht leerlaufen.

Hab das gerade mal probiert, hab mein Audio-Interface und meinen mobilen Recorder angeschlossen, und bei Ardour das Interface als Basis gewählt. Ich komme aber nicht an die Eingänge ran, die mir der Recorder liefert. Sowohl Ardour als auch qJackCtl bieten exakt zwei Audio-Eingänge an, obwohl es bei zwei Stereo-Geräten 4 sein sollten. Die beiden verfügbaren Eingänge oder Kanäle sind die vom Interface, einmal links und einmal rechts. Die Eingänge der internen Karten sind auch nicht zu finden. Bei MIDI scheint das kein Problem zu sein, da funktioniert das Routing ganz gut (vorausgesetzt, die Eingabegeräte sind Jack-fähig, mit a2jmidid wird das schon wieder unschön). Ausgabe-Kanäle hab ich übrigens interessanterweise aber 4, vermutlich weil mein Interface mehr als 2 Ausgänge hat. Die pulseAudio JackSink macht auch nicht was sie soll, von beiden Geräten kommt eine Eingabe, pavucontrol kriegt die auch noch, aber bei Ardour kommt nix mehr an an. Ist irgendwie ein bisschen frustrierend gerade.

pepre Team-Icon

Supporter
Avatar von pepre

Anmeldungsdatum:
31. Oktober 2005

Beiträge: 6450

Ich hab's gerade bei mir probiert, - geht ohne Probleme.

Zeig doch mal

cat /proc/asound/cards

asd789

(Themenstarter)
Avatar von asd789

Anmeldungsdatum:
6. April 2013

Beiträge: 52

Alles klar, Ausgabe, nachdem ich der Anleitung in dem Artikel gefolgt bin:

1
2
3
4
5
6
7
8
 0 [PCH            ]: HDA-Intel - HDA Intel PCH
                      HDA Intel PCH at 0x2ffb010000 irq 151
 1 [NVidia         ]: HDA-Intel - HDA NVidia
                      HDA NVidia at 0xe0000000 irq 17
 2 [S6USB20        ]: USB-Audio - Saffire 6USB2.0
                      Focusrite Saffire 6USB2.0 at usb-0000:00:14.0-4.4.3, high speed
 3 [Series         ]: USB-Audio - TASCAM DR Series
                      TEAC Corporation TASCAM DR Series at usb-0000:00:14.0-1, full speed

Wie gesagt, Ardour bekommt keinen Input, weder vom S6USB20 noch vom Series.

pepre Team-Icon

Supporter
Avatar von pepre

Anmeldungsdatum:
31. Oktober 2005

Beiträge: 6450

asd789 schrieb:

Wie gesagt, Ardour bekommt keinen Input, weder vom S6USB20 noch vom Series.

Wenn du die S6USB20 und die Series einklinken willst, was ist dann deine primäre jack-Karte?

Siehst du keine alsa_in Schnittstellen in der Patchbay von qjackctl/Claudia/whatever?

Wie hast du alsa_in aufgerufen? (Ggf Fehlermeldung?)

Was sagt

aplay -l

?

asd789

(Themenstarter)
Avatar von asd789

Anmeldungsdatum:
6. April 2013

Beiträge: 52

Ok, also: S6USB20 ist bzw soll sein die primäre Jack-Karte. SERIES soll dazu kommen. Aufruf von alsa_in wie folgt:

1
alsa_in -d hw:3 -q 0 & 

Fehlermeldung behauptet, das Gerät wäre busy. Da aber eine PulseAudio JACK sink aufgetaucht ist, hab ich gedacht, das ist die richtige (im Nachhinein blödsinnig, ich weiß). Wählt man nun in Ardour die Eingänge caputre 1 von System und front_left von PulseAudioJACKSink für 2 verschiedene Spuren (ein Mono in pro Spur) kommt auf keiner der beiden etwas an, obwohl nachweislich beide Geräte Input erhalten, zu sehen an den jeweiligen internen Pegelanzeigen.

Wie es scheint, klappt also schon alsa_in nicht wie es soll, und ich hab keinen Plan, warum nicht. Keins der in Frage stehenden Geräte wird in dem Moment als Ausgabe genutzt (die läuft über Bluetooth, damit auch nicht Jack Prozesse noch Ton von sich geben).

pepre Team-Icon

Supporter
Avatar von pepre

Anmeldungsdatum:
31. Oktober 2005

Beiträge: 6450

What?! 🙄 PulseAudio (PA) hat doch gar nichts damit zu tun...

Läuft denn jack mit der S6USB20 problemlos?

Dann: vllt hat PA den Finger auf der SERIES? Beende PA mal...

Dann:

# falls noch Instanzen laufen:
killall alsa_in
# neu verbinden
alsa_in -d hw:SERIES,0 -q 0 & 

Was bringt das für eine Meldung?

Und

aplay -l 

wäre immer noch sinnig... 😉

Und was sagt

jack_lsp

nach dem Start von alsa_in?

Antworten |