Computing Resources for CS295
Last modified: Fri Apr 5 15:19:22 1996
Computer Systems
We will do most of the work for Com Sci 295 on the SGI Indy machines
in Ryerson Annex 175 (the "Graphics Lab"). The tutors in Ryerson Annex
178 (the "Mac Lab") will let you in to 175 during
lab hours.
All students in the class will have CS computer accounts, giving
access to the SGIs and other CS departmental resources. The Irix
system is different from SUN UNIX in a number of minor but annoying
ways. Please try out the SGI machines very early to shake out
preliminary problems.
Much of the software used in the class is available on SUN UNIX and
Macintosh systems as well. There are also a number of SGI machines in
USite. Use of these alternatives is left to personal initiative.
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 tcsh, but if
you are accustomed to another shell, stick with it.
- XWindow:
- 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 XWindow system. The SGI system has a particular
window manager. On other UNIX systems, you will need to choose a
window manager. My favorite is ctwm. In order to use
the commands that exploit the X Windows system, add
/usr/local/X11R4/bin to the value of your
PATH variable.
- 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 on Q/E/K/W. I use
Xmh on graphics workstations, and mh on
character terminals.
- 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.
- Document processing:
- Textual materials that you want to share online will be most
useful if you can provide them in LaTeX format. I don't
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.
- 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 will provide
examples that you
can edit. Read the CSound
manual for more information. CSound is installed as
~odonnell/bin.IRIX/csound. I recommend that you add
~odonnell/bin.IRIX to your PATH variable.
- SoundFiler:
- This is a basic SGI sound-file utility. It only plays and
converts sounds, but it works with every sample format. The
executable is /usr/sbin/soundfiler. You should add
/usr/sbin to your PATH variable.
- 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. The
executable is /usr/sbin/soundeditor. You should add
/usr/sbin to your PATH variable.
- MixViews:
- A graphical sound-file editor on SGI. For a better user
interface layout, append ~odonnell/Sound/MXV/MiXViews.res to your
.Xdefaults file. The command to run MixViews is
~odonnell/Sound/MXV/mxv. I recommend that you add
~odonnell/Sound/MXV to your PATH variable. MixViews
succeeds with more sound files than SoundEditor, but not all of
the ones that SoundFiler handles. The software is flakey, and
it will sometimes hang up. But, it gives a quick picture of a
windowed Fourier transform.
- HTM:
- A library for real-time sound synthesis. HTM consists of two
main libraries. The first one, libhtm.a, resides in
~odonnell/Sound/HTM/lib and provides routines for real-time
sound synthesis and DSP. The second one, libpanel.a,
has been installed onto /usr/local/lib and contains a
C++ class hierarchy for building panels -- slider-like user
interfaces to synthesis parameters. 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.
Nyquist is installed as
~odonnell/bin.IRIX/ny. I recommend that you add
~odonnell/bin.IRIX to your PATH variable.
- 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.
- Maple:
- A program for manipulating and representing mathematical
formulae, similar to Mathematica. I have prepared a number of
charts and animations to run under Maple. The xmaple
command gives you a windowed interface to Maple.