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
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 12 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.
- Janus answered 14 years ago
[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.
I was thinking of an idea that could serve:
One of the most annoying things for people that don’t use english as native language, is to have to translate the content of the documentation. Mainly, one of the biggest problems is the translation of certain technical words as the relative ones to the sound, programming or other, that have a special meaning according to the context in which mentions them to him.
This is also reason so that some people are not interested in certain software or product, since, although “english is the universal language”, not everybody has easiness to interpret it.
Maybe I can go translating to spanish the documentation of the functions that you have finished for Fmod 4 and this way to go building a “FMODspa.chm “
Also, other users of other countries with other languages maybe want to make the same thing (Italian, French, German, etc.)
For the time being, if you want, we can attempt it. We don’t lose anything… 😉
If it interests him the idea writes me to email@example.com to see the details.
- LeoCombes answered 15 years ago
[quote="brett":2cdn3rk2]I dont see how an fmod4 plugin would be compatible remotely compatible with someone elses plugin system. To use plugins from one program in another, you have to port the source code or wrap it somehow. Its not something we’re intersted in anyway, we will provide our own set of plugins, so that they are cross platform, then users can write their own any way they want.[/quote:2cdn3rk2]I think the meaning got confused. FMOD4 will have VST support, right? Sk@le uses VSTs for most of its instruments and samples for the other instruments. Would it be possible to write a FMOD4 plugin that allows us to play Sk@le songs in FMOD4? If we were so inclined, that is. It’s more a question out of curiousity than anything else.
I want the time from the start of the song (so actually the position in the song). I had my own VU meter code in a stream dsp, and now I just add about 100ms latency from the time I got the stream callback till the time I show that reading on the screen, but I think it is not always perfect.
For FMod 4 it probably won’t matter because as you say there will not be stream dsp’s different from channel dsp’s.
But if you use FMOD_Channel_GetTime to get the block being currently processed, how do you get the time of the sound currently being played?
Or are the dsp’s in sync so you know that you can always just add buffersize as latency?
Lower latency dsp’s would be great, but is a stream still decoded in larger pieces so you have some larger buffer for the actual stream?
I know about synching with setfrequency, the problem that I had with synching was that I had to use HW3D, and thus DX, and that even when both GetTime’s/GetPosition’s say they are the same, they still might be 25 to 100 ms out of synch.
I’ll Send you the code for the equalizer.
- Adion answered 15 years ago
Please login first to submit.