If you've ever hit a mental block when searching for the rightchord or a variation on a melody, the people at Microworks can giveyou some assistance. They have created the Computer Assisted MusicProcessing System (CAMPS), an algorithmic composition program thatmight shake your creative logjam loose. CAMPS 4.0 features areasonably complete sequencing environment and tools to generatevirtually any element of a piece of music.
With an array of automatic tools, from harmonization to melodycomposition to drum arranging, CAMPS certainly covers a lot ofbases. Though its language is that of music theory, CAMPS' featuresare accessible to users with little or no formal training.Ultimately, though, the autocompose features' nature and qualitydetermine whether the program is useful to you.
GETTING IN AND AROUND
The first thing I noticed when I opened CAMPS' box is the almostcomplete lack of hard-copy documentation. Only four sheets of paperare included with the installation CD. One page is devoted to aQuick Tour of the CAMPS environment, and the other three areconcerned with the proper installation and authorization of theprogram. Read those pages carefully to avoid problems with yourregistration key.
Using a standard challenge-and-response technique, CAMPS hides adigital license on your hard drive. This requires that you extractthe license to a floppy disk if you transfer the program to anothercomputer. Unfortunately, you must also do this every time youdefragment your hard drive, a huge annoyance for musicians whodefrag their drives frequently. According to Microworks, theprocedure is required because of Windows operating systemlimitations and may be resolved in the future.
If you're familiar with another sequencer, CAMPS' environmentshould be as comfortable as old jeans. The default startup windowis a standard Track view with toolbars at the top and bottom of thescreen (see Fig. 1). Other editing views include the NotationEditor, Piano Roll Editor, Event List Editor, and Controller DrawEditor.
Upon closer inspection, the Track view proves to have two uniquefeatures. First, an extra track called the Chord Track lets theuser set an extensive group of parameters that establish the key,mode, and function of each chord in a song (see Fig. 2). Theseparameters are the guidelines that the program uses to generatealternate chord progressions. The second unique feature is thecategorization of each track according to its function. Categoriesrange from Melody to Bass to Drum, and they guide CAMPS in itsanalysis of existing parts and in the creation of appropriate newlines and harmonies. (The Drums category indicates that CAMPSshould compose lines appropriate for unpitched instruments and thatit should ignore that track when doing a harmonic analysis.)
As a sequencer, CAMPS is fine but not fancy. I like the factthat many commands are available directly from the keyboard or theright mouse button. I was able to play and record MIDI tracks,import Standard MIDI Files, and even tinker with all theautocompose features before cracking the online manual. The onetruly obscure procedure is setting tempos, which is only possiblefrom the Tempo List Editor or the Tempo Draw Editor. Unlike othersequencers, CAMPS doesn't have a dialog box where you can enter atempo value, which I found awkward.
The program's online help feature is a model of hyperlinkedorganization. I can't imagine anyone doing a better job with thatformat, yet I found myself begging for a hardbound manual. A PDFfile on the CD helps some, but unfortunately, it follows the onlinehelp structure. Hyperlinked help files are a great reference forretrieving details and cross-referencing information, but they justdon't cut it for the linear process of learning new software.
A FISTFUL OF CHORDS
The real power of CAMPS is in its autocompose features,including its ability to analyze the Chord Track and any existingMIDI tracks and make suggestions based on that analysis. Using theuser-defined parameters in the Chord Track as a reference, theprogram can generate a completely new chord progression or suggesthundreds of alternative progressions that harmonize with existingtracks. You can also manually construct any of the chords yourselfor simply have CAMPS analyze an arrangement's chord progressionfrom the existing tracks.
The Chord Track is subdivided into Chord Blocks, and each ChordBlock is made up of one or more Chord Containers. A Chord Block isnothing more than a way of dealing with groups of Chord Containers— for example, identifying them for reharmonization orperforming standard cut, copy, and paste functions. A Chord Blockusually corresponds to a complete musical phrase or subphrase,typically from four to eight bars. The length of a Chord Block canbe defined manually or determined automatically based on CAMPS'analysis of existing tracks.
The really useful information resides in the Chord Containers.Each Chord Container contains only one chord, but the name"Container” reflects the fact that a Chord Containeralso holds information about the chord's key, mode, and duration— the factors CAMPS analyzes to determine potentialalternative chords. The same Chord Container could thereforerepresent any number of chords that share the defined parameters.You can establish the harmonic tendencies of Chord Containersmanually or let CAMPS sort them out from your existing MIDItracks.
CAMPS provides three basic functions for manipulating chords:Generate, Harmonize, and Construct. Those functions also come insome "EZ” flavors, which, in combination with a MagicWand tool, give novices quick results with predeterminedalgorithms. The authors are quick to point out, though, that themore input you provide, the more useful and musical your resultswill be.
HARMONIC COMPLEXITY
I tested the program by importing a MIDI file of a salsa-esqueoriginal composition built around a stock chord pattern, namely onebar each of G minor, F, Eb , and D7. Thearrangement consisted of 13 tracks: two trumpet; one each of horn,trombone, and tuba; and eight percussion. The piece's first eightbars were completely chordal and, with the exception of a singlechromatic note in the tuba part, completely diatonic. CAMPS did aperfect job of analyzing the tuba part's function as a bass lineand the drums as nonharmonic information, correctly declaring theother brass parts to be melodic lines.
When I asked CAMPS to EZHarmonize the entire arrangement,though, I received some very strange results. The Harmonizefunction is intended to generate chords that fit with existingpitched data, yet its first chord choice on repeated harmonizationpasses was an F# diminished orG# diminished, despite the clear tonality ofthe music. Even removing that one chromatic tuba note didn'thelp.
Heeding the authors' advice that EZ functions are merely astarting point, I next tried to Harmonize the song. When I selectedthe Harmonize function, a dialog box opened and started listingdozens of Detected Keys and Modes and hundreds of Detected ChordProgressions, all at lightning speed (see Fig. 3). I selected Gminor as the key and mode to focus on, and all the displayed chordprogressions reflected that choice, more or less. ThoughEZHarmonize failed to suggest a starting chord of G minor onrepeated passes, almost half of the suggestions in the Harmonizewindow started with that chord. Still, after scrolling throughscreen after screen of suggested chord progressions, I never foundthe pattern I thought my music implied.
If you're looking for ideas to shake up your staid harmonies,you may regard this tendency to avoid obvious choices as a goodthing. Clearly CAMPS is not short on imagination; I suspended thesearch for possibilities at around 10,000 G-minor chordprogressions.
I started a new file and tried to restrict the possibleharmonizations further by entering a simple chord-based melody andalso defining specific first and last chords. The good news is thatCAMPS takes the chords before and after a harmonization region intoconsideration when generating alternatives. The bad news is thatthe Harmonize dialog box only lets you audition the newly generatedchords and doesn't let you hear them in context. On the other hand,if you attempt to Harmonize several noncontiguous chords, it willplay the intervening chords during the preview.
Next I entered five bars of George Gershwin's "I've GotRhythm,” one of the most common chord progressions in Westernmusic. I included a simplified melody and the tonic chords thatoccur in the first and fifth measures. Then I selected measures 2through 4 for harmonization. I wasn't forced to suspend the processthis time, as there were only 997 variations, a much moremanageable number. There were fewer jarringly dissonantsuggestions, but I was still surprised to find that the familiar I— vi — ii — V progression was number 101 on thelist of suggestions, with the rock ’n’ roll version (I— vi — IV — V) barely beating it at number97.
When I asked Microworks about the problem, I was told that toavoid making stylistic decisions, CAMPS does not prioritize resultsin any particular order. I think there needs to be some way theuser can manage the program's many suggestions. Providing moreeffective tools to organize or constrain the results would makeCAMPS a far more useful program. In its present form, the programlacks the tools to control its own imagination.
To have the program create alternative chords withoutconsidering existing MIDI lines, use the Generate function. In thismode, CAMPS bases its choices solely on the existing key and modedata defined in the Chord Containers. When I generated alternativesto the first eight bars of my salsa tune, CAMPS offered 500,000suggestions before I suspended the process. The first 13suggestions were variations of the first chord with the rest of thephrase harmonized simply as I — ii — V — I— ii — V — I. The next 135 patterns varied thefirst two chords while keeping the remaining six bars constant.CAMPS generated about 20,000 progressions before varying the fifthbar.
These results from the Generate function again make apparent theabsence of tools to distill the program's "creativity.”Though the pattern of results was predictable, (varying only thefirst chord, then the first two, then the first three, and soforth), I found wading through half a million suggestionsdifficult. The fact that Generate gives you the flexibility toignore melodic lines also makes me wish Harmonize respectedexisting lines more. That would allow the user more control overthe number of outside-of-the-box suggestions.
LISTEN TO THE MELODY
CAMPS' Compose function is its only tool for generating new ortransforming existing melodic lines, yet Compose utilizes moreinternal parameters than the chord functions (see Fig. 4). It alsotends to be more conservative in its suggestions, varying themelody a little bit at a time depending on how you set up theparameters.
The Compose dialog box allows you to determine the relativeconsonance, melodic activity (for example, use of repeated notesand size of skips), rhythmic characteristics, and scale and rangeof the melody, among other factors. You can choose to have the newmelodies follow an existing rhythm, or you can select RhythmCompose to hear variations. All those factors affect the degree towhich the melody is altered.
Numerous Compose presets are included that illustrate thealgorithm's flexibility. Mellow Alto Sax, for example, has a rangeof less than two octaves, a very high consonance level, and amaximum leap of a perfect fifth. Out Guitar, by contrast, featurestwice the range and a significantly higher tendency towarddissonance. There are different presets for every Line category,with the tendencies of an Obbligato or String line modifiedappropriately for its role in the overall arrangement.
A unique feature called MelodyDraw lets you draw a shape for themelody to follow. That may be one of CAMPS' strongest features asit allows a composer to say, in effect, "Give me a moderatelydissonant line that descends for six bars and then reversesdirection.” MelodyDraw could be improved with the addition ofa larger drawing window or a variable zoom for the window. Once Iestablished chord patterns that I liked, I found MelodyDraw and theother Compose features to be potentially useful.
CAMPS even adds harmonies to a line with any combination ofseveral standard voicings. Open the Notation or Piano Roll View,select a line for Voicing, and you are presented with anote-by-note dialog for choosing Cluster, Close, Drop-2, Drop-3,Drop-2&4, Fourths, Spread, or Upper Structure Triad voicings.That is an impressive array of arranging techniques, but selectingvoicing styles on a note-by-note basis is pretty tedious.
Fortunately, CAMPS remembers the last voicing you used. The nexttime you open the Voicing dialog box, it assigns the previousvoicing as the default for all selected notes. As long as you planto continue in the same voicing style, this feature saves you a lotof effort. Still, I would prefer to select a voicing style for theentire selection and then tweak individual voicings asnecessary.
RATTLE YOUR MUSE
Make no mistake: CAMPS packs a lot of musical intelligence.Also, it performed at blazing speed on everything from a PentiumIII/450 MHz to a mere Pentium 120 without a hiccup. It's the kindof direct, efficient, no-nonsense program I love to use.
Nevertheless, I was frustrated by the lack of control over theharmonization process. It's great that CAMPS generates the type ofchromatic substitutions jazz players thrive on, but it has troubledealing with simple triadic pop harmony. In addition, I discoveredthat its harmonic vocabulary lacks one of the most common dominantsubstitutions in pop music: the IV chord over the V chord's root(for example, an F triad over a G bass in the key of C). Moreover,the process of limiting and defining results is pretty clunky: iftriadic harmony is possible, it isn't easy to achieve. Overall, themelodic tools are more useful, yielding possibilities that seemmore appropriate. Undoubtedly this is due to the greater degree ofuser control over the process.
If you're looking for something to rattle your muse's cage,download the fully functional, 30-day demo. Considering the nearlylimitless possibilities that CAMPS can suggest, you'll certainlynever be able to say, "I hadn't thought of that!”again.
home page:
http://www.mxw.com/win4/product.htm