QuteCsound

QuteCsound is a frontend for Csound featuring a highlighting editor with autocomplete, interactive widgets and integrated help. It is a cross-platform and aims to be a simple yet powerful and complete development environment for Csound.

The fastest way to get up and running with Csound these days is to install QuteCsound, as it ships with a nice catalog of examples that range from beginning tutorials to synthesizers to complete compositions. There even exists many screencasts to help familiarize yourself with many of its built-in features.

QuteCsound is the brainchild of Andrés Cabrera.

Synthesis Fall 2010

About the Software Synthesis Online Counterpart

The basic idea is that material covered in-class will be mirrored online. For example, videos, papers, tutorials and instruments will be posted to this blog. One of the roles of The Csound Blog in this collaboration is to augment weekly topics with related materials not covered in class to provide a counter perspective.

Doing this will accomplish a few things. By broadening the scope of the presented materials, students will be able to personalize their education in a manner that will have a quantifiable effect in their music and instrument designs. Though The Csound Blog is no substitute for in-class lectures, discussions and demos, placing the content online will provide a path for others to learn Csound, whether they participate in real-time or read this at some later date.

Most importantly, this will act as a gateway for students to step outside of the realm of academia and involve themselves with a living computer music community. Participating online is now part of our connected world; Take advantage.

For those in Jean-Luc’s class. The best Csound resource is the Csound community, so I highly recommend you all to join the Csound mailing list. Even though I have nearly 15 years of Csound experience, I often rely on the expert advice of other Csounders. Never be afraid to ask questions.

Synthesis Fall 2010

Introduction to Software Synthesis Pt. II

Synthesis with computers has changed dramatically since the mid-nineties when Jean-Luc and I first began using Csound. Back then, computers were mostly used as devices that controlled external synths via MIDI. There were trackers and wave editors. Though not much existed in terms of pure digital synthesis.

There was Csound. Though computers weren’t fast enough for real-time, Csound gave users the opportunity to work with a fully-loaded universal modular synthesiser. For those of us that were fortunate to have personal computers, we could stay in our apartments and make experimental noise without having to make the trek to the music labs.

Fast forward to today. Laptop computers are common, there is no shortage of real-time music apps, most software synths provides instant gratification, and even our phones are full-fledged synthesizers.

When Jean-Luc and I started talking a few months ago about the possibility of him redesigning his software synthesis course at NYU, one key issue popped up, “Why is Csound still relevant?” From our perspective, many of the reasons why we were originally interested in learning Csound, spending hours writing code and waiting for renders to finish, no longer apply to today’s world of countless apps and ultra-fast CPUs. Yet, Csound is still here, nor does it appear to be going anywhere. Why?

There isn’t anything else quite like Csound out there. Yes, Csound is powerful, modular and has a huge library of legacy instruments. Though more than that, one of its most defining qualities is that it is different, and being different encourages composers to write music that is also different.

Synthesis Fall 2010

Introduction to Software Synthesis

The collaboration between the NYU Software Synthesis class and The Csound Blog officially begins now. Course instructor Jean-Luc Cohen-Sinclair has prepared an introductory statement to set the tone for the semester:

How would one define computer music today, in an age where all music could be to a degree called computer music? What sets works such as ‘Kontakte’, ‘Mutations’ or ‘Stria’ apart as masterpieces of computer and electronic music?

Perhaps it is that these works explore and confront musical dimensions that had until then been largely ignored or loosely codified by Western music. Dimensions such as tuning, dynamics or timbre. If music, as Varese once observed is organized noise, noise itself for instance, has been largely rejected by the West as a viable musical element. Perhaps because, until recently anyway, Western music relied on a system of clearly categorized pitch classes based on transposable relationships.

And indeed, until the advent of the computer, these dimensions were very difficult to explore, as Varese himself lamented for much of his life.

The computer however is the ideal instrument with which to explore these and many more musical fields. Though as computers became more powerful, and cheaper to mass produce, they were by and large, put to a very different musical use. Instead of creating instruments that could produce unique and new sounds and music, manufacturers and consumers have increasingly embraced it as a means to reproduce the sound of existing instruments. The computer these days is mostly used to imitate rather than to explore. While this makes a lot of sense on a commercial and practical level, it is almost a perversion of the instrument and what it is capable of doing. Perhaps this was bound to happen once most synthesizers began to ship with a keyboard that mimics a piano instead of a completely new interface? Yet there is so much more this technology can be used for.

Enters Csound. Coding provides the composer with an entirely new interface, one never used before by any musicians until recently. That interface does not give us white and black keys set a semi tone apart, or limits us to a particular range of tonal possibilities. It does the exact opposite. Sure, Csound and most computer music languages allow us to work with equal temperement tuning fairly easily, but just as easily afford us the luxury of absolute frequency control, completely new timbral possibilities and surgical control over dynamics.

