The creation of Csound 5 was a three-year-long project that was only accomplished by the collaborative efforts of many individuals from around the world. Perhaps you have wondered who these people are, where they live, and what they enjoy doing other than working on Csound in their spare time?

Below are the personal profiles of everyone who directly worked on making Csound 5 a reality. You can read (in their own words) about where they were born and grew up, how they use Csound and how they contributed to Csound 5, what their hobbies are, etc. You can even get a glimpse of what the future of Csound may look like by reading their "vision statements."

At the bottom of the page is a list of many of the individuals who indirectly contributed to Csound 5 development by writing opcodes and discussing its design. These people are responsible for many of the cool new toys that are now available!

Finally, while I could not compile a complete list of everyone who helped, we want to thank those members of the Csound community who contributed a lot of their time by testing and providing feedback before Csound 5 was finished.


The Csound 5 Development Team

 

John ffitch

Birthdate:

After WWII -- really after WWII

Age:

(OK, I am 60)

Location:

Bath, UK

Grew up in:

Born in Barnsley, Yorkshire, but grew up by the coast on the edge of the New Forest, Hampshire

Education:

Read for the Mathematics Tripos (Cambridge that is, BA; MA). PhD (Cantab) on Algebra Systems.

Occupation:

University Professor, of Computer Science. Never worked outside education/research except 1 week as a van driver for an off-licence in the 1960s.

Uses Csound for:

Composition

How long a user/developer:

Since ~1990

Favorite opcodes:

Prepared Piano opcode (OK that is a cheat as I only wrote it last week and not yet in sources). No real answer

Commandline or GUI:

Command line of course!

Contributions to Csound 5:

Not sure -- perhaps forcing a release? I think OSC is important.

[Editor's note: John is being modest here. John provided organization and direction for the project including setting up the Sourceforge site. He moved many of the opcodes from Csound 4 into separate loadable modules. John revised Csound's audio file reading/writing code and real-time code to use the libsndfile, PortAudio, and PortMidi libraries. He also did a fair amount of work paving the way for multiple-instantiation and reentrancy in the Csound library. John added commandline options for new file formats and for setting orchestra and score macros. A new "software bus" for communications between hosts and Csound was designed and implemented by John. He wrote opcodes for the software bus, OSC, and a few others. He worked with Erik de Castro Lopo to get looping support into libsndfile. He provided support for #ifdef in orchestra code and for dynamically loaded GEN routines. John wrote an installer for Linux systems and provides pre-compiled Linux packages for both 32-bit and 64-bit CPUs. Finally, John did major work on writing a new orchestra parser for Csound that will be incorporated once it is finished.]

Csound compositions:

See http://www.cs.bath.ac.uk/jpff/MyMusic.html

Csound-related software:

The import/export utilities, dnoise, envext, mixer, scale, srconv, xtrct. Personal algorithmic composition code.

Websites:

http://www.bath.ac.uk/~masjpf/
http://www.cs.bath.ac.uk/jpff/

Hobbies:

Listening to Music, Computing, Cycling, Theatre, T'ai Chi (Lee Family Style)

Research interests:

Research in symbolic mathematics, cosmology, solar system astronomy, and then LISP, parallelism and event simulation. Compilers, software, and increasingly audio (physical models, algorithmic composition, composer systems).

Favorite Composers:

J.S. Bach, I. Xenakis, J. Haydn, Wagner, Tippett, Birtwhistle, Janacek, R. Strauss, Dowland ...

Vision for Csound:

Continuing! Lots of possibilities -- all it needs is time.

 

Andres Cabrera

Age:

31

Location:

Bogotá, Colombia

Occupation:

Sound Engineer, Lecturer

Uses Csound for:

Fun, live playing, and research

How long a user/developer:

2.5 years, but first contact was on 1997

Favorite opcodes:

Very variable... =)

Commandline or GUI:

blue!!

Contributions to Csound 5:

