Bonjour,

Je fais un programme ou le but est de créer une musique en format MIDI. J'utilise la libraire "Sanford Multimedia Midi".
Voici un programme d'exemple: https://www.codeproject.com/Articles...C-MIDI-Toolkit

Je cherche depuis plusieurs jours mais je ne trouve pas comment créer un "Track". Enfin, il y a aucun son qui sort quand je le met dans le "Sequencer".

Est-ce que quelqu'un aurait déjà utiliser cette librairie et qui pourra m'aider ?

Voici mon code:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
 
// Sequenceur
Sequence sequence = new Sequence();
Sequencer sequencer = new Sequencer();
// Track  
Track track = new Track();
 
// Tempo
TempoChangeBuilder tempoBuilder = new TempoChangeBuilder();
tempoBuilder.Tempo = 100;
tempoBuilder.Build();
track.Insert(0, tempoBuilder.Result);
 
ChannelMessageBuilder channelBuilder = new ChannelMessageBuilder();
 
// Choix Intrument
channelBuilder.MidiChannel = 0;
channelBuilder.Command = ChannelCommand.ProgramChange;
channelBuilder.Data1 = 0;
channelBuilder.Data2 = 0;
channelBuilder.Build();
track.Insert(0, channelBuilder.Result);
 
// Jouer note
channelBuilder.MidiChannel = 0;
channelBuilder.Command = ChannelCommand.NoteOn;
channelBuilder.Data1 = 60;
channelBuilder.Data2 = 127;
channelBuilder.Build();
track.Insert(0, channelBuilder.Result);
 
// Arrêter note
channelBuilder.MidiChannel = 0;
channelBuilder.Command = ChannelCommand.NoteOff;
channelBuilder.Data1 = 60; 
channelBuilder.Data2 = 0; 
channelBuilder.Build();
track.Insert(479, channelBuilder.Result);
 
track.EndOfTrackOffset = 480;
 
sequence.Add(track);
sequence.Format = 0;
 
sequencer.Position = 0;
sequencer.Sequence = sequence;
sequence.Save("C:\\test\\test.mid");
sequencer.Start();