Data AcQuisition And Real-Time AnalysisScope - Spectrum - Spectrogram - Signal Generator
Software for Windows
Science with your Sound Card!
Contact us about
MIDI Buffer Repeat and Note Adjust Maps
Changes: Br="string", Bn="string"
The Buffer Repeat Map (Br) and Note Adjust Map (Bn) are used with the Buffer Repeat Notes (BR) command in a MIDI Changes script. As such, they only work with normal voice buffers, not Velocity, Note, or Chord Patterns.
The Repeat Map command format is Br="string", and the Note Adjust Map is Bn="string". The quotes around the string are mandatory. Each string may be up to 16 characters long.
The Repeat Map string is a list of digits that tell the Buffer Repeat Notes command how many copies of an original note are to appear in the final sequence. There is one Repeat Map character for each note in the original sequence, which is also limited to 16 notes maximum.
Since only one character is allowed per note position, to get more than 9 copies you must use letters A-G for 10-16 copies. This is similar to hexadecimal notation, with the addition of G for 16. (Heptadecimal?)
If the Repeat Map holds a '0' at any position, the corresponding note is removed instead of being repeated. The Repeat Map holds all zeros by default; if you don't set it, then the Buffer Repeat Notes command will remove all of the notes in its sequence. Similarly, if you set the Repeat Map with less characters than the count number you use in the Buffer Repeat Notes command, the excess notes will be removed.
A '.' (period) in the Repeat Map will cause the corresponding note to be replaced with silence; no copies will be made of that note.
The Note Adjust Map works in conjunction with the Repeat Map. It is used to adjust the note value of each copy of an original sequence note. It also holds up to 16 characters, but here they correspond to the copy number, not note sequence number: The first character is the amount (in semitones) to add to the first copy of any note, the second character is the amount to add to the second copy, and the 16th character is the amount to add to the 16th copy. In each case, the amount is added to the original note to get the copy value... the adjustment amounts are not cumulative.
One application of the Note Adjust Map is to make bass lines that walk up and down scales, with any step sizes you want. Suppose you set the Repeat Map to make 5 copies of each original note. If the Note Adjust Map holds "02420" then each original note will be replaced with a sequence of notes that walks up and back down to its original value. If the original notes were CFG the result would be CDEDCFGAGFGABAG.
A simpler application of this is just to use 2 copies of each note, such as the original and one step up.
Unlike the Repeat Map, the Note Adjust Map characters are not "heptadecimal". In order to allow both positive and negative adjustments, Note Pattern characters are used. You may use either the "key-relative" letter characters or the "input-relative" numerals and symbols. The letters allow the widest range, from -20 to +24 semitones. Note that the Pattern Key itself is not used here, so the letters, numerals, and symbols are all simply "note-relative". Thus, a 'C' is the same as a '0', and a 'D' is the same as a '2'.
Note: "Blue" notes (+/-1/2 semitone) using the '+' and '-' symbols are only supported for direct Note Pattern entry, either manually or via the Nv.i0="string" Changes command. In the Note Adjust Map these characters will be treated like '0's.
You can also use '.' in the Note Adjust Map to cause the corresponding copy note to be replaced with silence. See the Buffer Repeat Notes topic for an example that uses this to expand a note sequence such as CFG into C...F...C... 4-beat measures.
The Note Adjust Map is all zeros by default. You don't need to set it if you just want direct note copies, without adjustment.
Questions? Comments? Contact us!We respond to ALL inquiries, typically within 24 hrs.
Over 30 Years of Innovative Instrumentation
© Copyright 2007 - 2017 by Interstellar Research
All rights reserved