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!

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

FrJacques.DQM is a DaqMusiq setup of the song "Frere Jacques" (also known as "Brother John") that is often sung in "rounds" by children. Voice 1 holds the complete melody in its Velocity and Notes Patterns. (Voice 2 holds the accompaniment chords, not used here by default.) Voices 3, 4, and 5 start out empty and unused.

Here is the complete Changes script, with comments added:

BC3P.0=1P(0,87)     ;Copy Voice 1 Pattern to 3

W=16 X3=1           ;Wait 16 beats, start 3
W=16 X4=1           ;Another 16, start 4
W=16 X5=1           ;Another 16, start 5

{!                 ;Infinite loop
W=32 UA=?(0,118)    ;Wait 32 beats, random User A
I1=UA oLi=UA        ;User A to Voice 1, show name
;W=32 I2=?(0,118)   ;Chord voice not used here
W=32 I3=?(0,118)    ;Wait 32 beats, random Voice 3
W=32 UB=?(0,118)    ;Wait 32 beats, random User B
I4=UB oRi=UB        ;User B to Voice 4, show name
W=32 I5=?(0,118)    ;Wait 32 beats, random Voice 5

The script copies the complete Voice 1 patterns to Voices 3, 4, and 5, which are initially off. After 16 beats Voice 3 is turned on, after another 16 beats Voice 4 is turned on, and after 16 more beats the final Voice 5 is turned on. Then an infinite loop is begun, where every 32 beats one of the voices has its instrument assigned randomly.

There is plenty of room for experimentation and improvement in this simple example. Having 4 totally random voices is a bit overwhelming; you might want to try less voices, or try bringing them in one by one as at present, then removing them one by one.

Another idea might be to constrain the random selections to 16-instrument families as shown in General MIDI Instrument Sounds; one voice might get one of the Brass instruments 56-63, another might get one of the Reed instruments 64-71, and so on. On the next pass through the infinite loop each voice would get another random selection, but only from within its group.

You might also play with the Voice Level, such that when a new voice comes in or changes, it starts at a higher level than the rest. Then the "spotlight" is passed to the next voice that comes in or changes.

As mentioned, Voice 2 holds the accompaniment. It can be overwhelming in addition to the rounds voices, but you can use it instead of them. Or start by playing the whole song all the way through with just the main melody voice plus accompaniment, then drop the accompaniment when you start bringing in the rounds voices.

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