I decided I prefer writing normal logic in a language I’m used to, so I went looking for a Python-external for Pure Data. And sure enough, I found Thomas Grill‘s py/pyext (built upon flext, a C layer for Python externals). I didn’t figure out how to install the binaries (didn’t take the time to experiment) so I just compiled them up. Works great. :-)

Writing externals for this is supersimple:

`

class example(pyext._class):
  _inlets=2
  _outlets=1

def _anything_1(self,args): print “inlet 2:”,args self._outlet(1,1)

def _anything_2(self,args): print “inlet 2:”,args self._outlet(1,2)

`

This little code should be an external that prints out the argument it receives and sends the inlet number it received the signal on to the outlet.


I’d really like to get to know blogs that focus on Pure Data and/or Max/MSP and use it for development and performances. Leave a comment with your blog URL


I think it’s about time I introduce my project:

I want to use Pd to extract the overtones of the recorder and train a neural network to identify what kind of sound (broad, thin, glass-ish, etc) I’m playing. I want to use this to control VST processors to shape the sound I play. And after the network is trained, I want to the analysis and processing in real-time.

At the moment I’m reading up on alternatives to FFT to separate out overtones, and I’ve made a prototype as a proof-of-concept kind of thing using fiddle~ to identify the overtones in hz and bp~ to separate them out as audio streams. It still has lots of problems such as artifacts, sound degeneration and latency issues. But it gets the job done, so I’m optimistic.

I’d prefer to do my project as a part of a Ph.D, but since Ph.D funding takes a while to find, I’m already starting. Can’t wait for formalities. :-) When I’ve checked that it is ok to release code here I’ll post some as I progress.


[Scott Long][1] announces changes to the release engineering process with a focus shift from features to timelines. Time for me to update the FreeBSD Project Model document again (already have one uncommitted major revision here that I’d planned to commit shortly after 5.3 ;-) )

[1]: http://docs.freebsd.org/cgi/getmsg.cgi?fetch=2259911 0 current/freebsd-current