Voice of the GoatCactus
Written by D. David "GoatCactus" Cumming
Copyright © 2003 GoatCactus Software
Part 1: Studio Window
Voice of the GoatCactus is an application that lets you create original music with the click of a button, even if you have no musical training. You can use the demo version to create studios and bands, listen to their music and make modifications. If you pay the modest license fee, you can save the music you've created, as entire studios or individual bands, or export the music as MIDI files. All music is royalty-free.
To use Voice of the GoatCactus, you need a Macintosh running OS X (10.1 or later required; 10.2.8 or later and QuickTime 6.4 or later recommended).
You can download a demo version of Voice of the GoatCactus from www.goatcactus.com. There's no installer; just put the single file anywhere you want, and double-click on it to start up Voice of the GoatCactus.
To convert your demo copy to a fully-functional version, you need to purchase a serial number. You can do this by following the links on the website to the online store, or from within Voice of the GoatCactus itself. Just choose Purchase from the Voice of the GoatCactus menu, or attempt to save a band or studio, or export music or graphics. You'll be prompted to make an online purchase so that the save operation can be completed.
This page describes the operation of Voice of the GoatCactus's main window, the Studio window. You can create lots of cool music just by pressing buttons in the Studio window. The kinds of music produced are governed by a bunch of hidden parameters, called studio and band settings. If you want to, you can influence the kinds of music being produced by changing the values of these settings. You can find out about them in part 2: settings.
Part 1 Contents
Removing Bands From a Studio
Using the Studio window (Fig. 1), you can create new music, or play or modify existing music. The Studio window lets you see one studio at a time; its name is shown in the header of the window. When one of the studio's bands plays, you can hear the music and see it through the Crystalline Eye of the GoatCactus, a multi-colored display that reflects the activities of the musicians over time. Bands are created by Voice of the GoatCactus according to the current values of the studio settings. You can influence the types of bands created by changing the values of the settings. You can also ask Voice of the GoatCactus to modify a band that's already been created, or modify it yourself.
Figure 1: Studio window
Each studio can contain an unlimited number of bands. Their names are shown in the Band Name list (Fig. 2). Band names are created automatically. They consist of a prefix, a sequence number and a time stamp. The time stamp format is (mm-dd-yyyy hh-mm-ss). The sequence number is 1, unless multiple bands were created simultaneously. To rename a band, double-click on its name, or choose Rename from the Band menu. In Fig. 2, the last 5 bands still have their default names; the others have been renamed by the user.
Figure 2: Band Name list
Each band contains 1 to 15 musicians and a conductor. Each musician is assigned an instrument, and can play on its own, or can collaborate with the other members of the band. Musicians can also be muted. When a band is selected, its musicians are shown in the Musician list (Fig. 3). The musicians don't have names; the name of the instrument that each one is playing is displayed. The 13 musicians of Band 11 are shown in Fig. 3. Musician 1 plays the Contrabass, Musician 2 plays the Acoustic Snare, and so on down to Musician 13 who plays the Pedal High-Hat. All musicians that are collaborating with each other have an * to the left of their instrument name. In this case, all musicians but numbers 2 (Acoustic Snare) and 10 (Vibraslap) are collaborating with each other. All musicians that are muted have an X to the right of their instrument name. In this case, musicians 3 (Timpani) and 7 (Acoustic Snare) are muted. The conductor isn't displayed; he doesn't have a name or play an instrument.
Figure 3: Musician list
When you start Voice of the GoatCactus by double-clicking on the application icon, a new studio is created automatically. If you have a studio open, you can replace it with a new one by choosing the New item from the File menu.
From the OS:
Double-click on one or more saved bands. If Voice of the GoatCactus isn't running, it will start up, create a new studio and add the bands to it. If Voice of the GoatCactus is running, the bands will be added to the existing studio. You can also drag bands onto the Studio window, and they'll be added to the existing studio.
Double-click on a saved studio. If Voice of the GoatCactus isn't running, it will start up and open the saved studio. If it is running, the existing studio will be replaced by the saved one. You can also drag a saved studio onto the Studio window, and it'll replace the existing studio.
From the File menu:
Choose the Open item to open a new studio, or the Open Band item to open a new band.
Importing MIDI Files:
To play a MIDI file, choose "Play MIDI File" from the File menu. The File Player window will appear and the music will automatically start playing. You can also drag MIDI files onto the Studio window.
Voice of the GoatCactus allows you to save individual bands as well as entire studios. To save the current studio, choose Save or Save As from the File menu. To save a single band, choose Save Band As.
Voice of the GoatCactus can also export bands as type 1 MIDI files. Select the band and choose Export Band As MIDI File from the File menu. You'll be prompted for playing time (up to 24 hours) and file name.
Newly-created studios are empty, so if you want to hear any music, you'll have to create some bands. To do this, use the buttons shown in Fig. 4.
Press the Create button to make a new band, based on the studio settings.
Press the Vary button to make a new band that's a variation of an existing one. The type of variations allowed are controlled through the band variation settings. The button is disabled unless one band is selected.
Press the Combine button to make a new band that's a combination of two or more existing ones. As shown, the button is disabled unless two or more bands are selected.
Press the Copy button to make a new band that's a duplicate of an existing one. The button is disabled unless one band is selected.
Figure 4: Band Creation buttons
Removing Bands from a Studio
To remove one or more bands from a studio, select their names in the Band list, then choose Delete Bands from the Band menu. Note that Voice of the GoatCactus has no undo operation; when you delete a band, it's gone forever, unless it's been saved to a file.
When the Create, Vary or Combine buttons are pressed, Voice of the GoatCactus responds according to the creation mode selected (Fig. 5):
Automatic: one new band appears, it plays, another new band appears, it plays, and so on, until you stop the process by pressing command-period. The bands are not discarded after playing.
Prompted: one new band appears, it plays, you're prompted to keep it or discard it, the next band appears and the process continues until you press the Stop button in the prompting dialog. The band that was playing when you pressed the Stop button is not discarded.
Manual: the number of bands specified in the box are created. They don't play automatically. To hear the music of one band, select its name and press the Play button.
If the AutoShift box is checked, the focus of the Crystalline Eye of the GoatCactus shifts whenever a new band is created.
Figure 5: Creation modes
To hear the music of one band, select it and press the Play button (Fig. 6). Voice of the GoatCactus responds according to the playing mode selected (Fig. 7):
Once: plays the portion of the selected band's music specified by the Playing Time sliders (Fig. 8), then stops. To stop playing early, press command-period. To resume play from where you stopped, press the Continue button (Fig. 6). You can only continue if you haven't made changes to the band since its playing was stopped, otherwise the button is disabled.
Forever: plays the selected band's music until you stop it by pressing command-period. Playing starts with the portion of the music specified by the Playing Time sliders (Fig. 8), then continues on forever in equal-sized chunks. For example, if the playing time is specified as running from 20 to 40 seconds, the following portions of the music will play: 20-40 seconds, 40-60 seconds, 60-80 seconds,...
Loop: repeatedly plays the portion of the selected band's music specified by the Playing Time sliders (Fig. 8), until you stop it by pressing command-period.
Figure 6: Play buttons
Figure 7: Playing modes
To listen to all the studio's bands, over and over again, in the order in which they appear in the Band Name list, choose the Play All item from the Run menu. Playing starts with the first selected band.
To listen to all the studio's bands, over and over again, in random order, choose the Shuffle Play All item from the Run menu.
In both cases, playing mode settings are ignored; each band plays for the time specified by the Playing Time sliders, without looping or going on forever.
Each band is capable of generating an infinite amount of music. You can use the Playing Time sliders (Fig. 8) to choose what portion of it you'd like to hear. The start and end times are in seconds and can be adjusted by dragging the sliders or by typing in the boxes.
You can click and drag either slider, or click on the slider track to indicate the new position. Note that if the Starting Time slider is moved, the Ending Time slider moves with it, maintaining a constant interval between them.
You can change the values in the boxes by typing new numbers, or "+" or "-" to increase or decrease the values. Changes in the boxes don't take effect until you exit them by clicking on another control, or typing return. If you change the value in the Starting Time box, when you exit the box, the value in the Ending Time box will change to maintain a constant interval between starting and ending times.
Figure 8: Playing Time sliders
When music plays, it's displayed in the Crystalline Eye of the GoatCactus (Fig. 9) Each colored bar corresponds to the music played by one musician during the time period specified by the Playing Time sliders. The colors of the bar are determined by the notes being played, the instrument they're played on, the volume they're played at and the focus of the Eye. The order of the bars from top to bottom corresponds to the order of the musicians in the Musician list. Time runs from left to right, so if the playing time interval is 0 to 60 seconds, the left end of each bar reflects what that musician was doing at time 0, and the right end reflects its activity at time 60.
You can export the contents of the Crystalline Eye in the graphics format of your choice. Choose the Export Band Graphics item from the File menu. The Item is disabled when the Eye is blank.
Figure 9: The Crystalline Eye of the GoatCactus
The focus of the Crystalline Eye is specified by three parameters: action, element and time of day (Fig. 10). Each Eye focus will result in a different view of the music. The action and element parameters control the tint of the bars; the time of day parameter controls their shading. To choose a new value for one of the parameters, click on the current value and hold the mouse button to bring up a menu of possible replacement values. If you press the Shift button, Voice of the GoatCactus will choose a new focus for you. If the AutoShift box is checked in the Creation mode section, a new focus will be chosen every time a new band is created.
Figure 10: Viewing modes
The Crystalline Eye can be expanded or contracted via the View menu. When in contracted form, it occupies a small box (Fig. 9); when expanded, it fills the entire Studio window (Fig. 11). In this case, all controls are hidden, and you'll need to use the menus to do anything. If you resize the Studio window, the expanded eye will adjust itself accordingly, so you can still see its entire contents.
Figure 11: The expanded Eye
Voice of the GoatCactus lets you know what it's up to by showing messages in the Status display (Fig. 12), e.g. "Playing (press command-period to stop)". A blank display indicates that Voice of the GoatCactus has finished playing, and is waiting for user input. The text shown in Fig. 12 indicates that the user pressed control-period to interrupt playing after 24 seconds. When playing forever, Voice of the GoatCactus will use the Status display to let you know what portion of the music it's currently playing, e.g. "Playing 20 to 40 seconds". If you modify the band, the last change you made will be reflected in the display, e.g. "Conductor replaced".
Figure 12: The Status display
The properties of each band are chosen automatically by Voice of the GoatCactus. When a band is selected, its properties are displayed in the Studio window. You can change the band's music by asking Voice of the GoatCactus to pick a new value for a property, or by choosing one yourself. Note that Voice of the GoatCactus has no undo operation; once you've changed something, there's no going back.
Playing speed is controlled by the Tempo slider (Fig. 13). You can vary the playing speed between 3 and 300 quarter notes per minute by dragging the slider or typing in the box. The music will speed up or slow down, but its pitch won't change.
Figure 13: The Tempo slider
Key signatures have two components, key and mode. In Fig. 14 the key is Bb and the mode is Lydian-Augmented. You can choose new values for components independently, or press the Replace button to have Voice of the GoatCactus pick new values for you. To choose a new value yourself, click on the current value and press the mouse button to bring up a menu of choices.
Figure 14: The Key Signature controls
To change the time signature (Fig. 15), press the Replace button to have Voice of the GoatCactus choose a new value, or click on the current value and press the mouse button to bring up a menu of choices.
Figure 15: The Time Signature controls
With one or more instruments selected in the Musician list, press the Replace button (Fig. 16) to have Voice of the GoatCactus replace them for you. To choose new instruments yourself, go to the Instrument menu.
With two or more instruments selected in the Musician list, press the Trade button (Fig. 16), and the instruments will be swapped among the musicians.
Figure 16: The Instrument controls
With one or more musicians selected in the Musician list, press the Replace button (Fig. 17) to have Voice of the GoatCactus replace them for you. The new musicians will play the same instruments as the ones they replaced, but will play different tunes.
To add a new musician to the selected band, press the Add button. This button is disabled when the band already contains the maximum number (15) of musicians allowed.
To duplicate selected musicians and add them to the band, press the Copy button. This button is disabled if the operation would result in the band containing more than the maximum number of musicians allowed.
To delete the selected musicians, press the Delete button. This button is disabled if the operation would result in a band containing no musicians.
Figure 17: The Musician controls
To have Voice of the GoatCactus choose a new distribution of collaboration values for the musicians in the selected band, press the Replace button (Fig. 18).
To change the collaboration values of the selected musicians, press the Toggle button.
To mute or unmute the selected musicians, select the Toggle Muting menu item from the Musician menu. There is no button to do this; you'll have to use the menu.
Figure 18: The Collaboration controls
To have Voice of the GoatCactus replace the selected band's conductor with a new one, press the Replace button (Fig. 19).
Figure 19: The Conductor control