Software Interfaces for Music

From CCRMA Wiki
Revision as of 20:54, 9 December 2007 by Hbursk (Talk | contribs)

Jump to: navigation, search

Software Interfaces for Music

Using Python, a dynamic object-oriented programming language, with Mirra, a 2D OpenGL Python library developed by Ixi-Software, we can rapidly prototype graphical user interfaces that will send out Open Sound Control messages. These Open Sound Control messages can be received by a number of different synthesis engines including Pure Data and ChucK. Since both environments can be run concurrently, changes and design descisions can be made very quickly, almost on the fly.

How to Use It

Mirra has been installed on the Planet CCRMA systems under: /usr/share/doc/mirra-0.3.2/ There you'll find an /examples directory and a /documentation directory. To launch any of the examples, navigate your terminal window to the examples directory and type: python examplefilename.py into the terminal.

For instance, python pong.py would launch the pong example.

Playing with the examples and using them as a starting point is a great way to being experimenting with the Python language and seeing what Mirra can do.

EXAMPLES I'VE MADE

Below is an example of a graphical interface I've begun to work on based on the pong.py code as a starting point. There are several blocks that can be dragged around the screen and a single ball that bounces off of the blocks and off of the walls. If a block is hit by the ball, it plays it's sound. The sound the block makes is based on it's position on the screen. For example, I've mapped that position using the x-axis for pitch and y-axis for gain. I've also tried a mapping using the y-axis for sample rate playback (pitch), and the x-axis for pan position. One of the things that is really great about using Mirra with something like ChucK is that you can alter your synthesis code without ever having to stop your Python code from running.

Links to Interesting SI Pages

(thor magnusson)

  • Carnage Heart
  • Torque: http://www.garagegames.com Torque is a high level object oriented game creation engine for pc, mac, and console games. Free demo and games to download.