Entwickler-Ecke

Open Source Projekte - Klavier - noch ein Klavier


Horst-Dieter - So 25.08.13 10:38
Titel: Klavier - noch ein Klavier
Mein neues Klavierprogramm sieht auf den ersten Blick aus wie das Programm Klavier von Mathematiker. Dieses diente mir auch als Anregung.

Das vorliegende Programm vereint das Programm von Mathematiker (mit einigen Änderungen) mit meinem Programm Piano, das man auch in der Entwicklerecke finden kann. So war es z. b. notwendig, die als Textdatei bei Mathematiker geschriebenen Musikstücke mit einer Extension zu versetzen (.mel), so dass diese nicht mehr aus einer Resourcendatei gelesen, sondern vom Programm zur Laufzeit geladen werden können. Dies Verfahren ermöglicht auch das Schreiben und Speichern weiterer Musikstücke.

Beide Musikformate (*.mel und *.mmd) sind im Grunde Hilfsformate. Sie können vom Programm in echte Midi-Dateien umgewandelt werden. Das Programm kann auch echte Midi-Dateien laden und abspielen und in das Hilfsformat (.mmd) umwandeln.


Delete - So 25.08.13 10:53

Hier gibt es mehr davon:

virtualpiano - play, record and edit midi file
https://code.google.com/p/virtualpiano/
https://code.google.com/p/virtualpiano/downloads/detail?name=PianoEx_v1.1_FS.zip&can=2&q=
.
https://code.google.com/p/virtualpiano/downloads/detail?name=MidiPiano_217.zip


Delete - So 25.08.13 11:37

Kann man das Klavierprogramm auch via Master-Keyboard ansteuern?


FinnO - So 25.08.13 11:47

Bei mir geht das nicht ;) Wäre aber mal ein Feature, über das man nachdenken könnte...


Mathematiker - So 25.08.13 12:53

Hallo,
user profile iconHorst-Dieter hat folgendes geschrieben Zum zitierten Posting springen:
Mein neues Klavierprogramm sieht auf den ersten Blick aus wie das Programm Klavier von Mathematiker. Dieses diente mir auch als Anregung.

Sehr schön. Mit den vielen Möglichkeiten kommt mein einfacher Programmierversuch nicht mit.
user profile iconHorst-Dieter hat folgendes geschrieben Zum zitierten Posting springen:
Sie können vom Programm in echte Midi-Dateien umgewandelt werden. Das Programm kann auch echte Midi-Dateien laden und abspielen und in das Hilfsformat (.mmd) umwandeln.

Das ist mir ein Rätsel, wie das funktioniert. Ich habe bis heute noch nicht kapiert, wie das mmd-Format aufgebaut ist.
Ich würde mir wünschen, dass man mmd in mel umwandeln kann. Dann verstehe ich es vielleicht. :wink:

Beste Grüße
Mathematiker


Horst-Dieter - Mo 26.08.13 13:48

Hinweise zum Format .mmd

Long-Midi-Noten bestehen aus zwei Zahlenreihen mit je 8 Ziffern, die durch Semikolon getrennt werden.

Folgendes zu den Spalten:

1 Spalte: Sie enthält Anfangs und Endzeit des Events (Die Differenz entspricht der Länge der Note). Leerzeichen sind nicht zulässig. Die Differenz 8 entspricht einer Viertelnote.

Die Spalten 2,4,6 und 8 enthalten feste Zahlenwerte. Sie sind nur notwendig, um das mmd-Format fehlerfrei in das midi-Format umwandeln zu können.

3. Spalte: Sie enthält das eigentliche Event (z. B. Instrument, NoteOn, NoteOff). Eigentlich wird die Eventangabe als Hexadezimalwert erwartet. Bei meinem Format wird die Hexzahl aber als Dezimalwert eingegeben.

5. Spalte: Sie ethält den Notenwert - also z. B. die Zahl 67 für die Note G.

7. Spalte: Sie enthät Angaben zur Lautstärke( Werte 1=min bis 127=max). Beim Event NoteOff muss die Lautstärke auf 0 gesetzt werden.

Die Zeitangaben(1. Spalte) müssen unbedingt fortlaufend eingegeben werden. Die einzelnen Zeilen werden durch einen Timer (Interval 50) aufgerufen.

Noten köpnnen geschachtelt eingegeben werden. Dies erlaubt zwei oder mehrere Noten gleichzeitig abzuspielen oder natürlich auch, ein Event unterschiedlich lange ablaufen zu lassen.

Das Format reagiert sauer auf Leerzeilen (auch am Ende). Das kann aber auch ein Vorteil sein. Beim Programmieren einer Melodie kann man so die Widergabe an jeder beliebigen Stelle stoppen.


Delete - Mo 26.08.13 16:00

Etwas zum Lesen:
http://www.usb.org/developers/devclass_docs/midi10.pdf