Recording a sound-object

Restart BP2 or, at least, type cmd-n or select "New project" in the "File" menu in order to delete any previously loaded alphabet and grammar and reset all settings to default. Type cmd-h or select "Alphabet" in the "Windows" menu. So far we have not used any alphabet because the first experiment was on simple notes using a predefined alphabet, i.e. C, D, E... and octave numbers in English convention. Let us now create a very simple alphabet of sound-objects. Clear the window and type:

a b c

(You may save it as "-ho.MyAlphabet" if it is too much work!) Now type cmd-e ('edit') or select "Edit prototypes" in the "Windows" menu. This takes you to the sound-object prototype editor. BP2 asks you whether you want load an existing file. Answer 'No'.

The main dialog in the sound-object prototype editor is shown Fig.2. (Here you'll be in trouble if your screen is smaller than 640 x 480!)



Fig.2 The sound-object prototype editor (main dialog)

Left and right arrows or the "Go to..." button are used to display other sound-object prototypes.

We will now create a sound-object prototype named 'a'. Click "Edit/record MIDI prototype". A new dialog appears. Click "Record". Ticks are played to the MIDI output at metronome speed mm = 60. Play a short phrase on the MIDI keyboard and click the mouse. The sound-object prototype appears on the graphic.


Fig.3 A sound-object prototype has been recorded


Vertical lines in the rectangle indicate MIDI events. If the pitch bender was moved or volume and channel pressure were changed many lines will be visible.

A red vertical line indicates the insertion point. It shows a location that has been clicked on the graphic. This insertion point may be adjusted precisely using left/right or up/down arrows with the command key down.

To hear the prototype from the insertion point click "Play" in the same dialog, or press the command key and space bar together. The "Play" button plays the entire prototype only if no insertion point is visible.

Since trailing silences in the beginning and at the end of a sound-object prototype cannot be recorded, you may want to insert or append them afterwards. "Append silence" prolongates the prototype with a silence. This is sometimes more convenient than using ordinary silences (notated"-") because, for instance, this prolonged part may be "protected" if property "Never cover end" has been set. If the object is a bell sound, the silence could for instance allow its resonance to be heard fully. In other words, a sound-object may not terminate on the last MIDI message whenever the sound "goes on", or it is to be followed by a certain amount of silence. Similarly, you may want a silence to precede the sound-object, perhaps to enhance its impact. Click "Insert silence". (Note that if an insertion point is marked insertion will be attempted at the specified point.)

All buttons in the sound-object prototype editor are documented on-line: type cmd-? and click a button to get related information. Don't hesitate to play around with these editing procedures. Also try to modify ticks (saved along with the "-mi.<name> " file) and the value of 'tref' which determines the reference tempo of a sound-object prototype.

Click "Duration/pivot/location" to modify properties of the sound-object prototype. Change the pivot location and watch the effect on the graphic display. The pivot is used for placing the object on time streaks, e.g. metronome beats. If you inserted a silence in the beginning of the sound-object it may be a good idea to locate its pivot on the first NoteOn. If you are using plucked or drum sounds on a MIDI sampler you may enter precise locations forcing pivots to coincide with the climax of each object rather than the beginning of the sample.

Users of old versions of BP2 will notice that sound-object properties have been refined: properties such as "OK Rescale", "Expand at will", etc., are still there with the same meanings. But now it is possible to define a range of acceptable dilation ratios. As to location, rather than stating that the sound-object is relocatable or unrelocatable, it is possible to define its maximum acceptable shifts either in relative (a percentage of its duration) or absolute value (milliseconds).

If BP2 is controlling a synthesiser it is generally convenient to define sound-objects with property "OK Rescale": MIDI messages contained in the prototype will be spaced according to the metronome value and the symbolic duration of the corresponding sound-object (see §4.2). On the other hand, if BP2 is connected to a MIDI sampler then this rescaling might better be disabled. Since the rich musician's environment often comprises several synths and samplers on various MIDI channels, it is convenient to set these properties separately for each sound-object prototype.

In the same context (several MIDI devices) it is also necessary to declare the MIDI channel of each sound-object prototype: click "Channel/Instrument" in the main dialog (see Fig.2). Changing the channel is self-explanatory.