Midi Tonhöhe

P

Phippu

Gast
Hallo Zusammen

Ich bin noch ein Neuling auf dem Gebiet von Java, habe aber die letzten zwei Semester lang an der Hochschule Java gelernt zu Programmieren.
Ich möchte ein Programm schreiben um Töne auszugeben. Soweit so gut, eigentlich eine einfache Sache... Der Haken ist, dass man die Töne per Frequenzübergabe einstellen soll.

Im Detail möchte ich eine Klasse Programmieren die einen Ton, der zum Beispiel nach einer Trompete klingt und mit einer Tonhöhe von 442.5Hz schwingt, erzeugen.

Ich suche nun einen Ansatz wie ich so etwas realisieren kann. In den Midi Klassen und API habe ich schon gesucht und nichts gefunden, beziehungsweise kann ich nur "normale" in der Musik gebräuchliche Töne erzeugen.

Eine Idee hatte ich schon... und zwar ein Sampling eines Instrumentes aufnehmen und mit den Sampling Klassen die Frequenz verändern...

Kann mir irgendjemand helfen oder hat Ideen :) ?? Besten Dank schon im Voraus!
 

langhaar!

Bekanntes Mitglied
Deine Frage hat mit Java wenig zu tun; das sind MIDI Grundlagen. Zu deiner Frage hatte ich mal etwas im Musiker Forum geschrieben.

Allgemeine Fragen Software die Midi Datei mit bekannter Tonart in andere transponiert

Interesant ist hier Beitrag #9:

Midi kann beliebige Frequenzen; richtig.

jain - eigentlich gibt es für jede Note einen MIDI-Wert, wobei dem MIDI da letztendlich egal ist was da für ein Ton daraus generiert wird - bestes Beispiel zB Drums, nach General-MIDI liegt auf dem Wert 'C1' die Bassdrum, also gar kein Ton im eigentlichen Sinn. Die Werte sind in MIDI aber auch in den Halbton Schritten definiert, für Töne/Werte dazwischen gibt es dann den MIDI-Befehl Pitch der einen Wert von -126 bis +127 annehmen kann und über ein 2. Parameter wird bestimmt wie weit sich dabei die Tonhöhe ändert. Soviel mal zu den Grundlagen...

Eine Idee hatte ich schon... und zwar ein Sampling eines Instrumentes aufnehmen und mit den Sampling Klassen die Frequenz verändern...

Das ist dann aber kein Midi. Midi brauchst du, wenn du Midi fähige Geräte ansprechend willst. Was die oben genannten Einschränkungen mit sich bringt. Wenn du kein Midi verwendest, kannst du natürlich Töne erzeugen, wie du willst...
 
Zuletzt bearbeitet:
P

Phippu

Gast
Hallo zusammen.

Besten Dank Langhaar! Ich konnte nun ein kleines Testprogramm implementieren. die setPitchBend() Methode war die die ich gesucht habe :) so ist es relativ einfach das gesuchte zu erreichen!

@GeorgA für eine spezifiziertere Version des Programms ist das sicher auch hilfreich!

Besten Dank euch beiden!
 

Ähnliche Java Themen

Neue Themen


Oben