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!

Symphonic.DQM MIDI Setup

When this setup is loaded, right-clicking on the Pitch-to-MIDI title bar or any non-control portion of the dialog will open Help at this topic.

Symphonic.DQM uses Acoustic Grand Piano (0) and Tremolo Strings (44) with Scales both set to Pentatonic Major, and both +/-Notes set to 0. Tempo is 300 BPM and Track Min-Max range is 100-2500 Hz.

This setup is intended for DaqMusiq use; with KaleidoSynth it tends to produce runs of several identical notes before moving to a new note run.

The Velocity Pattern of each voice holds '8888', which acts to define the length of a measure as 4 beats. The Acoustic Grand Piano has an 'M' in the 0th position of its Chord Pattern, which plays the current note as a Major chord on the first beat of each measure. The Tremolo Strings voice shows nothing in its Chord Pattern, but it will be set by the Changes script.

The Changes script is in Voice 1, but it affects Voice 2. Comments are added here, preceded by semicolons:

$A=117                  ;117 Hz Oscillator
{! W=16 UA=$A(70,90)    ;Wait 16 beats, random User A
rM2=UA oL=UA            ;User A to Range Max, show it
[?(0,1)=1               ;50% random IF
C2.0="M" oR="M"         ;Set Major chord if 1, show it
| C2.0=" " oR=" "]      ;Else clear chord if not

The Changes script modifies the Tremolo Strings voice every 16 beats (4 measures). It sets Note Range Max according to the momentary value of a 117 Hz oscillator that runs between 70 (A#4) and 90 (F#6), and holds that range until the next change 16 beats later. Since the oscillator frequency is much higher than the beat rate and isn't synchronous with it, the specific Max values appear semi-random.

The oscillator is set once at the start of the script, with the remainder of the script in an infinite loop so that the oscillator does not get reset. That's not really an issue in this particular case, but it could be in others... see the "When To Set Oscillators" section in the Changes Script Oscillators topic for a discussion.

The Max value roughly corresponds to the "excitement" of the performance, which increases and decreases to add interest. The Range Fit control is active for this voice, which insures that there are no dropped notes when they are outside the current range.

In addition, there is an IF statement that is true about half the time, whenever a random 0 or 1 integer is 1. When it is, the first note of every 4-beat measure of this voice is played as a Major chord. This adds emphasis for 4 measures until the next 16-beat Wait interval, when the random choice is repeated.

See also Example MIDI Setup Files, MIDI Setup Files, Musical Frontiers, DaqMusiq, KaleidoSynth, Pitch-to-MIDI dialog, Pitch Track Toolbox - Overview, Spectrogram / Pitch Track Controls, Spectrogram / Pitch Track (Sgram/PT)


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