Funky ruby controller for multimedia projects: glue all this midi, DMX, neural networks, opengl stuff into a fast C++ core with Lua scriptable objects.

This software is being written for project home but will outlive this show as I usually do not like using tools I cannot adapt (Max/MSP is closed source, jMax users do not respond on the mailing list and the way it is written makes it hard to play with) and I definitely needed some “glue” tool.

Open source (MIT Licence. Development site : dev.rubyk.org.

Maling-list: lists.gaspardbuma.org/listinfo/rubyk

short introduction (in french)

pdf document

295 Kb

rubyk_intro

Présentation introductive du logicel rubyk.

rubyk now has its own website

  • Just a few thoughts on openCL, LLVM and garbage collector from Lua.

  • New MidiIn object, Lua scripts can receive midi events.

  • bak

    I am glad to announce that the rubyk project has received 15’000 CHF funding from the Swiss Federal Office of Culture to write the interface !

    This will allow us to start working on the project. I am still looking for more funding (budget for the full interface is about 34’000 CHF)... If you know a generous donator or want to help, please announce yourself to the mailing list.

    If you have strong competence in interface programming and C++, I am looking for a second programmer to help me in this task. Preferably around Lausanne (CH), so we can work in the same place…

  • 06.03

    rubyk interface

    GB

    controller

    We have started working on an interface for rubyk. This article gives some ideas on the futur interface.

  • GLUT wants to be in control and hates being pushed in an obscure thread somewhere.

  • turingDot

    Turing object now fully supports Lua scripts with a pre-filter (custom bang method) and has good debugging facilities with table printout and dot graphs.

  • 01.02

    midi notes

    GB

    midiNotes

    I just created a drawing with the mapping of midi note values and keyboard. Could be useful to anyone doing low-level midi work.

  • 12.18

    Kmeans object

    GB

    euclidean

    Recognize a vector from belonging to a set using the Euclidean distance to the mean value.

  • networkMidi

    By creating a session with the “Midi setup” tool, you can use it as a destination for your midi.

  • 12.04

    Code cleanup

    GB

    sun

    Worked all night to go through a massive cleanup of the code, replacing all uses of buffers of doubles by Matrix objects.

  • digits

    There must be a bug somewhere.. PCA object & Svm object working hand in hand should produce better results then the tiring sound .. hey no-sound (got you) thing. My back hurts (too much taping with my foot).

  • 11.26

    PCA object

    GB

    PCABeat

    Finally, I found the courage to implement Principal Component Analysis using BLAS and LAPACK libraries. The top row of the partition shows the recording from the recognition of a foot beat: we have a long way to go before we can really play music, but at least it recognizes up and down moves.

  • 11.22

    Not working...

    GB

    STFT

    Appart from creating stupid skylines, my implementation of short-time Fourier transform is useless.

  • 11.22

    HMM object

    GB

    decode

    Tutorial on Hidden Markov Models. I wrote this text to help me understand the subject before implementing it for rubyk.

  • 11.21

    VQ object

    GB

    VQ

    After the first filtering stage we need to further compress our data (reduce it’s dimensionality). For this purpose, we use Vector Quantization.

  • 11.19

    FFT object

    GB

    FFTOk

    Fast Fourier Transform (change the signal from the time domain to the frequency domain).

  • 11.19

    Svm object

    GB

    Real-time signal recognition using Support Vector Machine !

  • 11.15

    Plot object

    GB

    plot

    Seeing the signals live really helps ! Plot plot plot.

  • Just a note to inform we have added new objects and changed the code to use virtuals instead of functors for the main method (bang).