Posts in Category: coding

impulse reactive objects for Pure Data

published several impulse reactive puredata external objects for windows on github.

impulse~ generator with distribution functionality
glisson: impulse reactive ramp generator
envgen~: impulse reactive envelope generator
wavemorph~: impulse reactive crossfader

check it out!

Leapmotion PD v0.2 external for Windows

Recently I developed leampmotion v0.2 Pd external for Window.
This project is commissioned by João Pais.
He tested the object carefully and revised the help patch.
If you are interested in, the binary and the help patch are available on github.

Hardware list updated

added two new hardware to the list, built for the exhibition at Kunsthaus Rhenania and wrote a brief description for each hardware. I’ll add one more to the list very soon.


3D lissajous experiment

As a prototype of my next project, I implemented lissajous in 3D, using OpenGL and Gamma synthesis library on windows with C++. Lissajous is often used by sound engineers to check the phase coherence of stereo input, but this 3D lissajous accepts 3 inputs and visualize them in 3D.

Gamma, up and running on windows

Gamma is a synthesis toolkit by Lance Putnam and it’s an open source software.
The source code is available on github

I compiled it for my project and I’ll write it down how I set up my MS VC++ 2015 on Windows 10 environment for Gamma.
Gamma requires two external libraries, one is libsndfile, the other is port audio.
Since I’m not interested in playing back sound files, I just avoided to include libsndfile.

Port Audio
Port Audio is very popular cross platform audio I/O kit and it’s downloadable from the website.
I basically followed this instruction and compiled it on MSVC 2015.

Then, I got portaudio_x64.dll and portaudio_x64.lib files under portaudio/build/msvc/x64/Release

Link portaudio to Gamma
Gamma provides a detailed instruction for the build on Windows. So I just made one C++ project and place all relevant Gamma .cpp codes downloaded from the git and setup a path to


in properties->C/C++/Additional include Directories

Then, set portaudio_x64.lib

under Linker->Input
and also set the path to .lib

under Linker -> General -> Additional Library Directories

Then, copied the portaudio_x64.dll to the directory of exe and run the project.