I’d like to create a drum editor/sequencer with FMOD. I’ve searched the forum for "sequencer" and found a few threads but nothing substantial.
Most of these threads were dated 2001, and the response was generally: "We have no plans to support sequencers".
Well, it’s 2006 and I was wondering if there has been any change in the API to support the sequencing of MIDI data? I suppose I would like to load up a DLS patch into the software synth and then generate MIDI notes in realtime. Is this possible?
- vertex asked 11 years ago
Thx for the response artscoop.
I have no experience with FMOD, so forgive me if this sounds like a naive hack, but would it be possible to:
- create a MIDI file in memory
- tell FMOD to loop it
- write a new MIDI file in memory
- tell FMOD to transition seamlessly to that one and loop
- vertex answered 11 years ago
-Creating some MIDI data in memory is possible of course, and reading it with FMOD too.
-FMOD can loop it like any other sound.
– Writing another MIDI file in memory should be ok too
But what do you mean with "transition" ? Are you talking about cross-fading ?
Or talking about using the new MIDI data as the sequel of the data from the first file ?
If talking about the second one, I would think of sentencing. There are many topics on this subject, but I don’t know much about ways to use this feature.
However, I think what you want to do is feasible with not that much effort.
Alas, no, FMOD does not support sequencing and probably won’t.
I you look for noufardn posts you’ll have some answers about sequencing.
Here are some important points of these tyhreads :
– To make a correct sequencer you have to trigger sounds at the exact PCM sample they should be heard.
– In general, sound is streamed using callbacks. The callback is responsible for feeding the sound buffer (and thus, the callback is the only one to have the 1 PCM sample accuracy control)
– FMOD receives commands by the user and maybe queues them. Each time the callback function is run, FMOD executes some operations like starting queued sounds, etc.
– To change this behaviour, you have to override one callback. Please have a look at the usercreatedsample for more information
- FMOD is not able to receive MIDI events. One cross-platform technology I know that receives MIDI events is Steinberg VST2.0. (Windows and Mac)
FMOD already supports VSTs but not VST synths.
So if you want synth support, you’ll have to look for simple VST Hosting examples (don’t have any URL here), and to look at the usercreatedsound example in FMOD. It’s not easy to do, and can be quite long in fact.
(Just some keyword for anyone looking for this kind of topic :
sequencer sequencing MIDI drum VSTi)
Please login first to submit.