Pure Data mit Alsa MIDI

tholan
tholan
|||||
Hi,
ich versuche krampfhaft PD beizubringen,
MIDI zu empfangen:
Raspberry Pi mit Raspbian Stretch und
1 MIDI-USB-Stöpsel hängt am RasPi.
Mit "aconnect 20 20" bekomme ich
ein MIDI through vom angeschlossenen Keyboard
zum XG-Modul.
"aconnect -l" zeigt dann Folgendes:
Code:
client 0: 'System' [type=Kernel]
    0 'Timer           '
    1 'Announce        '
client 14: 'Midi Through' [type=Kernel]
    0 'Midi Through Port-0'
client 20: 'USB MIDI Interface' [type=Kernel,card=1]
    0 'USB MIDI Interface MIDI 1'
    verbunden zu: 20:0
    verbunden von: 20:0
Alsa-MIDI funktioniert also einwandfrei.
Nun scheint es, daß ich Pure Data beim Aufruf
Parameter mitgeben muß, damit das Programm
die richtige MIDI-Schnittstelle benutzt.
Weiß wer, wie das aussehen muß?
Ich mühe mich da schon ne Weile ab und die Help-Datei von PD
ist nicht sehr sachdienlich.
 
D
Drumfix
|||||
So gehts bei Ubuntu:

Im Pd Hauptfenster:

Medien->ALSA-MIDI auswaehlen
Medien->Midi Einstellungen Anzahl Midi In und Out festlegen.
Anschliessend die so erzeugten Alsa Midi Ports mit aconnect, qjackctl etc mit den physikalischen Ports verbinden
 
mnb
mnb
-
also ich starte mein pd immer mit einem script, das sieht so aus:

/home/mnb/pd048/bin/pd -noautopatch -alsamidi & sleep 4s
aconnect 'nanoKONTROL' 'Pure Data'
aconnect 'nanoPAD' 'Pure Data'
aconnect 'MIDISTART MUSIC 25' 'Pure Data'
aconnect 'M Audio Audiophile 24/96' 'Pure Data'
aconnect 'Pure Data':1 'M Audio Audiophile 24/96'

ich verwende also die namen der geraete, nicht die numerischen ids (damit hatte ich auch dauernd probleme)
mit den namen klappt das aber voellig stressfrei.
 
tholan
tholan
|||||
Hi und Danke soweit,
Ich starte pd:
"pd -noautopatch -alsamidi"
-pfundst
dann:
"aconnect 'USB MIDI Interface' 'Pure Data' "
-Fehlermeldung:
"ungültige Ziel-Adresse Pure Data"

" 'USB MIDI Interface' " hat aconnect klaglos gefressen,

"Pure Data " müßte nach dem Start mit Parameter "-alsamidi" wohl auch als Client
bei "aconnect -l" auftauchen?
-tuts aber leider nicht, das taucht da nirgendwo auf.
 
tholan
tholan
|||||
Sooo, ich habs mit der guten alten OSS-Methode zum Laufen gebracht:
Leider gibts unter Raspbian kein /dev/midi[x] mehr
und pd scheint auf Selbiges zu bestehen, wählt man für den Midiport "oss".
"ln -s /dev/snd/midiC1D0 /dev/midi1" tuts und im Audio- Miditestfenster
von pd habe ich endlich ne Reaktion auf Tastendruck.
Irgendwas muß hier unter Raspbian sauer sein mit Alsa und MIDI.
Den Midiport von Qsynth, bzw. fluidsynth habe ich auch nur mit "oss-Ansprache" zum Laufen bringen können.
 
Zuletzt bearbeitet:
D
Drumfix
|||||
Deine Kommandozeile sollte in etwa so aussehen:

pd -noautopatch -alsamidi -midiindev 1 -midioutdev 1

Falls du mehrere Alsaports erzeugen willst, muessen die dan via Komma getrennt werden, z.B.

pd -noautopatch -alsamidi -midiindev 1,2 -midioutdev 1,2,3,4

=> 2 inports, 4 outports
 
