From: Alex Karpinski on
I'm looking for some module or system of modules that can help me do a few things with audio

1. Playback of files (at least .wavs, other codecs would be nice but, hey, converting to a wav is easy)
2. Seek within the file
3. Control volume
3. Do all of these things by channel, e.g. play sound effect 1 on channels 1&2 at equal volume and play effect #2 on only channel 2

I've got a setup with gstreamer and alsa right now, but I don't have any way of getting control of individual channels at the gstreamer level. I can easily do it at the alsa level and just manipulate the master left/right output, but that's not very helpful if it modifies all currently playing effects. I'm not even sure if this is possible to do with python, butsome pointers would really be great.

(For the curious: This is part of the audio system for a larger immersive theater project, )
From: Thomas Jollans on
On 07/08/2010 09:17 PM, Alex Karpinski wrote:
> I'm looking for some module or system of modules that can help me do a few things with audio
>
> 1. Playback of files (at least .wavs, other codecs would be nice but, hey, converting to a wav is easy)
> 2. Seek within the file
> 3. Control volume
> 3. Do all of these things by channel, e.g. play sound effect 1 on channels 1&2 at equal volume and play effect #2 on only channel 2
>
> I've got a setup with gstreamer and alsa right now, but I don't have any way of getting control of individual channels at the gstreamer level. I can easily do it at the alsa level and just manipulate the master left/right output, but that's not very helpful if it modifies all currently playing effects. I'm not even sure if this is possible to do with python, butsome pointers would really be great.

First of all, allow me to point to a something I hacked together
(mostly) a few weeks ago:
http://bitbucket.org/jollybox/pyaudiogen/wiki/Home

It's something of a library, VERY minimal/skeletal at the moment, for
audio generation (and/or processing) in Python. No idea if this is of
any help to you. Python 3 only. Multiple channel support is there,
though to be useful it'd still need a bit of glue. Not much to see there
yet all in all.

>
> (For the curious: This is part of the audio system for a larger immersive theater project, )

Though really, what I think you want is jack. It basically allows you to
plug things together in any way, and I'm sure you can control the volume
of individual "plugs".
I expect there is a Python API, but I haven't checked.
From: geremy condra on
On Thu, Jul 8, 2010 at 2:11 PM, Thomas Jollans <thomas(a)jollans.com> wrote:
> On 07/08/2010 09:17 PM, Alex Karpinski wrote:
>> I'm looking for some module or system of modules that can help me do a few things with audio
>>
>> 1. Playback of files (at least .wavs, other codecs would be nice but, hey, converting to a wav is easy)
>> 2. Seek within the file
>> 3. Control volume
>> 3. Do all of these things by channel, e.g. play sound effect 1 on channels 1&2 at equal volume and play effect #2 on only channel 2
>>
>> I've got a setup with gstreamer and alsa right now, but I don't have any way of getting control of individual channels at the gstreamer level. I can easily do it at the alsa level and just manipulate the master left/right output, but that's not very helpful if it modifies all currently playing effects. I'm not even sure if this is possible to do with python, butsome pointers would really be great.
>
> First of all, allow me to point to a something I hacked together
> (mostly) a few weeks ago:
> http://bitbucket.org/jollybox/pyaudiogen/wiki/Home
>
> It's something of a library, VERY minimal/skeletal at the moment, for
> audio generation (and/or processing) in Python. No idea if this is of
> any help to you. Python 3 only. Multiple channel support is there,
> though to be useful it'd still need a bit of glue. Not much to see there
> yet all in all.
>
>>
>> (For the curious: This is part of the audio system for a larger immersive theater project, )
>
> Though really, what I think you want is jack. It basically allows you to
> plug things together in any way, and I'm sure you can control the volume
> of individual "plugs".
> I expect there is a Python API, but I haven't checked.

Untried: http://sourceforge.net/projects/py-jack/

Geremy Condra