Masterkeyboard --> io2 --> ZynAddSubFX: geht nicht

  • Ersteller nde2hxl
  • Erstellt am
N
nde2hxl
Registrierter Benutzer
Zuletzt hier
31.12.18
Registriert
21.01.10
Beiträge
13
Kekse
0
Liebe Musiker,
seit 2 Wochen probiere ich schon, beim Tastendruck einen Ton auf die Lautsprecher zu kriegen. Ich bin verzweifelt.


Zuerstmal habe ich so verkabelt:
Masterkeyboard (Midi out) ---- Yamaha TG500 (Midi IN)
Yamaha TG500 (Output R/L) ---- Verstärker (Line IN R/L)
funktioniert prächtig. Ich kann alle TG500-Sounds mit dem Midikeyboard spielen und über den Verstärker hören.

Jetzt will ich aber die Sounds eines Softwaresynthis über das Masterkeyboard spielen. Dazu benutze ich einen Desktoprechner mit 8GB RAM und UBUNTU Studio 18.04 LTS 64bit mit per USB angeschlossenem IO2 (nicht IO2Express). Jack, Ardour5, ZynAddSubFX sind installiert.


Alle geräte sind aus. Verkabelt wie folgt:

Rechner (USB) ---- IO2 (USB)
Masterkeyboard (Midi out) ---- IO2 (Midi IN)
IO2 (Main out R/L) ---- Verstärker (Line IN R/L)

Rechner gestartet. Vom IO2 leuchtet nur die grüne LED (und zwar permanent).
Klick auf JACK.
Klick auf START vom Jack.
Masterkeyboard eingeschaltet. Jetzt blinkt die rote Midi IN LED vom IO2 mit einer Frequenz von etwa 3 Hz.
Klick auf ZynAddSubFX.
In Jack habe ich folgende beiden Verbindungen hergestellt:
bei Jack Audio:
zynaddsubfx out_1 ---- System playback_1
zynaddsubfx out_2 ---- System playback_2
bei Jack-Midi:
System midi_capture_1 ---- zynaddsubfx midi_input
System midi_capture_1 ---- zynaddsubfx osc

Verstärker eingeschaltet.

Per Maus auf der virtuellen Tastatur des Synthis ZynAddSubFX rumgehackt, kann ich die verschiedenen Sounds des Synthis hören und die beiden Levelmeter (oder wie das heißt) schlagen auch aus. So weit so gut. Für mich alles logisch. Das lässt auch die rote Midi IN LED vom IO2 unbeeindruckt. Sie blinkt mit etwa 3 Hz, ohne Aussetzer, ohne Störung. Immer schön etwa 3 Hz.

Drücke ich eine Taste auf dem Masterkeyboard, bringe ich die rote Midi IN LED vom IO2 etwas durcheinander. Sie blinkt nicht mehr regelmäßig, sondern etwa so, wie ich die Tasten drücke. Unregelmäßig, mal schneller oder langsamer. Drücke ich nichts, dann wieder 3Hz.
Nur, hören kann man nichts und die Levelmeter schlagen auch nicht aus.

Fazit: Virtuelle Tastatur funzt, Masterkeyboard funzt nicht.

Ich weiß nicht mehr weiter.

Manchmal macht der Synthi komische Sachen, wenn ich die beiden Tastaturen gleichzeitig oder annähern gleichzeitig drücke. Als ob der Synthi jetzt durcheinander kommt. Also irgendwie reagiert er auf das Masterkeyboard.

In Jack habe ich schon jede Menge verschiedene Einstellmöglichkeiten ausprobiert. Jack erkennt auch den IO2, allerdings als 2 verschiedene Geräte:
hw: io2 io2 (hw:1)
und
hw: io2,0 USB Audio (hw:1,0)

Also, meine zentrale Frage: Wie kann ich mit einem Midikeyboard den Softsynthi spielen?

Jemand ne Idee?

Viele Grüße
Horst
 
Eigenschaft
 
okay, verstehe. Zu viel zu lesen.

Dann kurz und bündig:

Ich will mit meinem Masterkeyboard Sounds, zB aus dem Synthi zynaddsubfx, der auf meinem Rechner installiwert ist, spielen. Und kriege es nicht hin.

Ideen?

Viele Grüße
Horst
 
Hallo,

einfach mal so ins Blaue, das erste was mir in den Sinn kommt, ist, dass das Masterkeyboard auf einem anderen Midi Channel sendet als erwartet wird.
Die Audio Verbindung vom Synth nach außen scheint ja zu funktionieren, genauso wie irgendeine Midiverbindung vom Masterkeyboard zum Interface.
Ich würde vielleicht mal gucken, ob es in linux irgendeine Art Midimonitor gibt, so dass du sehen kannst, was an Midi an welchem Port auf welchem Kanal
ankommt.

Gruß,
taste89
 
  • Gefällt mir
Reaktionen: 1 Benutzer
Hallo @nde2hxl,

falls du es in der Zwischenzeit noch nicht hinbekommen hast bzw. für die Nachwelt:

