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!

KaleidoSynth - an Audio Kaleidoscope

CAUTION: May be addictive... use responsibly!

WARNING: May result in sleep loss, poor health, job loss, and/or international economic collapse due to lost productivity.

An optical kaleidoscope uses an arrangement of mirrors to produce a changing display from bits of colored glass or from external images. The KaleidoSynth uses Pitch-to-MIDI to produce an audio equivalent, using feedback instead of mirrors.

The basic idea is that the notes played by the MIDI synth through the speakers are heard by the microphone, and used to create new notes. Usually you want to avoid feedback situations like this when you are trying to create music, but here we put it to work... err, play!

Using the basic steps in Getting Started With Pitch Track and Getting Started with Pitch-to-MIDI, make sure that you are hearing MIDI notes in response to input sounds. Ignore the advice there on preventing feedback; use speakers instead of headphones, and make sure the volume settings and microphone placement are such as to maximize feedback.

Also, the excessive latency of the default Microsoft GS synthesizer is not an issue for KaleidoSynth operation.

If the +/-Note control in the Voice Setup Dialog is set to 0, the synth will produce the same note that Pitch-to-MIDI "hears". Continuous-tone MIDI instruments (wind, or bowed strings, for example) will produce a continuous howl at the note pitch... probably just what you expected. Instruments with fast attack and decay (plucked or struck) will usually produce an endless repetition of the same note or a few notes.

Instead, the trick is to set the synth to produce a different note than the one it hears, by using the +/-Note control. For example, if you set it to -1, then in the simplest case the note produced by an initial sound will be a semitone lower, and the note produced by that sound will be a semitone lower still. The result will be a descending scale, until the output pitch falls below the Track Min frequency and is no longer acted upon.

But it turns out that this simple case is actually not the norm, because almost all instrument tones have harmonics present. So when the fundamental pitch falls below the Min frequency, there will still be harmonics within the tracking range. As long as at least one of them is above the Track Threshold, the scale will begin descending again from that new higher note.

Note that you will usually need to turn off Track Fundamental to get nice scales. Otherwise, the harmonics may lead to a computed fundamental that does indeed stay below the Min limit... or it may jump around unpredictably, which may also be interesting.

Many things affect the system behavior, including speaker and microphone frequency response. The following Daqarta settings will give you a good place to begin your explorations.

Start with Trigger off (main toolbar), then in the Spectrogram / Pitch Track dialog set Hysteresis to 0.500. Click on Pitch-to-MIDI to open that dialog, and set Pitch-to-MIDI On/Off to On. Select Tempo Voice and set BPM to 600.

Make sure the only the top (Voice 1) instrument is on, and click on its Setup button to open the control dialog. Drag its title bar to move this dialog aside, and close the underlying Pitch-to-MIDI dialog to re-expose the Spectrogram / Pitch Track dialog. Click on the Track Limits button and set Track Min-Max frequencies to about 200-500 Hz.

The Voice Setup and Track Limits dialogs will be the focus of your initial investigations. Start with +/-Note set to -21. Adjust Track Threshold to get an interesting sound pattern; setting it too low (large negative dB) will make a more "busy" pattern, while too high (closer to 0) will result in notes that are infrequent or missing entirely.

Now scroll the Instrument Number to try different instruments. The instrument type has a major effect on the sound pattern. If some instruments produce sound that is too deep and muddy, try raising the Track Max and Min range to 500-1000 or even 500-2000 Hz. If this produces a pattern that is too repetitive, set the range lower. Different instruments have different loudnesses, so you may also need to re-adjust the Track Threshold for best results.

With the default Microsoft GS Wavetable synth, be sure to explore English Horn (69) with Track Max and Min in the 200-500 Hz range, or even 100-500 Hz. The sound is like human voices chattering and muttering. This is the HornTalk.DQM setup, which you can load and use directly, though you may need to adjust Track Threshold for your particular system.

Timpani (47) can produce an amazing percussion performance with the above settings. Raising +/-Note raises the overall pitch range. See the TimPanic.DQM discussion.

With the same Track Max and Min, try setting Tempo down to 200 BPM, and set Scale to Pentatonic Major. Set +/-Note to smaller negative values like -8. Many instruments, especially plucked or struck types, will produce pleasant background music with a vaguely Oriental flavor. Be sure to try Orchestral Harp (46), which is what is used in the Peaceful.DQM setup. Alternatively, try Synth Pad 1 - New Age (88), and Koto (107).

You can use Pan Scan (try +/-10 to start) to slowly move the apparent instrument position, which can affect the interaction between the sound field and the microphone to alter the pattern of the performance. The example DQM setups mentioned here use this.

And of course, you don't need to confine yourself to only a single MIDI Voice, you can mix and match two or more.

Try using the first 3 voices set to Tremolo Strings (44) with all Scales set to Chromatic. Set +/-Notes to +3, +7, and +10. Change the Track Max and Min range to cover about 100-500 Hz (instead of 200-500). Set Tempo to 300 BPM.

With the Microsoft GS Wavetable synth, this sounds like an edgy jazz soundtrack for the action scenes in a grade "B" detective movie! See the Edgy.DQM discussion for more ideas.

The KaleidoSynth can be be wildly unpredictable, or you can get general patterns that deviate in interesting ways. It can become a "chaotic system", where minor variations in room acoustics or background noise send it off in unexpected directions.

If you set Threshold carefully (depending on your microphone and speaker setup) you can get a condition where some arbitrary sound in the room triggers a cascade of notes that eventually die away, awaiting the next trigger sound. For example, you can use Gunshot (127) to produce a hail of machine-gun fire in response to the noise of an "intruder" entering the room.

With Velocity Track set, the decay may be enhanced since lower notes tend to be softer due to the limited low-frequency response of typical small speaker systems.

Or try +/-Note at -11 using Gunshot (127) for complex percussion rhythms. (You can also use the Percussion Voice itself, but this tends to be uninteresting alone since there is no +/-Note control.)

You can use Changes script commands to vary +/-Note, Instrument Number, Tempo, or any other parameter, including how many (and which) voices will be active. Changes can be based upon simple elapsed time (number of beats), or upon slow oscillators, random numbers, computer keyboard inputs or mouse position, or even the sound input itself.

Want still more options? You may be able get rid of the Mic completely by selecting the synth output directly in the Input Controls dialog. On Windows XP systems, if you don't see a button labeled Synth or MIDI, look for Stereo Mix or What You Hear to get the overall output. You may need to unplug headphones or any cable from the output jack to get this to work.

On Windows Vista or later systems the sound output is usually routed to the input by default, so you just need to toggle Input on.

Since there is no external sound input to start the first note, you will need to set a very low Track Threshold (large negative dB, like -100 or more), so that internal noise will trigger the first note to get the feedback started.

You can even get rid of the feedback entirely, and drive the Pitch-to-MIDI process with a random source or the Daqarta Generator in a process called DaqMusiq. It's not like a kaleidoscope, since it does not interact with its environment. It's more like an autonomous composer that you guide using all the Pitch-to-MIDI controls, Changes scripts, Spectrum Curves, and the huge array of Generator controls.

See also Getting Started With Pitch-to-MIDI, Musical Frontiers, DaqMusiq, Getting Started With Pitch Track, 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