Skip to content

Latest commit

 

History

History
47 lines (35 loc) · 2.63 KB

ROADMAP.md

File metadata and controls

47 lines (35 loc) · 2.63 KB

Roadmap

The stars in parenthesis are an evaluation of the difficulty.

ForMIDI 0.5 "?"

Development

  • License : keep the GPL 3 or move to LGPL 3 ?

Features

  • Implement aftertouch MIDI events: polyphonic (An) and channel (Dn) pressure. (*)
  • Can ForMIDI handle MIDI formats 0 and 2? Test it.

Examples

  • An example generating the major (or minor) scales by transposing the array +1 twelve times. (*)
  • Exploring Modes of limited transposition (Olivier Messiaen). (**)
  • Choosing a licence for the OGG files ? (artlibre? CC?)

Ideas for further developments

  • Examples

  • Adding subroutines for serial music. See #8 (**)

    • Generating a twelve tones serie.
    • Geometric transformations (reverse, symetries, etc.). Could also be used for non-serial music (Bach...).
  • A drum pattern object to ease programming rhythms, inspired by the pattern system used in example/drum_machine.f90. Could be also used by ForSynth? (***)

  • A note sequencer repeating a pattern. Could be also used by ForSynth? (***)

  • A sequence object, accepting a string with notes, with methods to obtain one by one their parameters (physical or MIDI). A first attempt can be seen in example/la_folia.f90. Could be also used by ForSynth? (***)

  • Implement more meta-events:

    • key_signature FF 59 02 sf mi
    • sequence_number FF 00 02 ssss
    • midi_channel_prefix FF 20 01 cc
    • SMPTE Offset FF 54 05 hr mn se fr ff
    • sequence_specific_meta_event FF 7F len data
  • Implement more MIDI events:

    • sysex_event F0 length bytes