A practical approach to music theory on the Reactable

On June 28th, 2010 I got my Master's degree in Computer Science and Engineering with a thesis about the Reactable and its approach to tonal music.

Here's all the things I developed and used.

Thesis

A practical approach to Music Theory on the Reactable (PDF, 1.1 MB).

SMC 2010

Towards a Practical Approach to Music Theory on the Reactable (PDF, 570 kB). In Proceedings of the 7th Sound and Music Computing Conference (SMC 2010), Barcelona, Spain.

Code

Note: this code has been developed between January and April 2009 and it uses Qt 4.4 that didn't support gestures and multi-touch. For this reason I had to develop a gesture recognition infrastructure and some widget (quite compatible with QWidgets) to support multi-touch.

So those parts of the code are now to be considered obsolete since Qt 4.5 and 4.6 now support all these wonderful technologies. The rest of the code is still valid. It may be not the best code in the world, it has flaws, bugs, inefficiensies, and much more… be nice and consider I developed it in less than four months :-)

  • DoodleSDK: the common part to all the components in Doodle.
  • Doodle: supervisor application.
  • DoodleApps: applications like the Tonalizer and the Sequencer.
  • DoodleGRs: gesture recognizers.
  • DoodleRC: XML files with the glyphs for handwriting recognition.
  • BezierGlyphBuilder: Bézier glyph editor and compiler to produce the XML files.
  • Makefile: two scripts to compile and clean up the project. Extract them in the same directory as the other sources, then run make to compile and make distclean to clean up.

Requirements

The software you need in order to compile mine.

  • TUIO Client C++: TUIO protocol client library (not the server) written in C++.
  • oscpack: a lightweight C++ library to manager Open Sound Control messages.

Optional

Nice and useful, though not required.

  • TUIO Simulator: really handy if you don't have a Reactable. I used the Java one.
  • reacTIVision: must-have if you eventually want to build your own Reactable hardware.

Future development

If you're interested enough and you're proficient in programming, you may be interested in these nice projects.

-->