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!

Random Percussion

PercBlue.DQM is a good example of generating percussion patterns via random means. The Changes script sets a Velocity Map followed by random Buffer Fill (Bf) commands to set the Velocity Maps of several percussion instruments.

This general method is similar to that used to create random melody velocities. The main difference is that the Velocity Map has many more '0' silence characters than are desirable for melody patterns... 4/8 (50%) in this example, versus 1/16 (6.25%) in the melody example (which featured JukeBox.DQM.)

The main reason for this is that multiple percussion instruments are used. Most music that includes percussion does not have a lot of simultaneous hits on different instruments... only partly because percussionists have a limited number of limbs with which to do the hitting.

As it turns out, truly simultaneous hits tend to blur together and get lost, unlike, say, the notes of melody instruments that may combine to form chords. Sequential hits generally sound better, preferably in a catchy pattern. The use of a "sparse" Velocity Map helps to reduce the probability of simultaneous hits when used to create several Velocity Patterns, and to thus increase the number of sequential beats among instruments

As discussed under Random Melody Velocities, you can use different numeral characters in the Velocity Map to accent some beats over others.

Likewise, you can use alphabet characters so that any given beat will have a defined range of random velocities, adding to a more "human" feel. Refer to the Velocity Pattern Character Table.

However, another thing that gives a more realistic feel is to have slight timing differences among the percussion instruments. The Lag control for each instrument can emulate the slight time lag required to move a drumstick between different drums.

Real humans don't repeat patterns with exactly the same timing, so you may want to experiment with dynamic changes to the Lag parameter for each percussion instrument. You can use random Lag values for each beat, or vary it with an oscillator. If you vary the Lags on multiple percussion instruments, you can use a different oscillator for each, with slightly different frequencies that interact in interesting ways.

In general, you will want to dedicate one Changes script to nothing but Lag variation. This allows the whole script to run once per beat, changing all percussion Lags on each pass. This script will run in parallel with all other scripts, changing Lags in the background while other scripts make changes only once per measure or so.

A typical script might set a number of oscillators, then enter an infinite loop that waits one beat, changes Lags, and repeats:

$1=0.53        ;Set oscillators

{!             ;Infinite loop
W=1            ;Wait 1 beat
lA=$1(0,5)     ;Update Lags
}              ;Repeat

The Lag update commands each use one oscillator operating over
 a limited range.  Different ranges have been chosen
 arbitrarily here, but you could use the same range for each
 since the oscillators have unrelated frequencies and won't
 lock together in any obvious pattern.

While it seems logical that the Percussion Changes script
 should be dedicated for this, any available Voice Setup
 script can be used.

See also Changes Script Tips and Tricks,
 Changes Script Overview,
 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