Sunday, August 21, 2011

Luppp: Progress, demo song & video


The past while has seen quite some work being done, on various parts that needed attention: the UI, some internal effects & support for instruments, and better LV2 support. Also there's a "scene" thing come into play...

UI wise there's a mechanism in place that will "Osc Blob" send the nessisary information from the Engine, and it plots the wave shape on screen.

For instruments & effects we can now load PureData patches, and communicate with them using the JACK MIDI port. There isn't a lot of "routing" available, its all hard coded CC values at the moment, but that's on a todo list somewhere...

The Lv2 side of things has seen some changes, like a system whereby the Engine dynamically updates the UI of which plugin is loaded where, as well as where it can find the binary files to instantiate the corresponding plugin UI.

Finally the "Scene" thing, basically its a way to organize a song or structure audio clips into groupings that can be played back simultaneously.

So here we have a blank session with 5 "tracks" or "loopers", each track complete with plugin slots, solo mute buttons, a pitch slider (left), and a volume slider (right) and 2D ambisonic panner.

In the scene selector we see each buffer is currently green (play mode, not queued to change). Clicking on the Looper (purple thingy up top) will start recording to that buffer from the JACK audio input. A right-click -> load will let you load a sample into that buffer.

During the loading process (in a non-realtime thread :) the buffer is automatically time-stretched to match the current playback speed to seamlessly loop. All buffers that are recorded using JACK are automatically quantized to the current playback speed, so it all stays in sync.

Up in the top you'll see the new "Global Scene" entrybox, typing a number there will trigger all the buffers to start playing the scene ID that you type in. Some work needs to be done there to make that more user freindly, but for now it provides access to scene changes in a semi-useable way.

Luppp Session 1: Dubstep-y drum N bass-ish track
Note the heavy synth is a PureData patch, the drums were loaded from samples, and the Synth is recorded from the XV-3080 using the JACK audio input. Global scenes are used to switch between the different parts of the song.

Here a screencast of the "Global Scene" feature, and some of the Lv2 features. Excuse the rubbish quality, I'm only getting used to exporting from OpenShot at the moment :)

That's all for now, till next time

Wednesday, August 17, 2011

Ambisonics & Linux, resources & quick toots


I've recently been asked how I do Ambisonics on Linux using open-source tools, so here's a very quick rundown of how it all works:
  1. Get a linux install, preferably "AVLinux" or "TangoStudio". I have experience with both of those and know they work well, and I'm not telling you to abandon your distro of choice here, just for people who are wondering what distro to choose for a new install
  2. Run "sudo apt get install jackd ardour2 amb-plugins" in a terminal to grab the big programs your going to need (if you don't have them already)
  3.  Go to
  4.  Download clthreads, clxclient, and ambdec. Perhaps also get the ambdec manual..
  5. Build the 3 just downloaded bits of software, in the following order: cltreads, clxclient, then ambdec. Ambdec needs the other libraries on your system to compile! It should be easy after that & there should be a readme / install file, but just in case:
    1. extract the contents
    2. cd to the new folder (with extracted contents in it)
    3. open a terminal and type "make" & hit enter
    4. now do "sudo make install"
  6. Software is ready, so now read this:
  7. Give it a go
Any questions about the setup feel free to get in touch :)