OpenMusic

Visual Programming | Computer-Assisted Composition

OpenMusic Tutorials

Prev| Chapter 8. OM Music objects Chord-seq and Voice| Next


Tutorial 27: Introduction to rhythm quantification

Topics

Converting lists of durations into traditional rhythmic notation; passing data between Chord-seq nad Voice.

Key Modules Used

om-quantify, Voice, flat

The Concept:

The omquantify function converts a list of durations, in milliseconds, into a rhythm tree (treating positive integers as durations and negative integers as rests). In this example we will quantify a Chord- seq (A) from Tutorial 13 using two different settings. Remember that Chord-seq does not recognize negative integers as rests; its _ldur_ output is simply the durations of the notes, without regard for where they fall. The omquantify function treates the duration list as consecutive durations that are ‘flush’ with each other. If ther are gaps in the original Chord-seq, then, the transcription will not be accurate.

As described further down, there is another way to transmit data from a Chord-seq to a Voice; this is to plug the _self_ output of the Chord-seqinto the _self_ input of the Voice. This method has the advantage of preserving the real start times (onsets) of all notes regardless of whether they are ‘flush’ with their neighbors. However, each note is transcribed to last until the onset of the next; i.e. the transcription will not have any rests.

The Patch:

In order to quantify from a Chord-seq, we will use the list of durations that we get evaluating its fourth output, _ldur_. Each of these durations corresponds to a note in the Chord-seq. In some cases there might be rests in the sequence. As mentioned above, using this method (using only the _ldur_ output of Chord-seq) we will get an inaccurate result. Therefore we will check the Chord- seq (A) in its editor and select the dur item from the pop- up menu. We verify that all notes fall one after another (are ‘flush’ with each other) forming a monodic sequence without rests:

We will then connect the fourth output _ldur_ of the Chord-seq (A) to flat (B) in order to get a simple list of durations.

flat (B) is connected to the first input of omquantify (C). At the second input we will enter 60 indicating a tempo for the transciption. The third input is for the time signature. The fourth input is the maximum limit (exclusive) of for subdividing the pulse, in this case, by 8, or into 32nd notes.

As mentioned above, you can connect a Chord-seq directly to a Voice via the _self_ input:

In this case, an omquantify is automatically performed on the material. The settings for this automatic omquantify are in the Preferences Pane. Click the icon:

and then the quantify icon:

A preferences panel appears where you can edit the default settings:

If we connect our Chord-seq directly to the _self_ input of the Voice:

We get the following transcription with the defaults:

In the bottom half of the patch window, we clean up the transcription by adjusting some settings with the additional inputs (added with option- -> ) of omquantify:

You’ll often have to fool around with tempo and time signature settings before you get a decent transcription out of omquantify. In the example above we have used the fifth and the seventh optional inputs of omquantify. The fifth input, _forbid_ is a list of forbidden subdivisions of the pulse (here quintuplets, sextuplets and septuplets are forbidden). The seventh input, _precis_ , is a level of precision, which is a value between 0 and 1, inclusive. 1 is the highest level of precision, with accurate but complicated results. 0 is the least precise, yielding simple but less accurate results. In our case, we changed the time signature to (4 8). We did this so that the unit of the pulse would be the 8th note and the smallest permitted division (which is 8) is thus equal to a 64th note. If your settings don’t allow room for the smallest note values of the original, omquantify may drop some notes, but it always lets you know in the Listener:

? Warning: with the given constraints, 5 notes are lost while quantizing

Our new transcription is:


Prev Home Next
Tutorial 26: Editing rhythm with the Voice graphic editor    
Up Playing MIDI II