2010-11-26 52 views
0

Je crée une application MIDI simple en C# avec un open source library qui permet à l'utilisateur de spécifier un canal, une hauteur et une vélocité et de les ajouter à une horloge. Cette horloge peut alors jouer toutes les notes de la séquence qu'elles ont été ajoutées. Tout fonctionne très bien et maintenant je suis en train de créer une version Java de l'application, le seul problème que je semble avoir est que je ne trouve pas de tutoriel simple ou d'explication sur le fonctionnement du système d'horloge. Java MIDI.Ajouter des événements MIDI à l'horloge - Java

L'horloge existe-t-elle dans Java Sound Framework ou est-ce quelque chose que je devrai implémenter moi-même?

Merci!

Répondre

1

Cela fait longtemps que je n'ai pas touché à l'environnement Java Midi, mais en général, pour créer un MIDI par programmation, vous devez suivre les étapes suivantes.

En supposant import javax.sound.midi;:

  1. Vous devez créer un objet Sequencer:

    Sequence seq = new Sequence(Squence.PPQ, 500000); 
    
  2. Ensuite, vous devez créer un objet Track (un par canal ou un pour tout, c'est à vous):

    Track track = seq.createTrack(); 
    
  3. Maintenant, vous pouvez ajouter des événements à ce:

    track.add(new MidiEvent(new ShortMessage(ShortMessage.NOTE_ON, 0, 60, 127), 0)); 
    track.add(new MidiEvent(new ShortMessage(ShortMessage.NOTE_OFF, 0, 60, 127), 1000)); 
    //etc. 
    
  4. Lorsque vous avez terminé, vous pouvez alors jouer le Sequence comme normal!

Vérifiez les docs ici: http://download.oracle.com/javase/7/docs/api/index.html?javax/sound/midi/MidiSystem.html

+0

Pour une raison quelconque à l'aide ShortMessage.NOTE_ON vient avec une erreur en disant qu'il ne peut pas être reconnu. –