Csound for Linux

Mr. Phillips discusses some history as well as what's happening now in the Linux Csound world.
Rain

At the other end of the scale is developer Matti Koskinen's rain, a GIF-to-Csound score converter. A Csound score is the control file for a Csound instrument, providing it with such values as event start times, durations, amplitudes and frequencies, waveform selection and so forth. Matti's utility simply takes a GIF image, applies some user-defined values and magically translates it into a Csound score. The score can then be synthesized and played from within the application, or it can be saved to disk for later processing (perhaps in Cecilia). (See Figure 2.)

Figure 2. Rain

Adsyn

Adsyn is a graphic editor for Csound “hetro” analysis data files. hetro is one of the Csound sound file utility programs and its operation is quite simple. Using a heterodyne filter bank, it analyzes a sound file and creates a data file of separated frequency and amplitude values. That data file can be read and graphically represented by Adsyn and the frequency and amplitude components can be freely altered using the mouse. Csound's resynthesis opcode (adsyn) can be called; the edited file can then be synthesized and played from within Adsyn. Professor Oyvind Hammer originally wrote Adsyn for SGI machines at NoTAM, a Norwegian center for music and acoustics research. With his good graces, I began the port to Linux. It was finished with much assistance from Nicola Bernardini. (See Figure 3.)

Figure 3. Adsyn

Ceres2

Ceres2 is Johnathan Lee's enhanced version of Oyvind Hammer's Ceres, described in my September 1998 LJ article “Porting SGI Audio Applications to Linux”. Johnathan greatly extended the editing capabilities of the original software engine, which essentially performs a Fast Fourier Transform (FFT) on a sound file and renders a graphic representation of its frequency content and activity. The graphic display can be edited in various ways, a large number of transforms (spectral mutations) are available, up to three graphic linear control functions may be specified and a variety of output formats are supported, including two types of Csound scores. Ceres2 also extends some of the command-line analysis variables such as FFT size, analysis window size and window overlap. The Linux port was done by me, but it was dependent on work already done on the original Ceres with great help from Richard Kent, who also supplied the invaluable tichstuff libraries which replace the SGI libs. (See Figure 4.)

Figure 4. Ceres2

Rosegarden

The Rosegarden suite includes a MIDI sequencer, a common-practice music notation display and the very nice feature of being able to save your work as a Csound score file. Such a tool is especially helpful for users most comfortable with standard notation conventions, allowing them to compose with their familiar symbols and then easily convert their creations for use with Csound instruments. (See Figure 5.)

Figure 5. Rosegarden

HPKComposer

The Java programming language lends itself to the easy creation of platform-neutral user interfaces. Jean-Pierre Lemoine's HPKComposer is an excellent example of a “pure Java” application, running under Windows, Mac OS and UNIX variants. Preparation for Linux is straightforward, depending upon successful installation of the Java development environment (JDK) in version 1.1.6 or higher, the Swing class libraries (version 1.1 beta3) from Sun Microsystems and Csound. HPKComposer blends aspects of the CMask program with the synthesis and DSP methods of Csound: tendency masks are used to create composition algorithms, which are realized by the synthesis engines (opcodes) of Csound. VRML displays are supported, the program is user-extensible, and although Java's current sound support is limited to 8-bit 8 kHz audio, when JDK 1.2 arrives it will support 16-bit 44.1 kHz CD-quality sound. (See Figure 6.)

Figure 6. HPKComposer

______________________

White Paper
Linux Management with Red Hat Satellite: Measuring Business Impact and ROI

Linux has become a key foundation for supporting today's rapidly growing IT environments. Linux is being used to deploy business applications and databases, trading on its reputation as a low-cost operating environment. For many IT organizations, Linux is a mainstay for deploying Web servers and has evolved from handling basic file, print, and utility workloads to running mission-critical applications and databases, physically, virtually, and in the cloud. As Linux grows in importance in terms of value to the business, managing Linux environments to high standards of service quality — availability, security, and performance — becomes an essential requirement for business success.

Learn More

Sponsored by Red Hat

White Paper
Private PaaS for the Agile Enterprise

If you already use virtualized infrastructure, you are well on your way to leveraging the power of the cloud. Virtualization offers the promise of limitless resources, but how do you manage that scalability when your DevOps team doesn’t scale? In today’s hypercompetitive markets, fast results can make a difference between leading the pack vs. obsolescence. Organizations need more benefits from cloud computing than just raw resources. They need agility, flexibility, convenience, ROI, and control.

Stackato private Platform-as-a-Service technology from ActiveState extends your private cloud infrastructure by creating a private PaaS to provide on-demand availability, flexibility, control, and ultimately, faster time-to-market for your enterprise.

Learn More

Sponsored by ActiveState