I. An introduction to Blue

With Blue, making beats with Csound is easy. Blue [1] is a frontend for Csound5 that gives you a combination of scripting and graphic interface tools that make it easy to work withCsound.

You need to know something about Csound to work with Blue, but thefamiliar timeline interface makes it easy to organize your scores.With Blue, the options to generate score data using a pattern editor, amicrotonal capable piano roll, and the familiartracker interface, make for a great collection of tools which helpmake it easy to create "beats" or digital dancemusic using Blue as a frontend to Csound.

Getting Started

Since Blue runs onJava and Csound5 is cross platform, you can usethe combination of the two on a wide variety of systems. For thisarticle I am using Csound 5.08 and JDK 1.6 on the3.0 beta of 64 Studio Linux. I also use the combination on Windows XPand Mac OSX, but for my own purposes preferto use Linux.

Installation is easy. Just run the jar file with the command java -jar and it willinstall to the location of your choice. I just use the defaultlocation. Then you need to go into the Blue/bin folder and edit thestart script that correspondsto your operating system. Since I use Linux I edit the blue.sh file to add in thelocation of my Java Csound Library, which for meis set to:


Using my Example

Now you should be ready to run Blue and try out my Blue example file. In my exampleI am using the drum sounds from Hans Mikelson's drummachine example. We do not use the actual sequencer code because we aregoing to use the pattern editor to handle sequencing our beats. Icreated the other two instruments from the example code in the Csounddocumentation.

Youcan also download new instruments from BlueShare, a server that holds alibrary of instruments made just for Blue. There are a wide variety ofinstruments to play with there, but you can also load any kind of Csound codeinto Blue as well as SoundFonts, and also even midi files.

Once you load the example Blue file, click the orchestra tab to take alook at the list of instruments:

Screen Shot of Orchestra tab

Each instrument is a snippet of Csound code, you do not have to addthe "endin" statement on these snippets, or the instrument number, as Bluehandles that for you. If you load an instrument from BlueShare it willbe placed in your instrument library. You can also save your instrumentsin the Blue instrument library and use them in other compositions. Youcan develop your own personal pallet of orchestras that you can thenuse with the Blue score tools to compose new pieces without having to"reinvent the wheel" adding new orchestra code every time.

Now take a look at the timeline. You can see one poly object. A polyobject is a special kind of Blue sound object that is a container togroup logical parts. Since I want to slow down and speed up theperformance of the drums separately from the rest of the parts, it makessense to put all my drum parts together into one poly object.

ThenI use the piano roll object to sequence one synth, and the  trackerobject to sequence the other. Both of these are powerful tools forsequencing an orchestra. If you do not do any coding, they make it a loteasier to write out parts using a familiar interface such as the piano roll object.

Screen Shot of Timeline tab

II. Using the Editors

Pattern Editor

The pattern editor is what I use to make my drum beats. This editorisgreat for non-melodic triggered percussion parts. First I create apoly object to hold my drum parts. Then I can change the length of thepoly object in the main timeline, and this will speed up or slow down the tempo of my drum parts.

The interface is fairly simple. It is just a simple grid that allows you to buildbasic patterns. However it provides all you need to write nice drum parts. Regarding the number of notes you can squeeze into a pattern, there are only four notes per part, soits not as flexible perhaps as making up a beat pattern in Hydrogen [2] and thenexporting a midi file to load into Blue, but it is surprisingly powerful and simple to use.

You can assign a note template to the pattern part by simply copying one line of score codeinto the template box. This allows the pattern editor to drive a wide variety of instruments.Ultimately it is meant for either drum parts or other percussive sounds that do not need to be pitched.

Screen Shot of pattern editor

Piano Roll Editor

The piano roll editor is useful for creating melodic or harmonic parts.You can even assign a Scala scale to use it for microtonal editing. For this example I use standard Western tuning. You set a note template for the piano roll and then all your graphic edits follow the template.The basic template comes with standard p fields and then you can add in other p field values touse it to drive a wide variety of instruments.

In this example I am using the piano roll tool to set a bunch of visually random notes. It is fun to paint yourscore part using this tool. You hold down the shift key and then left click on your notes. It is also easyto setup complex harmonies using this tool.

You can also use it to produce more complex drum patterns than might be possible with a simpler pattern editor. This is also the most familiar interface for anyone who comes from a midi sequencing background. It is very similar to a midi step sequencer, but the ability to usenote templates for any instrument makes it much more powerful than simply using a midi sequencerto drive Csound.

Screen Shot of pattern editor

Tracker Editor

The tracker editor is similar to the classic tracker interface, theonly difference being that you can track other p fields for aninstrument. It is also possible to use a Scala scale file to give itmicrotonal capabilities. It is useful for drum parts or other percussivesections, but it is flexible enough to handle a lot of complex music.

In this example tied several notes together to keep the part from being too "blippy". You can use control-t toadd in a Csound tie to a tracker note. In this case I am also using standard tuning.

Users who are used to making music with a tracker interface may find that this is the most familiar way towrite scores with Blue.

You can also click the "use keyboard notes" checkbox in order to use your computer keyboard to enter notes intothe tracker. To see the note template you click the little > arrow next to the scroller on the right side to open up thenote template for the tracker. Here you can add in new columns to add more p fields to the tracker template.

Screen Shot of pattern editor

In Conclusion

Blue is a great tool for composers. Instead of having to laboriouslywrite scores by hand or manage a ton oftext files, Blue makes it easy to dive into Csound using more familiarinterfaces. Its easy for me to use themore familiar tracker interface than to write a long score by hand. Thepower of Blue is not limited to the GUItools. The tools are a great aid for the beginner who may not yet havethe coding skills to write algorithmic Python or Rhino scripts, but whowants to dive right in and start making music with Csound.


Thanks to Steven Yi forwriting the wonderful Blue software. Thanks to Hans Mikelson for sharinghis compositions on the Csounds.com site.

[1] Steven Yi. blue. http://www.csounds.com/stevenyi/blue/ (28 June 2009)

[2] Alessandro Cominu, et al. Hydrogen. http://www.hydrogen-music.org/ (28 June 2009)