Skip to main content
fixed links
Source Link
Maxim
  • 430
  • 3
  • 12

If you are familiar with programming you can solve your task using one of the libraries providing ability to manage MIDI files. For example, with DryWetMIDI (.NET library) you can write something like this:

var midiFile = new PatternBuilder()

    // Insert 100 A3 notes with length of 1/256 following each other
    .Note(Octave.Get(3).A, new MusicalTimeSpan(1, 256))
    .Repeat(100)

    // Insert pause of 1/512
    .StepForward(new MusicalTimeSpan(1, 512))

    // Insert G#2 with length of 3/1024
    .Note(Octave.Get(2).GSharp, new MusicalTimeSpan(3, 1024))

    // Build pattern and export it to MIDI file
    .Build()
    .ToFile(TempoMap.Default);

// Save to file
midiFile.Write("Black song.mid");

Or you can take existing file and turn it to black one with use of NotesSplitterSplitter to split notes into parts of the specified length:

// Split notes in a MIDI file with step of 1/512
midiFile.SplitNotesByStepSplitObjectsByStep(ObjectType.Note, new MusicalTimeSpan(1, 512));

Read the library Wikidocumentation to learn more about PatternPattern and Notes/chords splittersSplitter.

If you are familiar with programming you can solve your task using one of the libraries providing ability to manage MIDI files. For example, with DryWetMIDI (.NET library) you can write something like this:

var midiFile = new PatternBuilder()

    // Insert 100 A3 notes with length of 1/256 following each other
    .Note(Octave.Get(3).A, new MusicalTimeSpan(1, 256))
    .Repeat(100)

    // Insert pause of 1/512
    .StepForward(new MusicalTimeSpan(1, 512))

    // Insert G#2 with length of 3/1024
    .Note(Octave.Get(2).GSharp, new MusicalTimeSpan(3, 1024))

    // Build pattern and export it to MIDI file
    .Build()
    .ToFile(TempoMap.Default);

// Save to file
midiFile.Write("Black song.mid");

Or you can take existing file and turn it to black one with use of NotesSplitter to split notes into parts of the specified length:

// Split notes in a MIDI file with step of 1/512
midiFile.SplitNotesByStep(new MusicalTimeSpan(1, 512));

Read the library Wiki to learn more about Pattern and Notes/chords splitters.

If you are familiar with programming you can solve your task using one of the libraries providing ability to manage MIDI files. For example, with DryWetMIDI (.NET library) you can write something like this:

var midiFile = new PatternBuilder()

    // Insert 100 A3 notes with length of 1/256 following each other
    .Note(Octave.Get(3).A, new MusicalTimeSpan(1, 256))
    .Repeat(100)

    // Insert pause of 1/512
    .StepForward(new MusicalTimeSpan(1, 512))

    // Insert G#2 with length of 3/1024
    .Note(Octave.Get(2).GSharp, new MusicalTimeSpan(3, 1024))

    // Build pattern and export it to MIDI file
    .Build()
    .ToFile(TempoMap.Default);

// Save to file
midiFile.Write("Black song.mid");

Or you can take existing file and turn it to black one with use of Splitter to split notes into parts of the specified length:

// Split notes in a MIDI file with step of 1/512
midiFile.SplitObjectsByStep(ObjectType.Note, new MusicalTimeSpan(1, 512));

Read the library documentation to learn more about Pattern and Splitter.

Source Link
Maxim
  • 430
  • 3
  • 12

If you are familiar with programming you can solve your task using one of the libraries providing ability to manage MIDI files. For example, with DryWetMIDI (.NET library) you can write something like this:

var midiFile = new PatternBuilder()

    // Insert 100 A3 notes with length of 1/256 following each other
    .Note(Octave.Get(3).A, new MusicalTimeSpan(1, 256))
    .Repeat(100)

    // Insert pause of 1/512
    .StepForward(new MusicalTimeSpan(1, 512))

    // Insert G#2 with length of 3/1024
    .Note(Octave.Get(2).GSharp, new MusicalTimeSpan(3, 1024))

    // Build pattern and export it to MIDI file
    .Build()
    .ToFile(TempoMap.Default);

// Save to file
midiFile.Write("Black song.mid");

Or you can take existing file and turn it to black one with use of NotesSplitter to split notes into parts of the specified length:

// Split notes in a MIDI file with step of 1/512
midiFile.SplitNotesByStep(new MusicalTimeSpan(1, 512));

Read the library Wiki to learn more about Pattern and Notes/chords splitters.