[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

[pygame] 2P: Sound synthesis / drum machine



Do you have any sound sythesis or music generation projects ? Looking for the ability to play / synth notes.
I don't know if I should be looking at synth, or midi usage, or where for this project. Ideally there is lib / code for basic saw / poly waves (or whatever it is )

I'm interested in seeing any projects. [pygame only had 2 under sound. suprised. ]
I found wiki.python.org/moin/PythonInMusic , however the list is so huge I don't know where to start. Any recommendations good / bad?

I've been thinking about different kinds of input, and playing with ipodtouch apps. [ There are some cool ones under 'music generation' or 'sound synth[esis]' , etc... ] possibly collaborative game? editor?

I have two directions. One is a single user editor. The second is a two person collaboration, a modified version of the editor. Both players own a chain, playing at the same time. Can do some editing to the other's chain.

It will create sound, but not as a traditional drum machine or piano-roll.

I have a pipeline or chain. You can thow notes on it. As well as 'modifiers'. It
contains nodes which can be abstract. They can be a single note, sound file, modifier, logic node, or pattern. The graph can branch, firing multiple chains together, which can connect back onto self. (see video)

Here's a related sound graph I did a long time ago, however it gives you a better idea:
http://www.youtube.com/watch?v=rj9-bezGc6E

modifiers: (global and relative)
    Set / add to tempo. toggle to save new setting when outside parent chain.
    Notes pitch/note. [move +2steps]. If looped, keeps getting higher.
decay:
    toggle to allow infinite loop.
logic:
    gate: 3 way node. Default every odd run nextA, else nextB.
    gaterand: same thing, but picks random gate.
    gate1time: can link to earlier in chain, but doesn't apply later runs.
    gatepause: pause for X updates, then continue.
pattern:
    simply another chain.  collapsable a la code folding.
    ie:    pattern->next = this->next ; this->next = pattern

I'll have to experiment with the interface, since if I use a mouse, ipod, gamepad, or wacom as input, it would allow/require very different controls. I plan on having the user edit all numbers visually. Ie: for amplitude, soundwave is rendered, and your dragging squeezes it.

thanks,
--
Ninmonkey