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!

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

Like the "Glossy" MIDI setup family, PhrygidBlueJam.DQM has randomly-selected instruments on each of 8 voices. However, instead of each voice playing a random melody composed via the JukeBox.DQM method, here each voice is playing random notes. The notes are not totally random; they are at random distances within +/-1 octave (adjustable) of the current input source note. But there is no intrinsic melodic structure like the AABABA used by JukeBox; each voice just plays 40-60 random notes, then the instrument is changed.

But because all notes of all voices are constrained to share the same Scale (Blues Phrygian by default), the result sounds like a "jam session" of blues musicians: Loosely structured, but definitely listenable and sometimes really great.

A driving beat is provided using a Percussion script similar to that of GlossyFishSticks.

There are a couple of additional tricks to keep things interesting. As in GlossyFish, Hold Beats is set to a biased random value for each 40-60 note part, which means that of the 8 different voices there will usually be one or more that are playing at a slower effective Tempo.

Also as in GlossyFish, random Level is set on every instrument change to give more depth and dynamic range. Random Note Lag provides a more "human" imprecision.

A more compelling trick is to change the dynamics of the performance on a random schedule. This is done by adjusting the Pitch Track Max Frequency at the end of every Voice 1 part (every 40-60 beats). By default, Max is about 500 Hz, which means that if the random input frequency is less than that, there is no new note on that beat. The probability of a note on any beat is thus related to how wide the input range is.

With a wide range, the voices thus play on every beat; with a narrower range, they sometimes they skip a beat or two. Sometimes the playing is notably staccato, and occasionally there is a dramatic pause.

Also, since the played random notes are kept within +/-1 octave of the input note, a wider input range allows a wider range of output notes.

As with the Glossy setups, if you toggle Pitch-to-MIDI off and back on again you'll immediately get a new set of random parameters, including a whole new set of instruments.

Voice 1 Changes Script:

Ui=0                    ;Min Instrument number
UI=118                  ;Max Instrument number
Qp=40                   ;Min play beats
QP=60                   ;Max play beats
UN=-12                  ;Min +/-Note shift
Un=12                   ;Max +/-Note shift
UM=-4                   ;Hold Beats lower limit
Um=4                    ;Hold Beats upper limit
Uv=48                   ;Min random Level
UV=80                   ;Max random Level
Ug=2                    ;Max random Note Lag
US=S1                   ;Default Voice 1 Scale
oRS=US                  ;Show Scale name
oL=US                   ;Show Scale number

{!                      ;Infinite loop
I1=?(Ui,UI)             ;Random Instrument
L1=?(Uv,UV)             ;Random Level
g1=?r(0,Ug)             ;Random Note Lag
H1=?(UM,Um)             ;Biased random Hold Beats
{?(Qp,QP)               ;Play 40-60 beats
W=1                     ;Wait one beat
n1=?(UN,Un)             ;Random 2-octave +/-Note
}                       ;End of 40-60 note part
[RM<550 RM=?(600,1000) | RM=500 ]  ;Random dynamics
}                       ;End of infinite loop

The random notes are provided by n1=?(UN,Un), which takes the random input note and randomly adds up to +/- one octave before the Scale is applied. Although all voices get the same input note, each adds or subtracts its own random amount.

The random Pitch Track Max Frequency is provided by the final line of the infinite loop section. At the end of the 40-60 note part, it checks if Max is under 550 Hz; if so it sets Max to a random value between 600 and 1000 Hz. On the other hand, if Max is over 550 then the prior pass must done this, so it sets it back to 500. This insures that there are no long stretches of sustained high activity.

Pitch Track Max Frequency affects all voices, so the other voice scripts don't include this final line. Otherwise, they are just like this Voice 1 script except for different voice numbers. (I2, L2, g2, H2, and n2 instead of I1, L1, g1, H1, and n1, etc.)

Percussion Changes Script:

Like the "Glossy" MIDI setup family, PhrygidBlueJam allows you to change the scale for all voices via the same hot-keys. It uses nearly the same Percussion script as GlossyFishSticks, which you can view during a perfomance by clicking the Percussion Setup button at the bottom left of the Pitch-to-MIDI dialog, then clicking Float at the bottom of the Percussion dialog.

Bv="0_4_4_6_6_6_8888"  ;Buffer Velocity Map
Up=4                   ;Min pattern length
UP=9                   ;Max pattern length
Uj=27                  ;Min Percussion instrument
UJ=87                  ;Max Percussion instrument
Bi24.0=(0,88)          ;Fill buffer with 0-87
Bb24.32=47             ;Replace Click 1 with Low-Mid Tom
Bb24.72=71             ;Replace Long Whistle with Short
UR=4                   ;Pattern repeat count

{!                     ;Infinite loop
W=1                    ;Wait 1 beat
QA=QA-1                ;Perc A countdown
[QA<=0                 ;If 0 or less...
    Ua=?(Up,UP)            ;New random pattern length
    IA=B24.?(Uj,UJ)        ;New A instrument
    BfAV.0=(?(0,15),Ua)    ;New velocity pattern
    gA=?r(0,Ug)            ;New Percussion Lag
    QA=UR*Ua               ;Reset count for new total beats
]                      ;End IF
QB=QB-1                ;Perc B countdown
QC=QC-1                ;Perc C countdown
QD=QD-1                ;Perc D countdown
QE=QE-1                ;Perc E countdown
QF=QF-1                ;Perc F countdown

US=S1                      ;Set US to Voice 1 Scale
UK=K#                      ;Most-recent key hit
[UK>0                      ;Any key?  If so, test which:
[UK="?" US=?r(2048,4095)]  ;Random Scale
[UK="5" US=2064]           ;5th (Power Chord)
[UK="6" US=2196]           ;Major 6th Chord
[UK="7" US=2774]           ;Dominant 7th
[UK="B" US=2964]           :Blues Major
[UK="b" US=2418]           ;Blues Minor
[UK="C" US=4095]           ;Chromatic
[UK="c" US=2048]           ;C-notes only
[UK="H" US=2777]           ;Harmonic Major
[UK="h" US=2905]           ;Harmonic Minor
[UK="L" US=2741]           ;Lydian
[UK="l" US=3434]           ;Locrian
[UK="M" US=2773]           ;Major
[UK="m" US=2906]           ;Natural Minor
[UK="P" US=2708]           ;Pentatonic Major
[UK="p" US=2386]           ;Pentatonic Minor
[UK="w" US=2730]           ;Whole Tone
[UK="X" US=2258]           ;Mixolydian Pentatonic
[UK="y" US=3442]           ;Blues Phrygian
]                          ;End main hot-key test

[S2!=US             ;If Voice 2 Scale not as above,
S9=US               ; then update all to new scale
oRS=US              ;Show scale name or pattern
oL=US               ;Also show scale number
}                   ;End of infinite loop

The current Scale name is displayed at the lower right of the main Pitch-to-MIDI dialog, and the Scale number is shown at the lower left,

To try scales other than those already set as hot-keys, open Voice 1 and click on the Scale button (labeled Blues Phrygian by default). Scroll through the Scale dialog and select any you want to try. (The Percussion Changes script monitors Voice 2 Scale on every beat, and if doesn't match Voice 1, all voice scales are automatically set to match.)

If you find a scale you want to add to the hot-keys, note the name and the value in the Num column, then see the GlossyFish.DQM topic for how to modify the Percussion script.

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