Der JACK Port "system:midi_capture_1" ist a) ein Port für MIDI-Output, also MIDI-Daten, die von JACK an ein Gerät oder eine Software gehen, ergo die falsche Richtung, und b) sind "midi_capture_1" und "midi_playback_1" in der Regel die JACK Ports für die virtuellen "MIDI Through" Ports von ALSA, d.h. die MIDI Ports von "echten" MIDI-Interfaces fangen normalerweise erst bei bei "midi_playback_2" bzw. "midi_capture_2" an.

Ich empfehle dir, das Programm "Catia" zu installieren, und damit die JACK- und ALSA-Verbindungen herzustellen. Das ist mit der GUI übersichtlicher, und außerdem tauschen dort die Ports auch mit dem Gerätenamen auf, so dass man leichter erkennt, welches die Richtigen sind.

Wenn das io2 dein einziges MIDI-Interface ist, müsstest du also eine Verbindung von "system:midi_playback_2" nach "ZynAddSubFX:midi/capture_1" herstellen - dieser Portname ist ein Alias, der Port taucht zusätzlich als "system:midi_capture_N" auf, wobei N irgendeine Nummer ist. Du kannst dir auch alle JACK Ports mit ihren Alias-Bezeichnungen mit dem Kommandozeilenbefehl "jack_lsp -A" auflisten lassen.

Der Port "zynaddsubfx: osc" ist für Open Sound Control-Daten, den brauchst du nicht.
 
  • Gefällt mir
Reaktionen: 1 Benutzer
@ taste89,

vielen Dank für deine Ideen, schließlich führten sie zur Lösung.

Kanal habe ich überprüft. Das ist okay.

Midimonitor habe ich einen für linux gefunden. Der sagt mir, dass vom io2 (USB 1.1) nur Schrott kommt und ein über MidiThru (also durch den io2) durchgeleitetes Signal zum Yamaha TG500 nicht gescheit ankommt Der Tg500 macht komische Sachen.