Zuletzt bearbeitet:
tholan
tholan
|||||
Hi Drumfix,
mit dem Aufruf, wie Du ihn beschreibst:
Code:
 pd -noautopatch -alsamidi -midiindev 1 -midioutdev 1
bekomme ich leider nur folgende Meldung im Startfenster bei PD:
Code:
Opened Alsa Client 128 in:1 out:1
Keine Ahnung, was "Client 128" sein soll,
der erscheint nicht bei "aconnect -l"
und funktionieren tut MIDI leider nicht.

Ich habe das nochmal in der Shell mit dem Zusatzparameter "-verbose"
gestartet, da erscheint beim Start in der Shell folgender Text:
Code:
Pd-0.47.1 ("") compiled for Debian (0.47.1-3) on 2016/11/28 at 20:56:10 UTC
port 5400
TCL_LIBRARY="/usr/lib/puredata/lib/tcl/library" TK_LIBRARY="/usr/lib/puredata/lib/tk/library"   wish "/usr/lib/puredata/tcl//pd-gui.tcl" 5400
Waiting for connection request...
/usr/lib/puredata/bin/pd-watchdog
... connected

Nochmal, nach Helpfile das:
Code:
pd -noautopatch -alsamidi -midiaddindev 'USB MIDI Interface' -midiaddoutdev 'USB MIDI Interface'
und das:
Code:
pd -noautopatch -alsamidi -midiaddindev 'USB MIDI Interface 1' -midiaddoutdev 'USB MIDI Interface 1'
probiert.
Ergebnis leider nur Fehlermeldung:
Code:
Couldn't find MIDI input device: USB MIDI Interface
Couldn't find MIDI output device: USB MIDI Interface
bzw. :
Code:
Couldn't find MIDI input device: USB MIDI Interface 1
Couldn't find MIDI output device: USB MIDI Interface 1


Der symbolische Link bei meiner OSS-Methode "ln -s /dev/snd/midiC1D0 /dev/midi1"
wird leider auch bei jedem Raspbian Start vom OS gelöscht.

Hab jedenfalls vielen Dank für Deine Bemühungen,
irgendwie hatte ich das auch schonmal hingekriegt,
über diesen besch.. "systemd" einen persistenten /dev/midi-Link hinzukriegen.
 
Zuletzt bearbeitet:
D
Drumfix
|||||
Willst du mich veraeppeln?

Code:
pd -noautopatch -alsamidi -midiindev 1 -midioutdev 1

dann

Code:
aconnect -l

Client 0: 'System' [Typ=Kernel]
    0 'Timer           '
    1 'Announce        '
Client 14: 'Midi Through' [Typ=Kernel]
    0 'Midi Through Port-0'
Client 24: 'MidiSport 2x4' [Typ=Kernel]
    0 'MidiSport 2x4 MIDI 1'
    1 'MidiSport 2x4 MIDI 2'
    2 'MidiSport 2x4 MIDI 3'
    3 'MidiSport 2x4 MIDI 4'
Client 128: 'Pure Data' [Typ=User]
    0 'Pure Data Midi-In 1'
    1 'Pure Data Midi-Out 1'

dann

Code:
aconnect  'Pure Data:1' 'MidiSport 2x4:0'
aconnect  'MidiSport 2x4:0' 'Pure Data:0'
 
Zuletzt bearbeitet:
tholan
tholan
|||||
Ups!
...in der Tat, das hatte ich so noch nicht probiert.
aconnect -l zeigt nach dem Start von pd "client 128"
MIDI pfundst aber trotzdem nicht.
Der Miditest unter Pulldownmenü "Medien"
zeigt keine Reaktion bei MIDI-Tastatureingabe,
wenn ich das mit OSS und /dev/midi1 starte (nachdem ich es angelegt habe)
läufts.

...äääh,
dann mach ich vielleicht nochn "aconnect" :embarrassed:
 
tholan
tholan
|||||
Man, wattn akademischer Schiet...
Code:
aconnect 20 'Pure Data:0'
---das isses!
Mein Dank wird Dir auf Ewigkeit nachschleichen!
 
 


News

Oben