Capella Tutorial
Heinrich Taube
School of Music, University of Illinois
taube@uiuc.edu
INTRODUCTION
This tutorial steps through a small composition project to point out some of the
basic features of Capella, a graphical interface to Common Music that
runs in MCL on the Macintosh. The tutorial assumes that you built Common Music with
the MIDI syntax
enabled, and that you have a MIDI device attached to your Mac. Select a piano
sound on your synthesizer for best effect.
The following special marks are used:
<Return> means press the return key.
<Click> means select with the mouse.
APPLE-<Key> means press <Key> with the Apple command key depressed.
=...= marks a window title.
[...] marks an icon.
OBJECTS AND BROWSERS
Capella provides a Common Music menu and two different types of windows.
Worksheet windows support general activities like editing musical data,
playing files, etc. Browser windows are context sensitive views on individual
musical objects. One special browser, titled =Top-Level Listing=, is
particularily important because it shows all the objects you have defined in
the current session.
- Type APPLE-T to activate =Top-Level Listing=.
Note: You can also select "Top Level" from the Common Music menu to
call up =Top-Level Listing= at any time. Note that the Top-Level
object already contains two objects -- Tune1 and Algo1. These objects
were created as a result of loading this tutorial. Tune1 is a thread
(a sequence) of MIDI data. Algo1 is an algorithm (a program) that
computes MIDI data on the fly. As mentioned previously, Top-Level is
a system thread containing all the named objects currently defined.
LISTENING TO OBJECTS
We start by listening to Tune1.
- Type APPLE-M to open a MIDI connection.
Note: APPLE-M toggles between opening and closing the MIDI port
connection. You must open MIDI before sending data to it. This only
has to be done once per session, and only if you write midi data
directly to your synthesizer. The open connection is shown in the
Lisp Listener Window. (Your connection may indicate PRINTER instead
of MODEM): #<Port: Midi to MODEM>
- Type APPLE-T to insure that =Top-Level Listing= is the active browser.
- <Click> on Tune1 in the main view of =Top-Level Listing=.
Note: If both Tune1 and Algo1 are currently selected, clicking
on Tune1 will deselect Algo1.
- Type APPLE-U to send musical output from Tune1 to your synthesizer.
Note: If you don't hear anything use APPLE-~ to debug your MIDI
connection. This command sends a short burst of notes to your
synthesizer. Keep testing the connection with APPLE-~ while you debug
the problem. Is your midi device connected properly? Is your amp
turned on? ...?
DUPLICATING MATERIAL
- Insure that =Top-Level Listing= the active browser again by
clicking on its title bar or typing APPLE-T.
- <Click> on Tune1.
- Type APPLE-D to duplicate Tune1. Tune1-Copy is now selected in the
listing.
Note: You can also create objects using Copy Paste (APPLE-C,
APPLE-P), or using the New submenu or the [+] icon in any listing
browser.
RENAMING OBJECTS
- With Tune1-Copy still selected, click on [i] (the second icon
from the left) in =Top-Level Listing=. A new browser called
=Tune1-Copy Info= appears, with the name Tune1-Copy already
highlighted in the name buffer at the top of the window.
Note: =Tune1-Copy Info= is an information browser. An
Information browser shows summary information about an object and
allows its attributes to be edited.
- Type Tune2 in the name box and press <Return>. The browser
is now titled =Tune2 Info= and Tune2 is selected in =Top-Level
Listing=.
- <Click> on the small box on the left hand side of the title
bar to close =Tune2 Info= .
EDITING MATERIAL
- Select Tune2 in =Top-Level Listing=.
- <Click> on [pencil] (fourth icon from left). The worksheet
=Edit (Top-Level)= is now visible on your screen.
Note: A parenthesized name in a worksheet title shows the
current focus object.
- Mouse on the Objects pop-up menu and select Midi-Note from the
contents. A table appears at the bottom of the worksheet and the
command region at the top of the worksheet is now enabled.
Note: The Edit worksheet's table is a class specific template
for specifying slot value expressions. The worksheet automatically
adjusts this table to reflect the current selection focus. If a
single table can't be determined for the current selections the table
is removed and Edit waits for you to select the appropriate table by
hand. You can click the Lock check box to force the current table
remain installed no matter what type of objects are selected in the
current listing browser.
- Select the Transpose command by <clicking> its radio button
directly to the left of the command name.
- <Click> in the edit buffer for Note, type 12 and the press
the OK button. All the MIDI data in Tune2 has now been transposed up
12 degrees in the standard scale.
- <Click> the radio button for the Set command.
- <Click> in the table buffer for Amplitude, type .4 and then
press OK. All the MIDI data in Tune2 now has an amplitude of 0.4 (1.0
= 127).
- Type APPLE-T and then <Double-Click> on Tune2 in =Top-Level
Listing= to confirm that its MIDI data is now different than the data
in Tune1.
SCHEDULING OBJECTS RELATIVE TO ONE ANOTHER
Now we will listen to Tune1 and Tune2 in canon.
- Type APPLE-T to make =Top-Level Listing= the active browser.
- Select Tune1 AND Tune2 by selecting Tune1 and then dragging the
mouse down to Tune2.
Note: APPLE-<Click> performs disjoint selection and
deselection. SHIFT-<Click> performs contiguous
selection/deselection.
- <Click> on [layout] (4th icon from right) to bring up an
=Output= worksheet.
Note: The =Output= worksheet allows you to design different
"layouts" of musical material. Each layout represents horizontal
(sequencing) and vertical (mixing) relationships between objects that
produce sound.
- Select Midi from the pop-up Streams menu in the upper field of
=Output=.
- <Click> in the box for Tune2 and change the text to "Tune2
start 5" and then press <Return> or to exit the box.
Note: The box automatically resizes itself after you type
<Return>.
- <Click> on the Output button or type APPLE-U to start
output processing. You now hear Tune1 starting at time 0 and Tune2
starting at time 5.
CONDITIONAL EDITING
Next we will edit some of the material in Tune2.
LISTEN AGAIN
Now use =Output= to listen to both Tune1 and Tune2 in canon again:
- <Click> on =Output= or select it from the Windows menu.
- Type APPLE-U to listen to the material.
STORING LAYOUTS
You can name, store and later retrieve layouts for use.
- Type Canon1 (or whatever name you want to use) in the text box
above the layout field.
- <Click> the Store button.
The layout is now accessible via the pop-up menu to the left. This layout is
preserved even if the =Output= window has been closed.
MAKING A THIRD VOICE
Next we build a bass line by duplicating Tune1, renaming the new
object Tune3 and transposing its MIDI data down 2 octaves:
- Select Tune1 in =Top-level Listing=.
- Type APPLE-D.
- Type APPLE-I.
- Type Tune3 and press <Return>.
- Close =Tune3 Info=.
- Type APPLE-T.
- <Click> the [Pencil] icon.
- Select Midi-Note from the Object menu in =Edit (Top-level)=.
- <Click> on the radio button for Transpose.
- <Click> in the edit buffer for Note and type -24 .
- <Click> OK.
- <Click> on the radio button for Set.
- <Click> in the edit buffer for Amplitude and type .5 .
- <Click> OK.
Tune3 is now a slightly louder bass line two octaves below Tune1.
USING QUERY
Now we want to emphasize just the lowest tone in Tune3. But what is
the lowest tone and which midi-notes contain it?
- Select Tune3 in =Top-level Listing=.
- <Click> the [?] icon. A new worksheet called =Query
(Top-Level)= appears.
- Select Lowest from the Find menu at the top of the window.
- Type Note in the buffer to the right of the menu and press
<Return>. An answer appears in the output pane at the bottom of
the window telling you that C2 is the lowest note.
Note: Note is an example of a simple mapping expression. See
the end of the Selection help in Capella's help menu for more
information.
EMPHASIZING THE LOWEST PITCH
- Type APPLE-T and <Double-Click> Tune3 to bring up =Tune3
Listing=.
- Copy Paste the following expression to the selection buffer in
=Tune3 Listing=:
(equal note c2)
- Press <Return>. All midi data with a Note value of C2 is
now selected.
- Select the =Edit ...= worksheet.
- <Click> on the radio button for Scale.
- <Click> in the edit buffer for Amplitude and type 1.25 .
- <Click> OK.
LISTENING IN PARALLEL
Now listen to Tune1, Tune2 and Tune3 with local start time offsets of
0, 5 and 10, respectively:
- Select the =Output= worksheet or use the [Layout] icon in
=Top-Level Listing=.
- Select Canon1 from the Layout pop-up menu if it is not already
visible.
- <Click> in the box "Tune2 start 5" and type APPLE-C to copy
its contents.
- Type APPLE-V to create a new box underneath it.
Note: APPLE-N creates a new, empty box in the layout field
ready for input.
Note: Use the Tab key or Control-f (forward) and Control-b (backward)
to move from box to box.
- <Click> in the newly created box and change "Tune2 start 5"
to "Tune3 start 10".
- Press <Return>.
- <Click> on the Output button or type APPLE-U to listen to
the output mix of the three objects.
LISTENING IN SEQUENCE
Algo1 is an algorithm that creates chords using pseudo-random
selection. We first listen to Algo1 several times understand its
behavior :
- Select the =Output= worksheet.
- Select New from the Layouts pop-up menu in =Output=.
- Type APPLE-T to select =Top-Level Listing=.
- Select only Algo1 in =Top-Level Listing= and <Click> the
[Layout] icon.
- Append " start 1 repeat 2 pause 3" to the "Algo1" text string,
then press <Return>to exit the box.
- <Click> the Output button. Algo1 will start playing after
1 second. It will play two times with a three second pause between
each iteration.
- Look at Algo1's algorithm by selecting =Algo1 Code= from the
Windows menu. A Code browser is a structured editor for developing
musical algorithms. Explaining it is beyond the scope of this
tutorial.
Note: See the files cm:doc:item-streams.rtf and
cm:doc:dictionary.rtf to learn about pattern generation in Common
Music.
LISTENING TO THE COMPOSITION
- Select the =Output= worksheet.
- Drag the lower right corner of =Output= to make it slightly
longer.
- Select Canon1 from the Layouts pop-up menu in =Output=.
- <Click> in the box "Tune3 start 10" and type APPLE-C to
copy its contents.
- Type APPLE-V to create a new box underneath it.
- Click in the new box and change "Tune3 start 10" to "Algo1 start 15".
- Press <Return>.
- <Click> on the Output button or type APPLE-U to listen to
the output mix of all the objects.
SAVING YOUR WORK
- Select =Top-Level Listing=.
- Select Archive from the Common Music menu, or <Click> the
[Download] icon (furthest right). Specify the directory and filename
and <Click> OK. It may take a bit of time to save the objects,
so be patient.
LEARNING MORE ABOUT COMMON MUSIC
Common Music Documentation.
hkt 17.11.95