-
Notifications
You must be signed in to change notification settings - Fork 5
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Feature request] Ability to use two MIDI synths at once #32
Comments
Most definitely, it's possible to implement such a thing. There exists an alternative solution as well, probably more in line with what ordinary players would do; this is to let a background task compute the audio up to the next N seconds of music, and have the audio thread just deliver precomputed data. A drawback is, as soon as the player seeks or changes speed, the buffer has to be trashed and reloaded with a bit of audio, which creates a little wait before resuming. Sorry for delay, trying to catch up with my back log. :) |
On topic of the hybrid synth thing: Surely it would make more sense that the synths are mapped according to bank/program/precussive mode, instead of channel? This may also cause challenges regarding the format of configuration.. i'll give it a bit of thought. |
Yeah, I also thought of it. Maybe if, for example, GM bank is played via FM, and GS/XG banks are played via Timidity/Fluidsynth... |
What I have in mind currently. User can define one or more custom synth setups. These setups are in files of the form That configuration will allow to define one or more synth. For mapping midi to synths, I considered a lua routine body, that receive Example
|
sounds interesting, it can work |
OPN2, provided by libOPNMIDI, has a very low polyphony. Even with 2 cores, it's just 12 channels. Some MIDIs, most often these written for SC-88Pro synth, require up to 40 channels. While you can raise the amount of cores, at some point, MIDI playback may become heavy for some weaker devices. Also, some MIDI timbres, like drums, would sound somewhat better with PCM-based device.
Since this player supports multiple synths, also sf2 based like Fluidsynth, would it be possible to "mix" two midi snth instances. One synth would play some MIDI channels (specified in config file), other the rest. That would also allow for some kind of Sound Blaster 16 PCM emulation when mixed with libADLMIDI. Is it feasible, or in scope of this program?
The text was updated successfully, but these errors were encountered: