Fmod music features

Hi folks,
I’m very interested in using Panda3D to work on a game with a complex interactive music score. This is one of the areas where Fmod excels, so I was glad to see that Panda supported it.

It was a disappointment, though, to discover that Panda’s music functionality is just “an AudioManager object intended to be used for music”, and seems to toss out Fmod’s powerful MusicSystem functions in favor of a high-level simplification.

Seeing as the “pySonic” and “pySonicEX” Fmod wrappers are both abandoned and outdated, there seems to be no “proper” Fmod binding for Python. I’m WAY too stupid to understand ctypes or pyrex enough to make one myself, or else I would.

Of course, I appreciate the desire for audio engines to be interchangeable, but Fmod has many features OpenAL doesn’t, especially with creative pipeline/tool support. I’d be more than willing to help test, if the active developers were able to take some time to expose more of Fmod’s music functionality. The results will surprise you, it can do some amazing things!

I agree - FMOD is a great sound system. I believe there has been effort by someone from the community to extend the current sound system to cover more of FMOD’s features, though. I’ll try to contact him/her about the status.

If you’d like to volunteer to extend Panda’s FmodAudioManager and FmodAudioSound even more, that would be great.

I’d like to help in any way I can; I’m a mediocre programmer, but I definitely know what sound designers need (if the tool can create something, the engine should play it and be able to control it.)

My main concern is about how to extend the FmodAudioManager / FmodAudioSound with MusicSystem functions while making it clear they’re unique to Fmod – the addition of DSP already begins to break the abstraction, but this would make it REALLY divergent.

I’m thinking maybe an InteractiveMusic object could address Fmod’s features, while the generic MusicManager object can persist in its current form as a normal soundplayer, in case the developer only needs basic music, or prefers other drivers.

Also, many of the audio functions seem to be undocumented (and C++ syntax too!), so a lot of digging will be needed to fully understand everything… But it’s worth it. Everything else in Panda is so wonderful.

Great! I’m going to try to contact the other developer that was working on it.

If you want information about how Panda’s FMOD system works, I’d recommend looking in the FmodAudio* header files, in the Panda source. They contain a fair bit of information how the system works.

I’m also interested in extending Panda support for Fmod, specifically the Event System. There doesn’t seem to be a good free game engine that fully supports Fmod, so Panda could really capitalise on the growing interest in game sound design.

Who is this developer that has already done some similar work? I’d like to contribute to this effort.

Hey! Interesting discussion over here :slight_smile:

My game will be based essentially on music too. Before being a “programmer” I’m especially a musician. Not very experienced with FMod (yet), most of the time I’m working with Ableton which is also written in Python so if there is anything I can do for helping --> I’ll be glad to particpate.


As far as I know, the existing FMod implementation was written by a group of CMU students years ago; I don’t think they’re still around.