Data AcQuisition And Real-Time AnalysisScope - Spectrum - Spectrogram - Signal Generator
Software for Windows
Science with your Sound Card!
Contact us about
Changes Script Input Select
By default, a Voice Setup receives live input notes from the Pitch Tracker, with an optional Note Delay. But you can use the Input Select command in a MIDI Changes script to tell it to use notes from any input buffer, or live input notes from any other voice. Live inputs use the Note Delay from the Selected voice, ignoring the setting in the current voice.
The format for the Input Select command is iv=vb, where the left v is the destination Voice number 1-8, and the right v is the source. b is the source buffer 1-4, or else 0 to select live input (possibly delayed) from the source voice.
Note that Input Select does not allow use of "voice" 9 to specify "all voices".
Buffers 1-4 for each voice (32 buffers total) have separate pointers for start, end, and current position. A voice that uses a specific buffer will see the same input note sequence, which continuously repeats the section of buffer set via the Buffer Set Pointers command. The voice may apply its own Range, Scale, and +/-Note settings, so the note actually played may differ from the buffer-supplied note.
A voice only gets a new note from the selected buffer every Hold Beats; it just holds the prior note between updates.
Note: The same buffer may be selected for use by multiple voices. When this happens, notes are "served" from the buffer on a "first come, first served" basis. For example, if the buffer holds notes 1-8 and only one voice is using it, that voice gets a repeating 1-8 series. But when two voices share the same buffer, the first voice gets only the odd notes and the second gets only the even notes.
If (say) the second voice has Hold Beats set to 2 while the first voice is set to 1, then the first voice gets notes 1 and 2, the second gets 3, the first gets 4 and 5, the second gets 6, the first gets 7 and 8, the second gets 1, the first gets 2 and 3, and so on. As usual, each voice may have its own Range, Scale, and +/-Note settings.
If you want to avoid this interaction but still want each voice to use the same buffer contents, make copies of that buffer for each voice.
You can read the current Input Select setting for a voice. For example, oLh=i1 displays the setting for voice 1 in hexadecimal. If it is using the live input of a voice, the value will be that voice number less one... 0-7 instead of 1-8.
If Input Select is using a buffer then bit 8 is set and the lower bits hold the buffer number. There are 4 buffers per voice and 8 voices, giving 32 buffers total, numbered 0-31. The buffer number can be regarded as a binary value in the form 1000vvvbb, where vvv encodes voice 1-8 as binary 0-7, and bb encodes buffer 1-4 as binary 0-3. For example, voice 6 buffer 2 would have 5 in the voice bits and 1 in the buffer bits, or 100010101, which is 0x115 in hexadecimal.
Questions? Comments? Contact us!We respond to ALL inquiries, typically within 24 hrs.
Over 30 Years of Innovative Instrumentation
© Copyright 2007 - 2020 by Interstellar Research
All rights reserved