Mein Fazit ist, dass der alte io2 mit seinem USB 1.1 für Midi nicht geeignet ist; vllt aber doch, wenn ich die Latenzzeit erhöhe :(

Dann habe ich ein billiges Midiinterfacekabel (9 EUR Made in China) benutzt. Und der Midimonitor bestätigt, dass das Kabel gut funktioniert.
...................................................................

@ strogon14
deine Ausführungen habe ich eben mal kurz überflogen. Die Erklärungen darin werde ich noch versuchen nachzuvollziehen. Und Catia gucke ich mir an. Du scheinst dich ja mit Jack auszukennen. Für mich sind die Bezeichnungen noch sehr undurchsichtig.

Kann es sein, dass es an USB 1.1 liegt, dass USB 1.1 vllt nicht mir aktuellerer Hardware sauber läuft?

Auch dir vielen Dank für die Lösungsvorschläge. Ich probiere es aus und poste dann.

Viele Grüße
Horst
 
Kann es sein, dass es an USB 1.1 liegt, dass USB 1.1 vllt nicht mir aktuellerer Hardware sauber läuft?

Nein. Es kann höchstens sein, dass die Linux/ALSA-Unterstützung für das io2 nicht vollständig ist, oder durch neuere Kernelentwicklungen veraltet. Das ist aber unwahrscheinlich, denn USB-MIDI-Support ist idR eher unkritisch, da nicht herstellerspezifisch.

Diese Seite listet das IO2 jedenfalls als unterstützt auf:

https://wiki.linuxaudio.org/wiki/ha..._-_io2_express_usb_-_class_compliant_11_or_20

(Ja, dort ist das IO2 Express gelistet, aber das Innenleben des IO2 ist höchstwahrscheinlich identisch.)
 
@strogon14

io2:
bei Jack-Midi:
System midi_capture_1 ---- zynaddsubfx midi_input
Masterkeyboard kann am Synthi keine Reaktion bewirken.

9€-Midikabel:
bei Jack-Midi:
System midi_capture_1 ---- zynaddsubfx midi_input
Masterkeyboard funktioniert prächtig am Synthi

woanders habe ich gelesen, dass die 3 untenstehenden Befehle für manche Leute aufschlussreich ist. Für mich nur in so weit, als dass der Rechner die Karte identifiziert hat.

a@a:~$ lsusb
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004 Device 002: ID 13b2:0008 Alesis
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 002 Device 003: ID 0461:4e22 Primax Electronics, Ltd
Bus 002 Device 002: ID 413c:2107 Dell Computer Corp.
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub


a@a:~$ cat /proc/asound/cards
0 [Intel ]: HDA-Intel - HDA Intel
HDA Intel at 0xfc800000 irq 25
1 [io2 ]: USB-Audio - io|2
Alesis io|2 at usb-0000:00:1d.2-2, full speed


a@a:~$ aplay -l
**** Liste der Hardware-Geräte (PLAYBACK) ****
Karte 0: Intel [HDA Intel], Gerät 0: ALC663 Analog [ALC663 Analog]
Sub-Geräte: 1/1
Sub-Gerät #0: subdevice #0
Karte 0: Intel [HDA Intel], Gerät 3: HDMI 0 [HDMI 0]
Sub-Geräte: 1/1
Sub-Gerät #0: subdevice #0
Karte 1: io2 [io|2], Gerät 0: USB Audio [USB Audio]
Sub-Geräte: 1/1
Sub-Gerät #0: subdevice #0

Wenn ich hier nicht weiterkomme, muss ich halt für den Midikram das 9@-Midikabel nehmen und für den Audiokram das io2-Gerät. Wäre eigentlich blöd.

Viele Grüße
Horst
 
Was gibt denn

Code:
jack_lsp -A

aus?
 
hallo strogon 14,

mit noch nicht gestartetem JACK:

a@:~$ jack_lsp -A
Cannot connect to server socket err = No such file or directory
Cannot connect to server request channel
jack server is not running or cannot be started
JackShmReadWritePtr::~JackShmReadWritePtr - Init not done for -1, skipping unlock
JackShmReadWritePtr::~JackShmReadWritePtr - Init not done for -1, skipping unlock
JACK server not running

-----------------------------------------------------------------------------------------
mit gestartetem JACK:

a@a:~$ jack_lsp -A
Jack: JackClient::SetupDriverSync driver sem in flush mode
Jack: JackLinuxFutex::Connect name = jack_sem.1000_default_lsp
Jack: Clock source : system clock via clock_gettime
Jack: JackLibClient::Open name = lsp refnum = 5
system:capture_1
alsa_pcm:hw:io2:redface:ut1
system:capture_2
alsa_pcm:hw:io2:redface:ut2
system:playback_1
alsa_pcm:hw:io2:in1
system:playback_2
alsa_pcm:hw:io2:in2
system:midi_capture_1
in-hw-1-0-0-io-2-MIDI-1
system:midi_playback_1
out-hw-1-0-0-io-2-MIDI-1
PulseAudio JACK Sink:front-left
PulseAudio JACK Sink:front-right
PulseAudio JACK Source:front-left
PulseAudio JACK Source:front-right
Jack: jack_client_close
Jack: JackClient::Close ref = 5
Jack: JackClient::Deactivate
Jack: JackSocketClientChannel::Stop
Jack: JackPosixThread::Kill
Jack: JackClientSocket::Close
Jack: JackClientSocket::Close
Jack: JackLibClient::~JackLibClient
Jack: JackShmReadWritePtr1::~JackShmReadWritePtr1 4
Jack: Succeeded in unlocking 422 byte memory area
Jack: JackLibGlobals Destroy c20525b0
Jack: ~JackLibGlobals
Jack: no message buffer overruns
Jack: JackPosixThread::Stop
Jack: JackPosixThread::ThreadHandler : exit
Jack: JackShmReadWritePtr::~JackShmReadWritePtr 1
Jack: Succeeded in unlocking 1187 byte memory area
Jack: JackShmReadWritePtr::~JackShmReadWritePtr 0
Jack: Succeeded in unlocking 82280346 byte memory area
Jack: jack_client_close res = 0

Viele Grüße
Horst
 
Nachdem du sagtest, wie es funktionieren sollte, habe ich weiter rumprobiert mit deinen Einstellungen.

Eigenartig war, dass es mit dem 9€-chinaKabel lief und mit dem io2 nicht.

Das 9€-chinaKabel sieht so aus:
9eur_midiAdapter.jpg


Es hat also schon Kabel dran: Midi-OUT, Midi-IN, USB.
Damit funktioniert der Midikram gut.

Das io2 hat nur die entsprechenden Buchsen. Ich muss also meine Midikabel (die schon ewig in hier rumlagen) benutzen, von denen 2 von 4 Kabeln kaputt waren. Nach der Reparatur und der Sicherstellung, dass nun die Kabel in Ordnung sind gings trotzdem nicht. Weil du aber sagtest, dass der alte io2 (USB 1.1) trotz seines Alters funktionieren sollte, habe ich weiter rumprobiert. Und du hattest recht. Es geht.

Im Moment probiere ich ohne JACK (nur mit Ardour allein) zurecht zu kommen. Es funktioniert nur, wenn der io2 nicht angestöpselt ist am Rechner beim Hochfahren. Erst etwa 1 Minute nach dem Hochfahren wird der io2 per USB mit dem Rechner verbunden, das Masterkeyboard eingeschaltet und die anderen Geräte dann auch.

Dann gehts.

Mal schauen, ob ich ohne JACK klarkomme. Midi-thru ohne Jack (nur mit Ardour) habe ich sogar hingekriegt. Das Midisignal wird nun durch den io2 zum TG500 geleitet und das entstehende Audiosignal wieder zurück zu Ardour.

Also strogon14 und auch taste89: Ich bin jetzt ein ganzes Stück weiter. Vielen Dank. Evtl.probiere ich nochmal mit JACK.

Viele Grüße
Horst
 

Unser weiteres Online-Angebot:
Bassic.de · Deejayforum.de · Sequencer.de · Clavio.de · Guitarworld.de · Recording.de

Musiker-Board Logo
Zurück
Oben