Csound

From OLPC
Revision as of 19:11, 19 March 2008 by Victor (talk | contribs) (Sample Code)
Jump to: navigation, search
  english | españolfrançais한국어 HowTo [ID# 117903]  +/-  


Csound is the music and audio signal processing language developed by MIT's Barry Vercoe. Csound will provide audio services for the XO computer. Csound is both a programming language and a sound synthesis engine. Csound, as included in the OLPC project, can be used by Activities or directly by the children and teachers. It can be accessed in a variety of ways. In the XO platform, two basic ways are provided:

  • Through the Python programming environment: eg. programmed in Activities.
  • Through its 'classic' command-line frontend, directly invoking it from the Terminal activity.

Further information about Csound is on their website: http://csounds.com/ or see their instructions for playing Csound in Pippy [1].

Tutorials

See Csound tutorials for a wiki introduction to using Csound for music development.

MIDI playback

Csound can play back midi files. All you need is Csound code that understands MIDI and the compilation option -F <your-midi-file>.

Csound activities

Tam Tam uses Csound, but you would never know it as its interface is designed to wrap the Csound engine with a child-friendly look and feel. This excellent grouo of Activities allows kids to make sounds, make music, jam, record and transform their voices in an intuitive way. TamTam Edit allows students to patch together Csound's opcodes (modules) and teaches them all about signals, synthesis, and synthesizers. TamTam Activities demonstrate well how the power of Csound can be harnessed in the XO platform. For more information see:

 http://wiki.laptop.org/go/Tamtam

You can see a number of activities developed by Greg for 542, mostly uploaded here:

 http://csounds.com/GregCsoundActivities.zip

Pippy uses Csound to help teach children the Python programming language and to build XO Activities.

 http://wiki.laptop.org/go/Pippy

csndsugui

You can also use csndsugui, a Python toolkit for the development of Csound-based audio and music activities. The code, plus examples and documentation, can be found in:

 http://dev.laptop.org/git/activities/csndsugui

Sample Code

  • A simple Python project using Csound to create an audible system load monitor using the standard Python Csound binding
  • TamTam uses a custom C++ wrapper around Csound and has a very large sound library available
  • Activity example shows a complete Python and Csound code for a simple Activity.