This page contains directions for getting around the B104 concert machine and its UNIX operating system. This version is tailored for the MUSIC 250 course, winter 2000.
When it's not at a concert, the "concert machine" lives in a closet with its screen, keyboard and mouse. You can log onto it from any of the SGI machines in B104. When you run programs on the concert machine their "windows" appear on the SGI machine you're typing at.
(When the concert machine is in the recital hall you have to use the concert machine's own mouse, keyboard and screen. At some point we hope to buy nice long cable extenders so that the noisy CPU needn't be right next to the screen. We haven't worked out audio and MIDI connections for concerts yet either.)
To get started you will need a concert machine account (get this from Miller or Shahrokh) as well as a standard ACS account for music graduate students. You need the ACS account to get onto the SGI machines.
The cusomary way to use UNIX is through "shells", which appear in windows. You can make a shell window on an SGI machine by selecting the "New Unix Shell" item from the menu at top left. Hit the space bar until all the ACS verbiage scrolls past and you see a prompt like "man104-8$ ". This indicates that UNIX is waiting for you to type a command to it.
On the SGI machines, keyboard input goes not to the top window but to whichever window the cursor is above. This is confusing to Macintosh and Microsoft users. You can't just click anywhere on a window to pop it to the top either; you have to click on the window border to do that.
For the purposes of this document, all you use the SGI machine for is to log onto the concert machine. This you do by typing
Note the font style conventions in the example above:
machine-name: anything in italics stands for something you type in.
ssh: anything in this style is what you type in exactly.
You can log into the concert machine under a different username from the one you're using on the SGI:
When you're through with your UNIX shell you can type
This section describes what you should do once you're sitting at an SGI workstation and have one or more "shells" open on the concert machine.
When you issue a command to a UNIX shell, it usually responds by trying to find a program by that name and run it. Some programs are GUI-based, but the majority just do what you ask and then quit. This makes it easy to automate things, but on the other hand you have to learn what things do up front; there are no cute dialogs to lead you through operations like moving files around.
The UNIX filesystem is arranged as a hierarchy of "directories". Your shell is always in some directory or other, called the "current working directory". When you type out a "simple" filename it is assumed to be in the current directory. You can specify other directories besides the current one using slashes; so if you're in /home/fred for example (this means the subdirectory "fred" of the toplevel directory "home") you can type "tickle/salty" to refer to a file "salty" in the subdirectory "tickle". The "absolute" (full) pathname to the same file would be "/home/fred/tickle/salty". A filename starting with a slash is taken to be absolute; filenames starting with any other character are relative to the current Working Directory.
Here is a short (and incomplete) list of commands you will soon need. Some of these are generic UNIX commands but others (e.g., nc, pd, esctl) are specific to the concert machine.
WHen you start a new shell, you will find yourself in your home directory,
such as /home/bosco.
Print working directory
To find out in which directory you managed to end up, type: pwd
to "print your working directory."
To remove a file, type:
The filename can be a simple (slashless) filename or a pathname.
Type:
Sometimes you won't be able to read your friends' files because
your account won't have the necessary permission. Ask your friend to make
the relevant files "public readable". Also you will need read and "execute"
permission to the directories you need to search through to get the files
in question. To make a file readable by anyone (but to allow only the owner
to modify it, type
THe "-rw-r--r-" should have 3 "r"s in it if the file is public readable.
to list the current directory itself (not its contents), type
ls -l -d . For a directory you should get "rwxr-xr-x".
/usr/local/pd/bin/pd
alias pd '/usr/local/pd/bin/pd'
Don't forget to type a carriage return after this line.
(i.e., hit "Enter" after you typed the line.)
source ~/.tcshrc
The concert machine currently has a PCI128 audio card which supports stereo
audio input (mic or line level) and quadraphonic output. There are rumors
that the stereo input bleeds into two of the outputs although I haven't yet
noticed this. THe PCI128 has no digital audio output or input. So if
you're doing any audio recording you should do it on the SGIs and use
"ftp" to transfer files to and from the concert machine.
The audio outputs appear as line inputs 1 through 4 on the B104 mixer. If
you're running quad the order is 3, 4, 1, 2. The usual practice for listening
to quad output is to assign channels 1, 2, 3, 4 to groups 7, 8, 5, 6,
respectively, and patch them to the front and rear power amplifiers using
4 patch cords.
To get line level audio signals to the concert machine from the mixer,
assign
the desired signal (e.g., the microphone on channel 16) to group outs 1 and 2,
and patch them to "CPU 1 audio inputs" 1 and 2.
This section describes how the concert machine is currently cabled. The
following instructions are for the PCI128 audio card I installed 12/24/99.
There is a cable harness that leads to 10 1/4 inch jacks at the top of the
concert machine rack. Two are for digital in and out. The middle group of 4
is outputs and the outer group of 4 is inputs. The 4 inputs have balancing
transformers.
On the other end are 4 1/4 inch stereo plugs. The two grey ones are for the
sound card's outputs (one dot is front stereo pair; 2 dots is rear stereo pair.)
Line input to the card is the black stereo plug with the 2 dots. (The
single-dot one furnishes 2 more inputs but the sound card has only 1 line level
input.)
The audio inputs and outputs on the PCI128 aren't clearly labelled and various
documents give them inconsistent names. On my card there are 4 stereo
mini jacks and a joystick port, in this order:
To make the card do quad you have to run the "esctl" program. You should see something like this:
The really tricky thing about quad is that the regular "stereo" outputs
move to the black jack and the new "back" channels appear on the regular line
output (green.) What's more, the back channels are normally mixed into the
front ones (or is it vice versa?) so you'll have to play blind man's bluff with
aumix for an hour or so to get the four channels to emerge separately. For
me the mixer settings were:
Here the "R" at left of the "line" control means that the line input has been
selected for recording; the "o" indicates that the input level is medium. If
you want to use the microphone input, you will have to bring "mic" up, "line"
down, and select "mic" as the "recording channel."
Midi is now working in B104!
The piano has to be put in "real time MIDI mode"... after powering the piano
up, hit "midi" and then hit the RECORD button until you see that MIDI out
is "kbd" and not "DELAYOUT."
Removing files
rm filename
mv filename1 filename2...
destination-directory
Making directories
The mkdir command stands for "make directory." The command
creates a directory in the current working directory unless you specify a
pathname to another directory.
You won't see any changes. If you know the pathname to a directory, you can
skip the step where you change to the directory in which you wish to create the
new directory. Then you may simply type: mkdir pathname/directory_name
Copying directories
The cp command stands for "copy." This command may be used for
directories or files (see Copying Files below). cp
will copy the given file to the current working directory or a specified
directory. Since a directory often has contents, you must specify that the
command must work recursively. Therefore, the option -r causes cp
to copy the contents within the target directory as well.
cp -r
pathname/target_directory_name pathname_to_destination
It is important to note that one may copy a directory and change the name of
the copy by specifying a name for the destination directory withing the
command. For example,
cp -r ~/my_original_directory ~/destination/my_copy
will copy the my_original_directory, which lives in my home directory, to the
directory named "destination." However, it will rename it to "my_copy."Changing access permissions
chmod 644 filename1 filename2...
chmod 755 directory1 directory2...
You can verify the settings using ls -l which gives you a readout as in:
-rw-r--r-- 1 msp msp 5156 Jan 24 1999 1.ring-mod.pd
-rw-r--r-- 1 msp msp 5474 Jan 24 1999 2.bandpass.pd
-rw-r--r-- 1 msp msp 12805 Jan 25 1999 3.phase.vocoder.pd
-rw-r--r-- 1 msp msp 617 Jan 24 1999 README.txt
Reading the UNIX manual
Editing text files
Starting Pd
Making a convenient command for Pd
The following process must be followed exactly as described. If you are not
working in the UCSD environment, and you do not understand shell startup files, then
you should not mess with this.
THE B104 CONCERT MACHINE AUDIO SETUP
cabling the concert machine
joystick black green red blue
bidirectional line-out mic-in line-in
audio settings on the concert machine
[concert@man104-3 ~/demo]$ esctl
quad 0
preamp 1
5v bias 0
monitor 16448
[concert@man104-3 ~/demo]$ esctl q -m
quad 1
preamp 1
5v bias 0
monitor 0
(here I ran the program, found "quad" off and "monitor" on, and fixed them
in a second invocation.)
aumix ++++++++++++++++++++++++++++++O+++ Vol ++++++++++++O+++++++++++++
P++++++++++++++++++++++++++++++O+++ Synth ++++++++++++O+++++++++++++
Quit PO+++++++++++++++++++++++++++++++++ Pcm ++++++++++++O+++++++++++++
Load R+++++++++++++++++++O++++++++++++++ Line ++++++++++++O+++++++++++++
Save PO+++++++++++++++++++++++++++++++++ Mic
Keys PO+++++++++++++++++++++++++++++++++ CD ++++++++++++O+++++++++++++
Mute O+++++++++++++++++++++++++++++++++ Mix
O+++++++++++++++++++++++++++++++++ OGain
PO+++++++++++++++++++++++++++++++++ Line1 ++++++++++++O+++++++++++++
PO+++++++++++++++++++++++++++++++++ Line2
PO+++++++++++++++++++++++++++++++++ Line3
0 Level 100 L Balance R
MIDI
Acknowledgement: the UNIX lore here is adapted from Kerry Hagan's UNIX page.