Data AcQuisition And Real-Time AnalysisScope - Spectrum - Spectrogram - Signal Generator
Software for Windows
Science with your Sound Card!
Contact us about
Voice Pattern Overview
Patterns use a fixed-width font. Each character entered into an edit field will line up with a digit above, which acts as a position indicator. Above each 0 digit is a single digit to show 10s. Patterns may be up to 256 characters long, so for positions 100 and above a 100s digit appears above the 10s digit.
You can use normal mouse or keyboard scroll operations during entry, or the Pattern Scroll controls for later review.
Unlike most of the upper controls in the dialog, which affect all notes from the voice, Patterns allow you to specify characteristics of each note individually. This can provide a structure for the performance.
All Pattern fields track together when playing. For each note position, the Velocity character sets the loudness, the Note character sets a specific note (if you don't want to use the Pitch Track input note), and the Chord character specifies a chord type to be played, if any.
For a very simple example, you can use Patterns to set the structure of a single measure, which will be repeated over and over. If you want 4 notes (beats) per measure, with the final beat a little softer than the first 3, you could enter '8886' in the first 4 positions of the Velocity Pattern.
If you want the notes to come from the Pitch Track input (subject to modification via the upper controls in the Voice Setup), you would leave the Note Pattern empty.
If you want the first note of each measure to be played as a Major chord, enter 'M' in the first Chord Pattern position only.
You can enter Note Pattern characters to override the Pitch Track input. A typical use would be to provide a backup rhythm or structure. For example, you could enter the Blues progression 'CCCCFFCCGFCC' with all '8's in the Velocity Pattern and all 'M's in the Chord Pattern. Setting Hold Beats to 4 will stretch each of these notes out to a full 4-beat measure.
Or you could enter a complete song, note by note, to serve as an accompaniment to a Pitch Track performance, or as a starting point for creative modifications via MIDI Changes scripts.
Many songs have an internal structure that repeats certain verses or sections in a particular pattern, such as 'AABA'. Rather than enter the entire sequence, you could just enter the 'A' section and the 'B' section. If you did nothing else, this would give 'ABABABABAB...'. However, you can set the Pattern pointer dynamically using a MIDI Changes script command (see below), and get any sequence you wish.
pv=n sets the Pattern pointer for Voice v to position n, which may be any unsigned integer or valid expression, including current MIDI control values, random values, current computer keyboard states or mouse position, input or buffered notes, or oscillators. The position will be limited to a range of 0-255.
Note that you can not use "voice" 9 to set all voices at once.
Suppose you want to use Voice 1 to play a song that has an 'AABA' structure, but the entered pattern is just 'AB'. Let's say that the 'A' and 'B' sections are each 32 beats long. The Changes script would use W=32 to Wait for 32 beats until the first 'A' is done, then use p1=0 to reset the pointer to the start, to play 'A' again. Remember that if you don't change the pointer, the pattern will naturally repeat to give 'ABAB...' indefinitely. So, wait for 3 * 32 more beats to play 'ABA', and you have a complete performance. At that point you can reset the pointer to 0 to repeat the above sequence.
Note that you may also use the Buffer Copy command to copy selected Pattern portions of the same or another Voice Setup. For example, if you have a complete melody in one Voice Setup, you can copy it to another and then use the above pointer command to set it to play a delayed version for "rounds" or other special effects.
The format is BCvP.i0=vP(i1,i2), where the left v is the target Voice and the right is the source. i0 is the target index (position) where the copy should start, and (i1,i2) are the start and end positions in the source. If i1 is greater than i2 then the copy will be a reversed version of the source.
The Ps in the Buffer Copy operation mean that Velocity, Note, and Chord characters are moved together for each position copied. (There are also V, N, and C versions to copy Velocity-only, Note-only, or Chord-only.)
Alternatively, you can use the Buffer Xchange command to swap selected portions of the same or two different Patterns, including reversing their sequence. The format is BXvP.i0=vP(i1,i2), and there are likewise versions where the Ps are replaced with V, N, or C to swap just Velocity, Note, or Chord Patterns.
Questions? Comments? Contact us!We respond to ALL inquiries, typically within 24 hrs.
Over 35 Years of Innovative Instrumentation
© Copyright 2007 - 2023 by Interstellar Research
All rights reserved