Looks great already!
Don’t know if that was already planned, but dsp callbacks should also retrieve the exact time of the first sample that is passed to the callback.
Especially for current stream dsp’s, it’s really hard to synchronize them visually because you don’t know when the sample you are currently being processing is to be played.
It might also be usefull when you want to reproduce the exact same effect (for music generation tools this is really important)
It would be really cool if all these dsp’s were already included with fmod, but make sure they can be used on each individual channel/stream, and also on the final mix output.
(Not the same way as the spectrum dsp in fmod 3)
In what modes the 4-channel sound will actually be available?
Traktor dj has a 4-channel mode that works with WDM drivers, and BPM Studio has a 4-channel mode that only works with ASIO drivers.
I assume 4-channel mode is just not possible with basic DirectSound?
I don’t know if this is possible, but being able to accurately synchronizing multiple sound cards would also be a great feature (so comparing the actual playing time of two songs on different sound cards).
For the equalizer dsp I have some cool code that works really great (has low-shelf, high-shelf, low-pass, high-pass, notch,) and works quite fast.
The Low and High shelf are as easy as specifying a frequency and a number in dB to increase or decrease the lower or higher frequencies.
If you need this code, you only have to say it.
- Adion asked 15 years ago
Ah, before I forget… some sort of dynamic limiter/compressor would rock. A good use would be setting it up on your background music channel(s), and then hooking the input up to the channels used by voice playback… then, when people talk, the music would be compressed and get quieter so you can always hear voices without them being unnecessarily loud. A few games do this and it’s an excellent effect, very good on the ears. Dunno how difficult that would be though ^_^
I think it might be easier on you if you change the way your DSP plugins work (the built in ones at least), by having each DSP plugin or group of plugins in a seperate dll (fmod_reverb.dll, fmod_flange.dll, etc) so that people who don’t want DSP effects get a smaller FMod.dll, and those who do can pick and choose which ones to include. That would probably make it easier on people distributing custom DSP plugins, because they could just give out an fmod_.dll and a coder can just do something like LoadDSPPlugin(“fmod_whatever.dll”) instead of having to set up their own callbacks.
[quote="brett":3gbs0sb2][quote="Paranoid_Android":3gbs0sb2]I know in the current version of FMOD getting the length of a mod file is impossible without an incredible ammount of computation and such. Will FMOD 4 be able to calculate the length of a mod file in a reletively short ammount of time?[/quote:3gbs0sb2]
just re-reading some of these older posts, it looks like exact mod length calculation has been included when i originally said it wouldnt :D[/quote:3gbs0sb2]
You said we wouldn’t get sound shaders, either. 😀
If I ask for realtime physical modeling of instrument contours for tone generation, and you say no, does that mean we’ll get it later, too? 😀
- Janus answered 12 years ago
Awesome, DSP and file format plugins will own. It would be pretty cool to have a whole collection of DSP and file format plugins for use with FMod.
BTW, have you considered removing some format support from the main library and moving it into plugins for FMod4? For example, formats like WMA/ASF? That would cut down on the size of the actual library, and since WMA/ASF have issues with FMod that means few people use them anyway…
That would be great:
1 : Full MP4 and AAC support! at least AACv2
2 : Winamp Input PlugIn support
3 : Encoding output support, e.g. to serve network streaming capabilities
4 : Optimized Pitch and TimeStreching routines!
5 : ALL samples also in C# 😉 e.g. the goods once are still missing, e.g. dsp_dev or dsppluginviewer !!!
KarlKox already ask about this in this thread
will it be possible to read some samples ahead (the samples that aren’t yet played….) or do i have to put read ahead code into a stream_callback ?
it would be nice for visualizing. or gap detection…
I just though about portability of opening CD audio discs.
Wouldn’t it be much better to have something like “CD:01” to open 1st CD drive instead of opening drive letters? AFAIK there are no drive letters on platforms other than Win32/Win64.
Apologies if someone has already raised this but do you plan on modifying the names of items to load in the event library (eg, EventSystem::load())?
If not is it possible to change these to const char * parameters in a future release as it makes it annoying to use with std::string. I consistently have to use const_cast<> to pass strings from our configuration system.
- deighvyd answered 11 years ago
[quote="brett":fzxwhvm6]- “SoundShaders” are now on the feature list, a new technology we are developing that we hope might become a standard. Think ‘pixel shaders for sound'[/quote:fzxwhvm6]
I would love to be involved in the development process for this, I’ve done a bit of work on a similar idea in the past and would at least really like to see how you’re doing it.
[quote="brett":34hn8060]• Advanced loop point system
Loop points are replaced with an advanced multipoint logic system. You can make a sound loop between certain points for x number of times, then jump to another set of points and do the same, etc.
Key-off and sustain are included in this system.
These will most likely be handled by sound shaders. [/quote:34hn8060]
This reminds me, one thing I have been dreaming about, is the ability to split a longer looping sound into smaller segments (grains?), and play them back in a random order. This would greatly help in making loop sounds (like car engines) less repetitive without having to use longer samples that waste memory.
Alternately, if I have a longer looping ambient sound (like rain), the same trick would help, if the 20-second rain sample was split into, say, 1-second segments played back and stitched together in random order.
Will this advanced loop point system make it possible, or should something like this be implemented separately?
I know there’s been a feature lock down here, but I remember some talk
in the forums requesting loop counting (i.e. instead of having just “play once”
and “play infinite”, having a “play ‘n’ times” as well)
Are there plans to add this in? I think it would be a handy feature.
OK, maybe this is a stupid idea.
OK, maybe this isn’t even possible.
Is it possible to just pass a .cda file to FSOUND_Stream_Open
to let a CD track play?
FMOD could internally check if the drive the .cda is located is a CDDrive.
This way loading local stream files and CD tracks can be more unified.
[quote="brett":15y4jx6h]- Network tweaking tool. You will now be able to tweak your game audio over the network/internet (tcpip) while the game is still running! Great for mixing/setting levels without having to even restart the game.
[/quote:15y4jx6h]Will the protocol be published for this network tweaking tool? That is, will we be able to write our own clients for tweaking if the need arose?
The sound shader stuff sounds very interesting.
With the VST support, would it be simple enough to add a plug-in for Sk@le? From what I’ve seen of Sk@le music, they use a lot of VST instruments. But then, a Sk@le file tends to be almost as large as an equivalent MP3 anyway.
Please login first to submit.