vst4cs, dssi4cs, manual work [Editor's note: Andres also converted many CsoundAV opcodes to Csound 5.]

Csound compositions:

Mariposas (for CsoundAV) and 01-radio reloj (a live work which also involved pd)

Websites:

www.geminiflux.com

 

Michael Gogins

Birthdate:

July 6, 1950

Location:

Manhattan, New York City, New York, USA

Grew up in:

I was born in Salt Lake City, Utah. I lived there until I was 23, then lived in Minneapolis, Los Angeles, Seattle, Salt Lake again, and New York City.

Occupation:

My day job is software engineer for trading systems, my vocation is composer. I pretty much do only algorithmic composition, as I seem to be much better at that than other kinds of composition.

Uses Csound for:

I use Csound mainly for rendering algorithmic compositions.

Favorite opcode/utility:

My favorite Csound utility is the Python API, which I developed.

Commandline or GUI:

I use either a source code editor or CsoundVST as a frontend for Csound through the Python interface. Sometimes I monkey around with notation in Cubase using CsoundVST.

Contributions to Csound 5:

I have contributed the Csound 5 SCons build system, the first version of the plugin opcode system, the Csound API (the C, C++, Python, Java, Lua, and LISP interfaces are all by me with much help from others, and there is now also a Tcl interface by Victor Lazzarini), the CsoundVST plugin and front end, the Mixer opcodes, the MIDI interop opcodes, the STK C++ opcodes, the Windows installers, and the Silence system of algorithmic composition classes based on music graphs in the CsoundVST library. I also maintain the Loris opcodes in Csound 5. I helped Andres Cabrera develop his vst4cs opcodes. I wrote a first version of the fluid SoundFont opcodes, which has been replaced by an improved version by Steven Yi. I also contributed two chapters (on the CD-ROM) to Richard Boulanger's "The Csound Book".

Csound compositions:

I have produced two CDs of Csound compositions, Garden of Algorithms and Semblance. A few of the pieces are available as MP3s on www.ruccas.org. Some of my writings on composition or Csound are also available there.

Vision for Csound:

My vision for the future of Csound is: everyone will standardize on version 5, Csound 5 will become a normal part of Linux distributions, people will begin distributing plugin opcodes independently of Csound, someone will develop a set of GigaSampler opcodes, someone will develop a clustering system for Csound using the API that will enable massive speedups in offline rendering, people will settle on a standard set of pfields to enable the exchange of instrument definitions, someone will implement OSC on Windows, someone will do a Rewire interface for Csound using the API... in general, I hope and expect that Csound will become integrated into more and more studio environments, and be used not just by computer music specialists but by film composers, commercial producers, and others.

In the long run I would like to see one well-known PROGRAMMABLE software synthesizer with the same kind of power as Csound become a standard part of commercial notation and sequencing software, either as a plugin or as a builtin. I do not really care if it is Csound, SuperCollider, or something new. But it needs to be both flexible and standard so that the language becomes, in essence, a new form of music notation understood by most musicians. This will apply both to synthesis methods and to composition methods.

 

Victor Lazzarini

Birthdate:

Sept. 18, 1969

Age:

36

Location:

I live in Killucan, Westmeath, Ireland, but work in Maynooth, Kildare.

Born in:

I was born in Londrina, Parana, Brazil.

Education:

BMus in composition and a Doctorate in composition

Occupation:

University lecturer

Uses Csound for:

For composition and teaching, as well as research. I have lately also been using it as my 'live-electronics' sound engine.

How long a user/developer:

I first used Csound in 93 on an Atari ST, under the Composer's Desktop Project. At the time. I also built Csound from the MIT sources in several Unix machines, which I also used, mostly for learning the language.

Favorite opcodes:

oscil

Commandline or GUI:

commandline

Contributions to Csound 5:

Some opcodes [Editor: including most of the new streaming phase vocoder opcodes, moogladder, statevar, fofilter, sndloop, flooper, and syncgrain], some fixes in Csound5, the streaming spectral tracks signal framework, building and fixing the OS X system, some frontends (csoundapi~, tclcsound and the basic Csound 5 GUI for OS X)

Csound compositions:

Unreal City (1993-4)
The Chantwheel (1995, csound & CDP software)
Voices Inside (1996)
Nova Dialetica (1997, csound & CDP software)
Novissima Dialetica (1998, csound & custom software)
Intonation (2001, csound realtime processing & Irish Harp)
Mouvements (2003)
Timelines Ia (2004, csound realtime processing & guitar)
And Through the Rhythm of Moving Slowly (2005, csound realtime processing & ensemble)

Csound-related software:

csoundapi~, TclCsound, and the basic Csound 5 GUI for OS X

Websites:

http://music.nuim.ie/vlazzarini/main.shtml

Hobbies:

Like many other musicians, I don't really have a hobby, as music generally also fills my spare time. But because I have a young family, I don't really have a lot of spare time at the moment.

Other facts of interest:

I just want to add that my background is music. I have a BMus in composition and a doctorate in composition. In fact, early on I used to regard computers with suspicion, being a pen and paper person myself. But then with electroacoustic music, it seemed the way to go and I started to enjoy the scientific/technical side of it Coding is something I picked up along the way and maths I have mostly taught myself (although I did a lot at high-school). Reading John ffitch's and Istvan Varga's code (among others) also taught me a lot. Getting involved in Csound development has been very good for my own education. Although I had good experience on the signal processing side, as well as C++, from developing the SndObj library, I learned considerably from watching others do things.

Vision for Csound:

I really want to see the full separation of engine and language, which is not that far, so that the system becomes even more open. New languages (also interpreted) can be used to control the engine, as an alternative to the original 'assembler'-like orchestra language..

 

Anthony Kozar

Birthdate:

Sept. 1, 1975

Age:

30

Location:

Columbus, Ohio, USA

Grew up in:

Massillon, Ohio, USA

Education:

Bachelor's in Humanities (Music & Math) and
Master's in Computer Science from University of Toledo, Toledo, Ohio (USA)

Occupation:

Organist and choir director

Uses Csound for:

Composing and testing synthesis/tuning ideas.

How long a user/developer:

I've been using Csound since 2001 and helping with development since 2003.

Favorite opcodes:

pvshift, ATS opcodes, vcella

Favorite instr:

Sean Costello's string ensemble

Commandline or GUI:

GUI

Contributions to Csound 5:

Maintained MacOS port & GUI, added Cscore to API

Csound compositions:

Dorian Gray (2001)
Changes no. 2 (2004)
Whales (2006)
FMscape no. 1 (in progress)
Septieme (in progress)

Csound-related software:

Score Changer (MacOS 9)

Websites:

http://www.ruccas.org/index.php?Anthony%20Kozar

Hobbies:

Porting open-source software, table-top games, programmer games (e.g. Grobots)

Research interests:

Algorithmic composition, machine creativity, game design, human-computer interfaces

Vision for Csound:

Integrating Csound and other computer music software with scripting languages and a graphical "make-like" build system for automating the multi-step rendering of complex compositions.

 

John Ramsdell

Location:

Boston area, Massachusetts, USA

Occupation:

Computer Scientist focusing on information assurance and distributed computing.

Uses Csound for:

Personal enjoyment

How long a user/developer:

Since it was released under an open source license.

Commandline or GUI:

Command line, indirectly via a Makefile.

Contributions to Csound 5:

Implemented Csound 5's first build system using GNU Autotools (it was later replaced by Scons). Helped to solve FLTK threading issues.

Csound compositions:

You Know I Know

Csound-related software:

Scheme Score, a preprocessor for scores that provides the full power of Scheme to score generation.

Websites:

Scheme Score: http://www.ccs.neu.edu/home/ramsdell/tools
You Know I Know: http://www.ccs.neu.edu/home/ramsdell/papers

Hobbies:

Hiking, soccer, and lately I've been bitten by the Suduku bug.

 

Istvan Varga

[Editor's note: Istvan did not send me a profile, so the following is my own summary of his contributions to Csound 5. It is likely incomplete due to the enormous number of improvements that he made.]

Contributions to Csound 5:

Istvan overhauled and refined the Csound API, adding many new functions and pruning where necessary. He added a more flexible interface for loadable modules, implemented dynamic loading of real-time audio modules, Midi modules, and utilities. Istvan moved all of the existing utilties to a library and fixed most of them to work with Csound 5. He wrote optional real-time modules for directly using operating system-specific libraries such as ALSA, MME, and Jack, allowing the lowest possible latencies. Istvan made improvements to the rtpa and pmidi modules and reimplemented Midi file reading with many improvements. Istvan wrote many new opcodes including freeverb, reverbsc, string manipulation opcodes, loop opcodes, chnset and chnget, ftconv, and diskin2. He made improvements to the software bus and OSC opcodes. Much of the final work towards multiple-instantiation and reentrancy, including weeding out static variables, was done by Istvan. He added the --expression-opt flag, new message formats, timing code, new random code, modular FFT support, an improved --sched option, improved FLTK threading, a cross-platform means of setting environment variables, and a utility for making CSDs. Istvan added a string variable type and global f-variables to the orchestra language. He also added a new localization system and new code for locating and opening files. Istvan provides the RPM packages for Linux users and Zip packages for Windows users. Finally, Istvan has made countless bug fixes to Csound 5 and provided many useful examples and much support to its users!

 

Steven Yi

Age:

27

Location:

San Francisco, California, USA

Born in:

USA

Occupation:

Programmer

Uses Csound for:

Composing music

How long a user/developer:

7 years (Since 1999)

Favorite opcodes:

vco2, moogladder, oscil3, linseg, reverbsc

Commandline or GUI:

blue with commandline csound! =)

Contributions to Csound 5:

When Csound 5 first got started it was a bit of a rough transition. Most of my efforts then were to try to ask good questions that would help clarify what everyone was working on. I spent a great deal of my time at the beginning compiling Csound 5 on the platforms I had available to me (which was primarily Linux and Windows and occasionally OS X) and reporting any issues I had, whether it was the build system, broken opcodes, or any other bugs and differing behavior that Csound 5 had compared to Csound 4. I view my contributions to Csound 5 as being mostly in the department of testing and trying to ask good questions of the developers as well as helping others who were getting into Csound 5 themselves.

In terms of opcodes, I did have a hand in the current set of opcodes based on fluidsynth. They were originally created by Michael Gogins but I had a different use case so I modified them to produce a second wrapping; we eventually managed to merge our efforts to what exists now. I also played a small part in a few other opcodes which were mostly implemented by Istvan Varga (string-indexed software bus, ftgentmp), but my role there was mostly as a user making requests and discussing implementation details.

I also helped a little bit with the transition to using Sourceforge for Csound and did work on the build system. Also, when Kevin Conder moved on from maintaining the Alternative Csound Reference Manual, with a little help from him at the start, I continued on with that work and did the transition from Docbook SGML to Docbook XML and worked out the new toolchain to use for building the manual. This seemed to help the manual efforts a great deal as others had better luck setting up an XML toolchain than they did an SGML toolchain, so others were more inclined to get involved with working on the manual. I continue to do builds and releases of the manual as well as help others when they contribute to it.

[Editor's Note: Steven also did some work on modularizing the opcodes and eliminating globals.]

Csound compositions:

On the Sensations of Tone
Etude

Csound-related software:

blue; I also often use python a great deal in my musical work

Websites:

Personal homepage: http://www.kunstmusik.com
Csound homepage: http://www.csounds.com/stevenyi
blue homepage: http://www.csounds.com/stevenyi/blue

Hobbies:

Tai-Chi, composing, blue

Vision for Csound:

I think Csound as a program is now in as great a shape as its ever been. Looking forward, I'd like to see support for multiple processors and eventually multiple computers for rendering Csound projects. As efficient a tool as Csound is (and it *is* a very efficient program), due to the things I'm working on musically with my Orchestral Composition library and blue, I find that I'm bumping into limits of what my CPU can do in realtime which affects my music-making experience. Multicore CPU's are becoming more affordable and widely available and I'd love to be able to take advantage of that.

Csound is a very mature and rich tool for making music. I've been very satisfied in working with it and think that the future is very bright for Csound. I'm looking forward to making music with the tool for years and years to come.

 

Other Contributors

The following individuals had either their code or ideas incorporated into Csound 5 by the development team. We are grateful for their contributions.

Stefan Bilbao (U.K.) barmodel opcode
Richard Dobson (U.K.) Early design discussions
Samuel Groner (Switzerland) Ambisonic opcodes (bformenc and bformdec)
matt ingalls (California, USA) pconvolve opcode, API design, and bug fixes
Gabriel Maldonado (Italy) Many opcodes from Gab's CsoundAV were added to Csound 5.
Alex Norman (USA) ATS opcodes
Maurizio Umberto Puxeddo (Italy) Python opcodes
Gerard van Dongen (Netherlands) Jack client code for Csound 4 and Jack testing for Csound 5

Gerard van Dongen passed away on March 4th, 2006. His participation in the Csound community will be missed.