dquenne / midi-psg-fm-synth

Chip-based MIDI-controlled synthesizer
2 stars 0 forks source link

Drum/rhythm sets #22

Open dquenne opened 10 months ago

dquenne commented 10 months ago

A rhythm patch will specify, for each note, a patch (FM or PSG), pitch (MSB=note and LSB=cents), and hold time (milliseconds). Other top-level parameters might include: max polyphony, choke groups (though this could just be hardcoded for hi-hats or something).

To start, this could be limited to the original 47 GM percussion instruments (notes 35-81) or 61 GS percussion instruments. A way to sparsely define instruments could be cool, since most kits will probably only use a dozen or so of the instruments. There could also be a hard-coded default kit, so custom kits that only specify a couple instruments can still play other instruments via their default values.

Also need a way to specify whether a MIDI channel is assigned to be a rhythm set or tonal voice. To start, channels 10 & 11 could be hardcoded (per GM standard), but it'd be nice for this to be configurable.