CECILIA 2.5 for OSX January 2004 WHAT IS CECILIA? Cecilia is a program to make sound. Sound in its widest definition. Sound as music, sound as composition, sound as accessory. Cecilia is a general sound-processing environment Cecilia is a graphical interface Cecilia is a text editor Cecilia is a music programming language Cecilia serves the composer with little programming experience and the programmer with little composing experience. There is very little, sound wise, that cannot be done with Cecilia. Cecilia operates on top of Csound, the audio/dsp engine from Barry Vercoe at MIT. CONTEXT Cecilia was built for musicians and programmers, which I happen to be. Cecilia was first developped as a "musique concr¸te" composition system in 1995-96. It ran on SGI IRIX workstations. The idea was to replace our old analog/MIDI studios at the Facultˇ de musique of the Universitˇ de Montrˇal with a unified digital sound production environment. Hence the "module" concept of individual Csound code blocks to fill all the functions of traditional "musique concr¸te" studio gear. The interface was built around time variant functions to allow composing time contours of any processing control parameter. Realtime screen and MIDI sliders were provided for interaction and recording of "gestures". The very first version of Cecilia was known as "Cynthia" and it was an editor for csound orchestras and scores. That is the Cecilia editor today. It provides services to the programmer. There is syntax highlighting, a quick syntax referencer, an opcode inserter, and shortcuts to the csound manual. Keyboard bindings mostly follow the emacs scheme and there are window panes for interface, orchestras and score definitions. Cecilia also contains a powerful score generation language called Cybil. It draws ancestry to CCRMA's Score program by Leland Smith. This is an area in Cecilia that bares exploring. There are wonderful algorithms to be found. All of Cecilia is constructed in tcl/tk, a slow yet appropriate scripting language as Cecilia does no audio computations. Cecilia runs under the LGPL licence. Its official, and I think it means you can feed this code to your dog as long as it has my name in it. VERSIONS AND COLLABORATIONS Cecilia was first developped on SGI Unix workstations. That first version of Cecilia is still the most powerful today. SGI withdrew from the workstation market and Cecilia was ported to all major platforms by myself and a number of other people. The Linux version that David Philips nurtured came closest to the real thing. We ported to OS9, with good usability but no realtime features. The latest two versions, that of Bill Beck and Hans Steiner for Windows and OSX, were the trigger I needed to get involved. Both versions were heroic because the Cecilia code is nothing you would show your mother. Strictly speaking, Cecilia 2.5 is an OSX version. It runs on Jaguar or better. I dont know if it will work on other platforms. The code base was extensively revised for this version and whenever possible, I have put Darwin specific code in separate branches so, in theory at least, it shouldn't be too difficult to get the Linux version back. CYBIL AND TCL One of the best kept secrets of Cecilia is Cybil. Cybil is a library of tcl functions to generate scores. Any tcl program can be used to generate event lists. The general concept is inherited from Leland Smith's Score program which ran on CCRMA's PDP-10 in the late 70s. You can generate masks, weird rythms, and countless algorithmic manoeuvres. It is highly recommended. DOWNLOAD/INSTALLATION Piece of cake: 1- Get everything that lives here: ftp://ftp.musique.umontreal.ca/FTP_musique/Cecilia . 2- Install the Batterie-Included tcl/tk package. Be nice and let it install where it wants. You need admin priviledges. 3- Drag the Cecilia application into your /Applications folder and leave it there. Dont put it into a sub-folder. Else it wont work and that would be a bad thing. 4- When you first start Cecilia, It will ask to set your preferences. Pick your helper applications: an editor (I use Peak), a soundfile reader (I use Quicktime Plyer) and an html browser (I use Safari). Next, set your preference folders. There are some defaults that work well (Press "Make default folders") 5- Make noise. 6- To reach the innards of Cecilia, Cntrl-click on the icon and do "Show package contents". You dont really want to do that anyways. REQUIREMENTS Realistically, you would want a good G4 above 800 mHz with OS 10.2 or better. It runs on a G3 but the modules then to the heavy and you will get crackles. A 16GHz G9 is really want we all want. DOCUMENTATION All the Cecilia documentation resides under the Help menus. I did not have time to fully revise it, except for the worst whoppers. 95% of what's there is valid. VERSION FEATURES 1- More bug fixes than I can count. 2- Realtime pretty much everything. 3- MIDI sliders you can record and playback 4- Freshly revised, new and insanely improbable modules for every audio processing function known to man: Cybil: CybilExample, CybilFofs, CybilGraphs, Dynamics: Compressor-Expander, Distortion, DistortionMorph, Pitch: ChordMaker, Harmon-Delay, Harmonizer, Looper-Transposer, PitchShifter, Transposer2 Filters: 4Band-Eq, HyperChorus, Mask-filter, Multimode, MultimodeMod, MultiPole, NonLinear-filter, ResonatorBank, WaveGuideBank Re-Synthesis: Adsynner, Convoluter, DirectConvole, LPCReader, Morph-em, PvocReader, UltraVocoder Spatial/Reverb: BaboVerb, StereoPan-Distance, StereoReverb Synthesis: AdditiveSynth, LFO-Amp-Mod, StochasticGrains, StochasticGrains2 Time: 4-Delays, Brassage2, Cuisi-warp, DelayMod, Phaser, Stretcher, Warper MIDi Modules: MIDI-AdditiveSynth, MIDI-Brassage, MIDI-MultiModeMod, MIDI-Warper (Note: I hope someone makes quad versions of these) 5- Waveform display (I am not certain how useful that really is...) 6- A time cursor that sort-of works and .csd document sort-of imports. 8- 4.23f7 engine. TIPS 1- AIFF and Waves only. 2- Use the function generating buttons in the grapher. They do fabulous things. Command-click on the buttons to get access to the parameters for the generators. 3- Use the Command-shortcut (usually spacebar) when you are in the editor. Save a trip to the main window to launch computations. 4- Dont use instrument numbers above 60. They are used by Cecilia and could ruin your whole day. 5- Try all the modules and try to understand how the parameters affect one another. Use extreme ranges. 6- Write to disk and use the "Circle" button to re-process the result with a new module. 7- Get a Peavy PC1600 MIDI slider box and develop MIDI modules. Its a riot. 8- Get a two button mouse. You use the second button in the troughs of the slider to get to the value immediately instead of scrolling to it. Its very nice. However, there is an annoying error message which you cure the following way: open this file: /Library/Frameworks/tk.framework/versions/8.4/Resources/Scripts/scale.tcl . Find these two lines: $w configure -sliderrelief $Priv($w,relief) unset Priv($w,relief) change them to : catch {$w configure -sliderrelief $Priv($w,relief)} catch {unset Priv($w,relief)} 9- Get a really fast machine 10- Start a debate with yourself on PNAC. If you dont know PNAC, read it. 11- Consider moving to Belgium. CREDITS Jean Pichˇ is the principal developer of Cecilia. He is a composer and video artist living and teaching in Montrˇal. He has been active in computer music since the very early days. He now does video-music. Alex Burton is a student of old who is responsible for the graphic core of Cecilia. Alex does things like make machines count to impossibly high numbers while composing light bulb music. OSX I pretty much did this version on my own starting from the OSX sources devised by Hans-Christoph Steiner and Stephan Bourgeois with Alex Burton finding the package solution. Nicolas Borycki, also an ex-student of mine, did the splash screen and buttons. Matt Ingalls compiled the 4.23 console csound with MIDI services used by Cecilia 2.5. Matt is a composer, clarinetist, improviser, and concert producer from California. His is the developer of MacCsound and the csound~ Max/MSP object. http://csounds.com/matt. WINDOWS CREDIT Bill Beck LINUX CREDIT Dave Phillips Stephan Bourgeois