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!

PercBlue.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.

PercBlue.DQM uses Electric Guitar - Jazz (26) on Voice 1, and Electric Bass - Pick (34) on Voice 2, each with Scale set to Blues Major. The setup also uses the Percussion Voice with 6 different instruments A-F, whose Velocity Patterns are set randomly by the Changes script. Tempo is 300 BPM, and the Track Min-Max range is 100-2500 Hz.

This setup is intended for DaqMusiq use. It can be used with KaleidoSynth, but it may be too repetitive in many sections of the performance.

The Guitar voice uses a Velocity Pattern of '8888' for 4 beats per measure. The Chord Pattern is a single 'M' for a Major chord at the star of each measure. Range Fit is used with a Range Min/Max of 20-60, the upper limit of which is randomly varied by the Changes script. Arpeggio-Strum is 1 for a quick strum.

The Bass voice uses a Velocity Pattern of '88888888' with no visible Chord Pattern... the Changes script will randomly set the initial note to 'M' or clear it. Range Fit is used with a Range of 30-40.

The Changes script is quite long. Comments are added here, preceded by semicolons:

Bv="86860000"           ;Buffer Velocity Map
UA=?(-3G,+3G)           ;Random 32-bit User integer
oLh=UA                  ;Show it on Left display
?s=UA                   ;Set it as random seed
?x=0                    ;Set pseudo-random mode
{!                      ;Infinite loop
BfAV.0=(?(0,15),8)      ;Random Perc Pattern Fill
;BfFV.0=(?(0,15),8)     ;Perc F not changed here
{4                      ;Loop 4 times
{2 W=16                 ;Loop 2 times, wait 16 beats
rM1=?(50,90)            ;Random Range Max
[?(0,1)=1 C2.0="M"      ;50% randomly set Major chord
| C2.0=" " ]            ; on 1st (0) beat each measure
X1=0                    ;Guitar off
X2=0                    ;Bass off
XD=1                    ;Perc D on
W=8                     ; for 8 beats
UB=?(35,81)             ;Random User B
IE=UB oRp=UB            ;User B to Perc E instrument
XE=1                    ;Perc E on
W=16                    ; for 16 beats
X1=1                    ;Guitar on
X2=1                    ;Bass on
XD=0                    ;Perc D off
XE=0                    ;Perc E off
oR=" "                  ;Clear right display

The major feature of this script is the random Percussion patterns. The first line sets a Velocity Map with 8 characters, meaning that the last 3 bits of the random values used in the subsequent Buffer Fill (Bf) commands will select which of the 8 characters will be used as the Velocity character for each beat. Half of the map characters are 0, so there is a 50% probability of silence at any given pattern location.

The next 4 script commands get a true random integer, show it in the display at the lower left of the Pitch-to-MIDI dialog, set it as a random seed, then switch to pseudo-random mode such that the same performance will always result from the particular seed value shown.

The remainder of the script is an infinite loop, so that the above steps are not repeated.

The Percussion instruments are given random 8-beat Velocity Patterns. The F instrument, which is Open High Hat (46), is shown commented out. It uses a fixed pattern of '80000000' for one hit on the first beat of every 8. If you uncomment the command that changes this, you may want to set the Velocity for that instrument lower so it doesn't overwhelm.

Next in the script, a couple of nested loops wait 16 beats and randomly set Range Max for the Guitar voice, and randomly set or remove the Major chord on the Bass voice. See the discussion of the nearly identical code used in Symphonic.DQM. Since the inner loop runs twice and the outer 4 times, this section takes 4 * 2 * 16 = 128 beats overall.

Then the Guitar and Bass voices are turned off and Percussion instrument D (Low Tom) is turned on. After 8 beats, a random Percussion instrument E is selected and turned on for 16 more beats. Finally, the Guitar and Bass are turned back on, Percussion intruments D and E are turned off, and the infinite loop repeats to set new patterns for the next cycle.

See Random Percussion under Changes Script Tips and Tricks for a discussion and some ideas to try.

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