Data AcQuisition And Real-Time Analysis
Scope - Spectrum - Spectrogram - Signal Generator
Software for Windows
Science with your Sound Card!
The following is from the Daqarta Help system:



Spectrum Analyzer

Signal Generator

(Absolutely FREE!)


Pitch Tracker


DaqMusiq Generator
(Free Music... Forever!)

Engine Simulator

LCR Meter

Remote Operation

DC Measurements

True RMS Voltmeter

Sound Level Meter

Frequency Counter
    Spectral Event

    MHz Frequencies

Data Logger

Waveform Averager


Post-Stimulus Time
Histogram (PSTH)

THD Meter

IMD Meter

Precision Phase Meter

Pulse Meter

Macro System

Multi-Trace Arrays

Trigger Controls


Spectral Peak Track

Spectrum Limit Testing

Direct-to-Disk Recording



Frequency response

Distortion measurement

Speech and music

Microphone calibration

Loudspeaker test

Auditory phenomena

Musical instrument tuning

Animal sound

Evoked potentials

Rotating machinery


Product test

Contact us about
your application!

MIDI Changes Script Overview

Controlled change in music is important for listener interest. Changes may take many forms, such as varying the note range, tempo, loudness or velocity, melody, chords, rhythm, instruments, pan positions, or effects like Arpeggio or Note Bend.

Changes scripts allow you to control all these and much more, including features that are not available from the standard Voice Setup or Percussion Setup controls. Scripts are viewed and entered via the Changes Script Editor.

You can control both the timing and the nature of the changes using simple constants, or with mathematical expressions that may include current MIDI control values, random values, current computer keyboard states or mouse position, input or buffered notes, oscillators, or user input via Field entry.

A simple Changes command might be I1=44 which sets the Instrument number for Voice 1 to 44 (Tremolo Strings). A slightly more complex command might be I2=?(0,15), which randomly selects one of the Piano (0-7) or Chromatic Percussion (8-15) instruments for Voice 2.

You can use an expression to compute the Voice number for the command by enclosing it in carets, as in I<UB+1>=?(0,15).

For most commands, you can set all voices to the same value via a single command. Tonal voices 1-8 use "voice" 9 to specify this, as in S9=US to set Scales S1 through S8 to the value of US. Non-tonal Percussion voices A-F use G, as in gG=1 to set Percussion Lags gA through gF to 1.

Scripts allow standard programming structures like nested loops and conditional (IF-ELSE) statements, although in more compact forms.

Each voice (including Percussion) may have a separate Changes script, but any script may control any voice... and can even disable and enable other scripts. All scripts appear to run concurrently, forming a simple 9-thread multitasking system. On each beat, the Percussion script runs first, then the Voice 1 through Voice 8 scripts. A value changed by one script will take effect in later scripts on the same beat, and earlier scripts on the next beat.

Note that in most cases Changes scripts affect the working values of variables, invisibly changing them from the visible initial values that were set via the normal controls. Those same initial values will be used every time a performance is started. The exceptions are Tempo, Instrument number, Instrument name, and Level, which are changed visibly and whose changed values will become the new initial values. Script changes to the Instrument On/Off button state, Note Lag, and Percussion Lag are shown during the performance, but the initial states and values are restored when the performance is ended by toggling Pitch-to-MIDI On/Off.

Note that the Changes On/Off button must be active in a voice for its script to run, but the voice itself may be either on or off. This allows the script of an unused voice to serve as a "master control" for the active voices. For example, it might sense mouse position on every beat and use it for real-time Tempo control.

See also Changes Script Editor, MIDI Voice Setup Dialogs, Pitch-to-MIDI dialog, Pitch Track Toolbox - Overview


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