Autor Beitrag
Horst-Dieter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 91
Erhaltene Danke: 16



BeitragVerfasst: So 25.08.13 10:38 
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.
Einloggen, um Attachments anzusehen!

Für diesen Beitrag haben gedankt: Mathematiker
hathor
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: So 25.08.13 10:53 
Hier gibt es mehr davon:

virtualpiano - play, record and edit midi file
code.google.com/p/virtualpiano/
code.google.com/p/vi...zip&can=2&q=
.
code.google.com/p/vi...me=MidiPiano_217.zip


Zuletzt bearbeitet von hathor am So 25.08.13 11:49, insgesamt 1-mal bearbeitet
Perlsau
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: So 25.08.13 11:37 
Kann man das Klavierprogramm auch via Master-Keyboard ansteuern?
FinnO
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 1331
Erhaltene Danke: 123

Mac OSX, Arch
TypeScript (Webstorm), Kotlin, Clojure (IDEA), Golang (VSCode)
BeitragVerfasst: So 25.08.13 11:47 
Bei mir geht das nicht ;) Wäre aber mal ein Feature, über das man nachdenken könnte...
Mathematiker
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 2622
Erhaltene Danke: 1447

Win 7, 8.1, 10
Delphi 5, 7, 10.1
BeitragVerfasst: 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

_________________
Töten im Krieg ist nach meiner Auffassung um nichts besser als gewöhnlicher Mord. Albert Einstein
Horst-Dieter Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 91
Erhaltene Danke: 16



BeitragVerfasst: 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.

Für diesen Beitrag haben gedankt: Mathematiker
hathor
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Mo 26.08.13 16:00 

Für diesen Beitrag haben gedankt: Horst-Dieter