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.
- classes is accessible by remote login, preferably using
ssh
. Several Macintosh machines in the CS Instructional
Lab, Ryerson Annex room 175, are set up as X terminals
connected to classes. classes is useful for data
storage, communication with the class, and graphical interaction,
but it will not provide interaction with sound applications. You may
prepare sound files on classes, and then copy them
elsewhere for performance.
- The Linux lab is located in Ryerson Annex.
The PCs in this lab run Linux. They
are not accessible by remote login from outside, but you may connect
to classes and other remotely accessible hosts from the lab.
Some of the PCs are configured for interactive sound output,
use your own headphones. Disk space is limited, so you should
store sound files on classes.
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.