Deutsches Lilypond Forum (Archiv)

Allgemein => Allgemeine Diskussion => Thema gestartet von: Uwe am Mittwoch, 18. Februar 2009, 17:06

Titel: MIDI Input
Beitrag von: Uwe am Mittwoch, 18. Februar 2009, 17:06
Grüß Gott,

schon seit einiger Zeit suche ich nach einem Tool. mit dem man Noten direkt über ein MIDI-Keyboard eingeben kann. Gefunden habe ich bis jetzt nichts wirklich brauchbares.

Darum habe ich mir etwas zusammengebastelt, und seit gestern funktioniert es so einigermaßen.

Das Programm kann mit jedem Editor verwendet werden, da virtuelle Tastendrücke erzeugt werden. Die Ausgabe erfolgt im aktiven Fenster an der aktuellen Cursorposition, (egal ob es in Notepad, in Word oder sonstwo ist).

Das Programm wird gestartet und läuft solange im Hintergrund bis es in der Taskleiste beendet wird (oder irgendein Fehler auftritt  ;) )

Die Einstellungen werden in folgender Konfigurationsdatei eingegeben:
[Setup]
MIDIInPort=1
MIDIOutPort=0

NoteLo=48
NoteHi=96

Key36=L1
Key37=R
Key38=L2
Key39=S
Key40=L4
Key41=L8
Key42=.
Key43=L16
Key44=K^+0
Key45=B
Key46=K{BS}
Key47=K ~

Tick=16
TicksMeasure=16
Send=1
Outfile=

[NoteNames]
0=c
1=cis
2=d
3=es
4=e
5=f
6=fis
7=g
8=as
9=a
10=b
11=h



Der Standard MIDIInport ist 0.
MIDIOutport wird im Moment nicht verwendet.

Mit der unteren Oktave kann man keine Noten eingeben, sondern folgendes einstellen:

c: ganze Note (oder Pause)
d: halbe Note
e: Viertelnote
f: Achtelnote
g: Sechzehntelnote
c#: Pause (r)
d#: Skip (s)
f#: punktierte Note oder Pause Ein/Aus
g#: Sendet Tastenkombination, mit dem bei meinem Editor Lilypond aufgerufen wird, und nach hoffenlich erfolgreicher Kompilierung das erzeugte pdf angezeigt und die entsprechende mididatei abgespielt wird. Folgendes Skript wird dafür verwendet:

Datei lilymake.cmd
start /MIN /WAIT %1.ly
start %1.mid
start %1.pdf

a: neue Zeile und Taktstrich, die aktuelle Position wird auf 1 zurückgesetzt
b: entspricht der Backspacetaste
h: Synkope

Wenn Send=1 wird die Ausgabe aktiviert, wenn unter Outfile eine Datei angegeben wird, erfolgt die Ausgabe in eine Datei.

Das Programm prüft, ob nach der Eingabe von MIDI-Noten alle Noten aus sind, und verwertet dann die gedrückten Tasten.

Ich bin neu hier und weiß noch nicht, ob ich das Programm in der aktuellen Form posten darf, aber ich werde es bald rauskriegen.

Bitte melden, falls jemand Interesse daran hat.

Uwe

 
Titel: Re: MIDI Input
Beitrag von: hansfaust am Montag, 27. April 2009, 16:30
Hi Uwe,
tolle Idee, das mit dem MIDI-Input. 
Da ich selbst für MIDI 'ne ganze Menge programmiere, weiß ich wieviel Mühe hinter so einem Programm steckt.
NB.: Ich programmiere für das Commodore AMIGA-System und dessen PowerPC-Abkömmlinge an einem MIDI-Sequencer.
siehe: http://www.alfred-j-faust.de (http://www.alfred-j-faust.de)

Aber für Lilopond gibt es das hervorragende Lilypond-Tool (ein Plugin für den sehr handlichen JAVA-Editor jEdit).

Dieses LilyPondTool
Link-> http://sourceforge.net/projects/lily4jedit (http://sourceforge.net/projects/lily4jedit)
erweitert jEdit zu einer richtig schönen Entwicklungsumgebung für LilyPond.

Da ist ein virtuelles Piano integriert, das man mit Maus und Zahlenblock einsetzt.
Damit hat man sehr schnell seine Noten eingeben.

Blos mal so am Rande bemerkt ...

MfG
hansfaust
Titel: Re: MIDI Input
Beitrag von: Uwe am Sonntag, 21. Juni 2009, 09:57
Hi hansfaust,

vielen Dank für den Tipp.

Lily4jedit habe ich in der Zwischenzeit auch entdeckt und verwendet.
Etwas in der Richtung wie ich es mir vorgestellt habe gibt es auch für jEdit namens "Midi Input", ich habe schon mit dem Entwickler Kontakt aufgenommen.

Leider reicht meine Zeit im Moment nicht, um mich in die Java-Programmierung einzuarbeiten.

Mein Ziel: Noten nicht über die Tastatur, sondern direkt über ein MIDI-Keyboard einzugeben, wobei bestimmte Tasten (linke Hand)
für die Steuerung reserviert sind, z.B. Notenlänge einstellen, Pausen, Skip, Taktende, Kompilieren und Anzeigen, Synkopen, letze Eingabe löschen etc.

Uwe