It almost begs the composer to do so.

Our efforts over these next few weeks will focus on exploring the strengths of coding as a means of musical creation and embrace them as a tool for sound synthesis and composition. Have fun and enjoy the ride.

Synthesis Fall 2010

NYU Software Synthesis + The Csound Blog

Jean-Luc Cohen-Sinclair, adjunct faculty of music at NYU Steinhardt’s School of Culture, Education and Human Development and Jacob Joaquin, creator of the Csound Blog, are collaborating to design a unique computer music course with an online counterpart that will accentuate in-class lectures, discussions and demonstrations. The duo will focus on classic computer music techniques both in terms of synthesis and composition, but will also cover some of the more recent techniques and development in the field.

Web communities are a fact of life in today’s connected world of real-time communications. Bringing Csound into this context, students will learn that it is far more than an application for audio synthesis, and that it is part of a living-breathing culture with a rich and colorful history that exists without regional borders.

We invite the international Csound and computer music communities to actively participate this semester to help educate and promote our shared computer music roots.

Starting Monday at The Csound Blog.
http://csoundblog.com/

Synthesis Fall 2010

Graph Layout Music


by Abram Hindle

Graph layouts use spring layout algorithms. Springs and other physical systems are very interesting systems and have fundamentally musical properties such as decay and oscillation.

I took the graph drawer found here and stole the state of the graph every couple of frames:
http://js1k.com/demo/618

The instrument I used in the background is an additive string I modified from here:
http://csoundblog.com/2010/03/bowed-string-additive-synth/

This is a web based UI being rendered by csound:
http://csounds.com/

The source code for the whole shebang is at http://github.com/abramhindle/mongrel2-musical-relay

via Computer Music Blog

OSC and Analysis-Resynthesis Screencasts

Andrés Cabrera has released two new screencasts demonstrating how to use some of Csound’s extended functions with the QuteCsound editor.

The first video shows how one can get Csound talking with other applications using OSC. Communication is quickly becoming one of the most important aspects of any and all software. Csound doesn’t have to be an island, and OSC is one of the fastest and easiest ways to plug Csound into a network of multimedia platforms. The second video introduces the Analysis-Resynthesis tools. Though these tools can be looked upon as legacy utilities, as they come from the non-realtime days of old, they are still might powerful and can lead to some wonderful sounds. You’d be wise to spend a saturday afternoon with them.

“This screencast shows how to use OSC (Open Sound Control) to connect Csound with other software like Pure Data, SuperCollider or Reaktor.” Watch Using OSC in Csound at YouTube.

“A quick overview of the Analysis Standalone Utilities in Csound, and their usage within QuteCsound”. Watch Analysis-Resynthesis Utilities in Csound at YouTube.

Photoresistor Theremin

Built with Arduino + Processing + Csoundo

Processing is amazing. Though it is considered by many to be a visual language, it’s really much more than that. Perhaps a communication development environment would be a more apt description.

Take this video for example. I’m using an arduinio board to send sensor data from two photoresistors to Processing. Then Processing transforms this data and sends it to Csound (via Csoundo). The data is then transformed again to represent amplitude and pitch. No visuals involved, but they could have been incorporated quite easily.

Taking a look at the available user-made Processing libraries, you’ll see that there are many supported protocols and formats: MIDI, OSC, UDP, XML, HTML, feeds, FTP, bluetooth, etc. If that isn’t enough, Processing can also import Java files and jars.

Processing has all the elements to become the new multi-media super glue, doing what Pd and Max have been doing for years. Except maybe even better. If Processing continues to grow, it is fathomable that Pd and Max will have a Processing external, or Processing have Pd and Max libraries. We’ll just have to wait and see.

In the mean time, I’m just happy that I have Csound literally communicating with the outside world.

One more thing, the second half of this video features one of the original Csound instruments, adapted from Trapped in Convert and developed by Dr. Richard Boulanger in 1979 at the M.I.T. Experimental Music Studio.

Csoundo 0.1.2 ALPHA release

I’ve just uploaded the next Csoundo release, which provides better examples, documentation and stability.

Download: csoundo-0.1.2.zip

Eight examples are included in this new release that demonstrate: a simple slider GUI, creating score events, channel busses, reading and writing to f-tables, generating graphs from tables, syncing audio with animation and playing a Csound composition.

The README.txt has been upgraded to include better install instructions for Linux, OS X and Windows.

This release should work on a few more computers, as audio now outputs to the default DAC, where as before, it would sometimes try to render to a file on some computers. Users can also now set the Csound command-line options with the cs.setOptions() method.

A few things have been cleaned under the hood, which should provide better stability.

If you have any bugs, comments or examples, my email is jacobjoaquin@gmail.com. Let me know how things go.