jpcima/smf-dsp

Synth plugin support

jpcima opened this issue ยท 6 comments

Provide synthesizers as plugin directly into the program.

  • interface of synth plugins
  • settings file: for defining soundfont, bank, etc

Synthesizer list

  • Fluidsynth
  • libADLMIDI
  • libOPNMIDI
  • SCC EmuDeMidi
  • MT32Emu
    etc

Implemented, and note for building in README.
Synth plugins appear in F2 menu.

Synth configuration is found in ~/.config/FMidiPlay and initialized when program runs.
It's to define soundfonts, banks, and other things. location is due to change when software is named (suggestion accepted).

cc @farvardin, about feature discussed in IRC talk

Added SCC by Mitsutaka Okazaki (YM2212/YM2149/YM2413) as synth plugin
@Wohlstand you may be interested to use this

Against SCC, I have the draft for libEDMIDI that I plan to equip it with C-API/ABI and embed into SDL Mixer X and allow easier use of it include RT-API and using of my sequencer which supports loops and non-standard formats. So, SCC is a good thing! ๐ŸฆŠ ๐Ÿ‘

Yeah I remember about libEDMIDI work; right now you can have working music preview.
I sent a PR for fixes at kode54's bitbucket, which includes some correction about panning.
Also I should adapt for pure RT-processing, because it has some obstacles about that.
In the personal branch, I added "all notes off" and "reset all controllers". I think it also needs the GM reset.

Next thing I'm tempted to look into adding MT-32 emulation, which works on original system ROMs, and in Wildmidi's xmi2mid is the MT->GM conversion process.

Added the MT32. There is a GM 0-127 mapping.
It's bizarre that some patches sometimes are silent, and it's not an issue of polyphony.

MT32 support is now dual emulated device.
Device 1 plays 8 melodic channels + percussion. Device 2 has the 7 others.
Part assignment is made by sysex messages.