Computing Resources for Com Sci 295

Last modified: Sun May 14 11:10:57 CDT 2000

Computer Systems

I am providing accounts on the Department of Computer Science's classes host, a SPARC machine running Solaris, and the Linux PCs in Ryerson.

You may work wherever you like. For the demonstrations in your final interview, I will provide a Linux PC with all of the software that is on a PC from the lab.

Software and Data

Utility Software

In order to work effectively, you need to use a fair variety of UNIX/Irix utility software. If you are not familiar with much of this already, or able to pick it up very quickly, you may have trouble with the course. I recommend:

UNIX shell:
You can't do UNIX without a shell --- the interactive system that processes your commands. I prefer bash, but if you are accustomed to another shell, stick with it.
XWindows:
In order to co-ordinate your work with a number of different pieces of utility and sound-processing software, you need to work in the XWindows system. classes, the Macintosh X terminals in Ryerson Annex 175, and the Linux PCs all run XWindows. XWindows is a protocol for managing graphics displays, but it does not provide any particular style of display on its own.
Window manager:
The particular style of graphical interaction in XWindows is controlled by a window manager of your choice, plus your customization of that window manager. My favorite is fvwm2. With the right choice of window manager and the right customization, you can simulate the look and feel of Microsoft Windows or Macintosh.
Editor:
To prepare programs and supporting documents, an editor that uses the graphics capabilities of the Indy workstations is a big help. I strongly recommend Emacs.
Web browser:
To read the documents that I've prepared for you, and participate in the online discussion. I recommend Mosaic or NetScape on graphics stations, Lynx on character terminals.
Mail:
mm seems to be the usual thing for processing mail on Q/E/K/W. I use mh.
Online manual:
Of course, you can type the man command to the shell, but I recommend Xman, running in its own window, whenever you are on a graphics terminal. A lot of documentation is presented through the info command instead of man.
Document processing:
Textual materials that you want to share online will be most useful if you can provide them in HTML format, or LaTeX if they have significant mathematics. I do not insist that you learn LaTeX just for this course, but it is an extremely useful facility for typesetting mathematical and technical material, so if you find time to learn it you will get a lot of value over the years.

Sound Data

Audio samples:
A number of sound files have been installed on CS machines. Each of these files contains a recording of one note played by an acoustic instrument. All sounds are sampled mono, at 44.1 kHz, 16 bit. They are in NeXT format (readable by MixViews), and can be found in ~ilia/Samples.
University of Iowa Electronic Music Studios
A database, under construction, of recordings of orchestral instruments in an anechoic chamber. Select the Instrument Samples button on the left bar.
SHARC:
A database of Fourier analyses for notes played on various orchestral instruments

Sound Software

CSound:
This is a computer music system that we will use for most of our project work. It performs very well for the sort of additive synthesis and filtering that we need, but as a language it is very obtuse. I have some examples that you can edit. Read the CSound manual for more information.
Cecilia:
A GUI front end for Csound, with a lot of stuff added. It looks fairly polished, but most of the interesting features aren't covered in the manual.
SoundEditor:
A graphical sound-file editor. It works only with aiff sound format. It has fewer functions than MixViews (below), but a simpler graphical interface. It is the only tool I can find that allows you to select a portion of a sample and play it in a loop, interactively.
MixViews:
A graphical sound-file editor, with some analysis tools. The command to run MixViews is mxv.
HTM:
A library for real-time sound synthesis. A well-constructed HTM application is great for experimenting with synthesis formulae, but there is a lot of effort involved in getting it to work.
NYQUIST:
A sound synthesis tool built on top of XLISP. NYQUIST is a much cleaner language than CSound, but it doesn't perform nearly as well.
MATLAB:
A software package providing a variety of tools for manipulating and representing numerical data. It is oriented particularly toward vector and matrix operations. It will play a vector of samples as a sound. MATLAB is found on most platforms at UC.
Sndan:
A software package that provides musical sound spectral analysis, graphics, spectral modification, and additive synthesis. The Sndan applications are in /home/jurek/sndan/bin. You may run them by typing /home/jurek/sndan/bin/gopvan, etc. Or, you may add /home/jurek/sndan/bin to your Unix PATH variable, and then you only need to type gopvan, etc. Read the documentation files.