Recommended sound engine for python-ogre?

futnuh

19-03-2007 06:42:12

What is the recommended sound engine for use with python-ogre? I notice that SVN has code generation for OgreAL but not yet OpenAL itself. The former is promising but still at a very early v0.1. FMOD via pysonic is an option but isn't free (in fact FMOD is quite expensive for use in one-off commercial projects); also pysonic doesn't yet have a python 2.5 distribution. Thoughts?

andy

19-03-2007 13:41:07

OgreAL is certainly the way I've got Python-Ogre headed.. However I didn't really consider if it was exposing "enough" of OpenAL to be useful or not..

I'd appreciate comments on this and if necessary may look to extend support to OpenAL

I had a version of FMOD wrapped for a bit, but's is not the nicest C++ interface which makes it a lot of work to wrap, AND it's not open source so I decided to stick to OgreAL for a version 1.0 release

Cheers
Andy

Tubez

20-03-2007 09:05:42

I'm using pygame (SDL) for outputting sound and music. It works very well for my applications, but depending on your needs (positional audio?) it may be too limited.

andy

20-03-2007 11:54:32

I gave this some more thought and I'd suggest the best thing is to work with OgreAL..

It's a very active project/developer and I'm sure if there are things missing he'd be more than happy to look at implementing them - check it out here

This way the Ogre community gets a cool sound system, and any enhancements in the C++ library flow automatically into Python-Ogre..

Cheers

Andy

futnuh

20-03-2007 18:18:08

I actually should have downloaded and tried OgreAL before balking at the early version number. It is pretty impresive, and as Andy says, the developer/maintainer is quite active and responsive.

jintal

25-03-2007 17:00:24

i am using FMOD for my project. i've once used the sound system used by pygame too, but moved to using FMOD. FMOD is free (from what i know) for non-commercial use, and i love the 3d sound and DSP supports.

roman.yakovenko

25-03-2007 19:55:41

i am using FMOD for my project. i've once used the sound system used by pygame too, but moved to using FMOD. FMOD is free (from what i know) for non-commercial use, and i love the 3d sound and DSP supports.

You can see from Python-Ogre SVN history that we tried to wrap this library, but we stopped:
1. It is not open source - I am ( and I think Andy too, but really cannot speak for him) don't want to promote non-open source software
2. It is really a huuuuuuuuuge pain to create a wrapper for this library. It doesn't matter what tool you will use.

jintal

01-04-2007 09:31:44


You can see from Python-Ogre SVN history that we tried to wrap this library, but we stopped:
1. It is not open source - I am ( and I think Andy too, but really cannot speak for him) don't want to promote non-open source software
2. It is really a huuuuuuuuuge pain to create a wrapper for this library. It doesn't matter what tool you will use.


yup! I'm not asking for the team to wrap FMOD. i was simply recommending it to futnuh, to use with python-ogre.. as with what this thread is for :D

futnuh

01-04-2007 09:41:47

I'm not asking for the team to wrap FMOD. i was simply recommending it to futnuh, to use with python-ogre.. as with what this thread is for :D

Thanks for the recommendation jintal. Unfortunately pySonic/FMOD was misbehaving on my core duo. Specifically, the use of callbacks was causing python to crash. I communicated a bit with the author of pySonic but we weren't able to replicate the bug on his single-core machine. Callbacks were the one thing that really wanted. And without them, I've had no reason not to use OpenAL.

And I was a bit turned off by Firelight's inflexibility when licensing for one-off products and events.

jintal

01-04-2007 09:56:44

how are you doing your callbacks? is the sound triggering a callback after playing?

jintal

01-04-2007 10:10:37

anyhow, this is how i do mine. it probably differs from yours and maybe it would work.

in my app, 1) i have a universal stack/container for everything dynamically inserted (which is almost everything) at run-time (e.g. FMOD sound objects). 2) i have a sound class/object which performs all the playing/pausing/looping/etc of sound files. 3) lastly a listener class for sounds which performs needed callbacks or synching of the universal stack (e.g. removing finished sounds from the stack).

FMOD just performs the basic playing of sounds (plus effects, 3d translations, etc) while python handles all of the callbacks

HTH