Data AcQuisition And Real-Time AnalysisScope - Spectrum - Spectrogram - Signal Generator
Software for Windows
Science with your Sound Card!
DaqMusic and KaleidoSynth
DaqMusic: Free music... forever!
DaqMusic is a new way to make music using your Windows sound card... and it's also a way to make a new kind of music.
DaqMusic (and KaleidoSynth) allow you to explore musical frontiers, the borderlands between order and chaos that comprise music. You may be surprised at just how little order is needed to transform mayhem into music... and best of all, you don't need musical training to do it!
The above image is from a DaqMusic performance of an included MIDI setup called GlossyFishSticks, which acts as a real-time composer and performer. It uses pseudo-random values that start from an initial truly-random "seed" value, one of over 4 billion possible. Once started, the performance will not repeat for many billions of years. However, by setting the same seed you can repeat any performance exactly. In the example shown, the particular seed gives rise to a performance we have named "Mountain Heather".
The colored horizontal lines show the notes being played, color-coded according to tonal instrument as shown, on the black-and-grey vertical piano keyboard of Daqarta's Pitch Tracker. The vertical lines show percussion hits, color-coded according to percussion instrument (in the Percussion dialog, not shown).
In general, DaqMusic uses the Pitch Tracker to extract the instantaneous pitch of a signal or an internal random source, and Pitch-to-MIDI to convert it to MIDI sound... usually with plenty of modifications from the raw extracted pitch.
Daqarta's Pitch-to-MIDI system consists of 8 separate tonal voices, plus percussion, each with multiple parameters you can preset manually or control via individual Changes scripts that run concurrently in real-time. Everything is saved in MIDI setups (.DQM files) that you can load and run at any time.
Although musicians can use this system to compose "traditional" music, or to create real-time "algorithmic" compositions, or even to perform pitch-tracked accompaniments of conventional instruments, here we will discuss endless, ever-changing music that is based on random or pseudo-random values... DaqMusic.
You can play DaqMusic like you play a CD recording, and just listen. Daqarta includes a number of MIDI setups that you can just play as-is; each time you listen, you will hear something different. And as long as you listen, you will keep hearing something different.
But DaqMusic is really made for tinkering and exploring. You can take an active part in shaping performances by setting controls and changing scripts, or writing your own scripts from scratch. You don't really have to know anything about music to do this; you can just fool around with "what if I do this" scenarios, and see what happens. In fact, "just fooling around" is a great way to learn... it's really fun, and quite a thrill when you make a new discovery.
KaleidoSynth is the audio equivalent of a kaleidoscope. The Pitch Tracker determines the input note pitch, but the Pitch-to-MIDI converter is set up to convert it to an instrument sound at a different note... which goes around again and again, changing each time. Setting the nature and amount of difference allows for a huge variety of "performances", from peaceful background music to edgy jazz. And careful selection of the Track threshold and frequency range allows audience interaction!
DaqMusic skips the feedback and just uses random or semirandom values in place of a real acoustic input. It doesn't interact with its environment like KaleidoSynth, but it's much easier to use (since you don't need to mess around with microphones and thresholds). Best of all, it's absolutely free! (KaleidoSynth requires Input access, which expires after the trial period unless you purchase Daqarta .)
After download and installation , start Daqarta and wait for the "logoship" animation to complete. A message will pop up listing hot-keys for included mini-apps and macros. Hit the 'F8' key, then 'D' (shifted or unshifted), to start DaqMusic. A standard Windows File Open dialog will show all DaqMusic (.DQM) files. Hit Escape (or click Cancel or [x]) to start the default GlossyFishSticks.DQM (see below).
A typical DaqMusic or KaleidoSynth performance continues indefinitely, often with a characteristic style but never exactly repeating. You start with a general instrument setup, then use a Changes script to shape the performance: Create and explore musical themes, build excitement, add variety... it's up to you.
The following are conventional MIDI (.MID) recordings that you can play from your browser, using your default music player. Each was created using the MIDI Record option in Daqarta's Pitch-to-MIDI dialog to capture a short section (about 30-60 seconds) from a performance of the indicated Daqarta MIDI setup (.DQM file). An actual performance from within Daqarta goes on for as long as you want, continually changing.
All recordings are DaqMusic, except as noted where a KaleidoSynth version is included for comparison. A link to a discussion of each .DQM setup is provided, which covers relevant Pitch Tracker and Pitch-to-MIDI control setting and shows all Changes scripts.
Caution: These examples are intended to be played over speakers. They include dynamic panning that can sometimes be disconcerting over headphones.
Play Cowboy (8 KB)
Play HornTalk - KaleidoSynth (39 KB)
Play TimPanic - KaleidoSynth (37 KB)
Play Edgy - KaleidoSynth (35 KB)
JukeBox composes a very simple random melody of random length, and plays it with a random instrument. Then it repeats with an entirely new song and instrument, forever. There are literally billions of "songs" here. 4 are included in the above example; more samples are also available for comparison.
Most JukeBox tunes are not particularly memorable on their own, but when several are played simultaneously an amazing transformation takes place... the "Glossy" series:
These use Daqarta's MIDI multitasking feature to play 8 different JukeBox scripts concurrently. GlossyBlack uses the Pentatonic Major scale (black keys only). GlossyWhite uses Major (white keys only) like the original JukeBox. GlossyBlue uses a Blues Major scale, while GlossyChrome uses Chromatic (all keys).
GlossyBlack is usually easy to listen to, lively and cheerful at the default Tempo of 300 BPM. It sounds somewhat like a folk music jam session, while GlossyBlue is more like a jazz or blues jam session. GlossyWhite is also typically pleasant but may have occasional "challenging" passages, while GlossyChrome is unabashedly "New Music".
In the live performance, you can optionally choose to have the tempo vary in a smooth semi-random fashion, as the sum of two slow oscillators with non-integral frequencies. Alternatively, you can set it to vary interactively according to mouse position. Another option allows a random tempo selection at the start of the main ( Voice 1) song cycle.
Please note that all these setups use very simple approaches. They are intended as demonstrations of the concept... you are encouraged to use them to begin your own explorations. See the JukeBox and Glossy discussions for ideas to get you started.
GlossyFish.DQM is similar to the above Glossy setups, except it has Scale control via hot-keys, plus random Level settings and biased random Hold Beats for each voice. In addition, it includes random Note Lags to prevent the "machine music" effect where every instrument is exactly "on the beat".
The sample below is in the default Pentatonic Major scale, so in most respects it is like another sample of GlossyBlack:
Play GlossyFish - Pentatonic Major (220 KB)
But changing the scale to Blues Minor (by hitting the unshifted 'b' key during the DaqMusic performance) gives quite different results for the exact same random seed (everything identical except Scale):
Play GlossyFish - Blues Minor (221 KB)
Here are a couple more variations, using Major ('M' key) and Natural Minor (unshifted 'm' key):
GlossySticks and GlossyBones differ primarily in the way that they handle non-tonal percussion patterns: GlossySticks changes to a completely new random pattern each time it changes to a new random instrument, while GlossyBones "evolves" by changing only one beat of the pattern when the instrument changes.
As with GlossyFish, hot-keys can change the Scale of the tonal voices to get a different performance "feel", even with the same random seed. The examples here use the default Pentatonic Major (black keys) scale:Play GlossySticks (192 KB)
Play GlossyBones (193 KB)
For convenient reference, these sample performances are given names like "Mountain Heather" instead of referring to them by their random seed numbers like "h976C0088". Although these samples are truncated after the first minute, the live performances continue indefinitely.
By default, GlossyFishSticks and GlossyFishBones will play totally new creations every time you toggle Pitch-to-MIDI on. However, you can set the relevant seed number to repeat any performance. The seed lines for the samples below are already included in the relevant Changes scripts, with leading comment semicolons to inactivate them. Just remove the semicolon to hear a specific performance. For GlossyFishSticks those are at the start of its Voice 1 Changes script, while for GlossyFishBones they are in its Percussion script.
GlossyFishSticks Performances:Play "Mountain Heather" (194 KB)
Play "In Memoriam" (192 KB)
Play "Rising Storm" (195 KB)
Play "Strings Attached" (194 KB)
Play "Shy Away" (194 KB)
GlossyFishBones Performances:Play "Morning Glory" (194 KB)
Play "Huldra Hideaway" (195 KB)
Play "Sparkle" (195 KB)
Play "Badger Boogie" (195 KB)
Play "Tune Up" (192 KB)
The above are just the first 60 seconds of performances that will keep changing essentially forever. But GlossyFishSticks and GlossyFishBones have a Theme Pattern Repeat parameter that allows you control the probability that the initial themes will be heard again. The above performances had this parameter set to 0 (no repeat), while the performances below were made with the identical random seeds, but with the repeat parameter at 12 (always repeat).
GlossyFishSticks - Repeated Theme Performances:Play "Mountain Heather - Repeat Themes" (202 KB)
Play "In Memoriam - Repeat Themes" (200 KB)
Play "Rising Storm - Repeat Themes" (202 KB)
Play "Strings Attached - Repeat Themes" (203 KB)
Play "Shy Away - Repeat Themes" (202 KB)
GlossyFishBones - Repeated Theme Performances:Play "Morning Glory - Repeat Themes" (202 KB)
Play "Huldra Hideaway - Repeat Themes" (201 KB)
Play "Sparkle - Repeat Themes" (204 KB)
Play "Badger Boogie - Repeat Themes" (202 KB)
Play "Tune Up - Repeat Themes" (199 KB)
The default duration of each track is approximately 1 minute, after which the performance fades to silence, then restarts with a completely new track. You can easily change the track duration as well as the fade time and dead time between tracks.
Each track uses a random Scale, selected from a list of preferred scales in a text file that you can edit. This gives each track a different "feel".
In addition, each track has a random tempo within a default range of 200-300 BPM. The random tempos can be evenly distributed throughout the range, or can be biased to have more fast, slow, or mid-range tempos using different non-uniform random distributions. A mid-range bias is used by default.
As with the other Glossy setups, GlossyTracks shows the random seed it has chosen. When you hear a track you like, you can copy that seed and paste it into the start of the Percussion script to force the first track to that value. Subsequent tracks will follow just as in the original performance, each with its own seed.
Here is a MIDI recording of two sequential tracks (about 2 minutes total), with seeds h20C234B0 and hC5EB2870 . Both happen to use Raga scales; the first is Raga Yamuna Kalyani, at a tempo of 245 BPM, and the second is Raga Kashyapi at 234 BPM:Play "TwoRagas" (454 KB)
GlossyTracks carries over most of the same options as GlossyFishSticks, including Theme Pattern Repeat. Mandrill, below, is a single track using default parameters, with a random seed of h1327BBDA . It uses the Raga Mand scale at a tempo of 265 BPM. MaxMandrill uses the same seed, but is set for maximum repetition:Play "Mandrill" (206 KB)
Play "MaxMandrill" (206 KB)
(There are 150 Raga scales in Daqarta's library of over 500 standard scales, and 21 of those were included in the GlossyScales.TXT list of 42 "preferred" scales selected by listening tests for best results with GlossyTracks. But feel free to create your own list, such as by editing the included AllScales.TXT file, and using it instead of GlossyScales.)
Taking the "jam session" idea to extremes, suppose that instead of each voice playing an independent "song", it just plays random notes of a given scale? PhrygidBlueJam.DQM does just that, using the Blues Phrygian scale. (It also allows hot-key scale selection like GlossyFish.) Percussion is similar to that in GlossyFishSticks.
Play PhrygidBlueJam (200 KB)
It's a bit more loosely structured, but definitely listenable and sometimes superb. To keep things interesting, and more like a real jam session, the dynamics of the performance change on a random basis. Sometimes the voices play on every beat, sometimes they skip a beat or two. Sometimes the playing is notably staccato, and occasionally there is a dramatic pause.
AirBand (and AirGuitar, see below) expand upon the random-note jam session concept used in PhrygidBlueJam. There, each voice used a wide (2 octave) range of random notes centered around the current random input note. Here the notes are a bit less random, only +/-2 semitones (default), but centered around different offset distances from the input for each voice. For example, by default Voice 1 is centered 6 semitones above the input note, and Voice 8 is 6 semitones below the input.
Play AirBand (199 KB)
The above is plain "hands-off" random-generator DaqMusic. However, you can use hot-keys to control the note range and the center spread, and a number of other effects as well. You can shift everything up or down by octave steps, or set it to automatically shift very high notes down an octave. You can force the note range and spread to zero so that all voices play the same input note... a surprisingly cool effect. And perhaps most important, you can control the musical scale.
Essentially, you are not playing the instruments, rather you are directing the performance like a band leader. However, while the hot-key effects can be interesting using the random DaqMusic input, AirBand and AirGuitar are really intended to be used with a microphone and voice input.
In that case, your voice (or whistle or other instrument) provides the Pitch Track signal. As your pitch goes up and down, the output notes follow the general trend... but always in tune and in the selected scale. You can't hit a wrong note... anything you do will become music, even spoken words or "Doo BEE Doo DAH" babbling. If you pause, the output notes pause, while the percussion continues to keep time.
As a totally un-musical "worst case" input, a straight reading of the Preamble to the Constitution of the United States was recorded to a .WAV file and used in place of the microphone input. Three renditions were created using AirBand with no hot-key interactions. (Each is about 30 seconds.) These illustrate the normal variability of the random processes involved:
The same recording was then used again, but this time with Spread Toggle ('0' key) off between 10 and 20 seconds of the recording. This causes all instruments to track exactly:
Play Preamble, No Spread (101 KB)
The next version again uses the original recording, but with Fundamental Track ('f' key) toggled off between 10 and 20 seconds. Since the original source was a low male voice, the fundamental is below the useful tracking range. By default, Fundamental Track derives the fundamental from the harmonics that are in the tracking range; when it is toggled off the Pitch Tracker just sees the strongest harmonic, so the overall pitch range goes up:
Play Preamble, No Fundamental Track (101 KB)
Next we go the opposite direction, by shifting the tracked pitch down by 2 octaves (hitting the lower-case 'o' key twice) at 10 seconds, and shifting it back up (upper-case 'O' key twice) at 20 seconds. Some of the instruments become so low that you hear only their harmonics:
Play Preamble, Octave Shift (104 KB)
Finally, we enable Note Bend ('~' key) between 10 and 20 seconds. At the start of each beat a new note is exactly "on pitch" by being forced to the nearest MIDI note, but then it follows the actual relative pitch of the input. This causes some interesting accents. Probably best used as a spice, not a main dish:
Play Preamble, Note Bend (127 KB)
Other hot-keys help accomodate your input range, plus allow for ease of switching between low vocal and high whistle notes without going out of a desired range.
19 additional hot-keys allow switching among various musical scales, including (just for fun) a scale derived from a random number when you hit the '?' key. Here is the same original, this time with scale changes. It starts with the default Blues Phrygian scale, then at 10 seconds the '5' key shifts it to an "anticipation" scale made up of only C and G (a Fifth). At 15 seconds the '6' key shifts to a scale made up of C, E, G, and A (a Major Sixth, if used as a chord) which has a pleasant mellow sound:
Play Preamble, Scales (104 KB)
You can easily select additional scales from the master list of over 500 named scales, or add custom scales of your own. See the full AirBand Help discussion for details.
AirGuitar is similar to AirBand in many respects, and can use all the same hot-key effects and scale selection. Plus, it also includes additional hot-keys to control chords. However, instead of using 8 random instruments like AirBand, it selects four at random from the General MIDI "Guitar" group for voices 1-4, and four from the "Bass" group for the lower-pitched voices 2-8. Here is a plain "hands-off" random generator DaqMusic preformance, with no hot-keys used:
Play AirGuitar (199 KB)
But, as with AirBand, AirGuitar is specifically designed to be controlled by your voice. Here is AirGuitar "playing" the same 30-second straight-speech Preamble demo used by AirBand, again with no hot-keys:
Play AirGuitar Preamble, All Voices (103 KB)
Here it is again, this time with hot-key scale changes. It starts with the default Blues Phrygian, then at 10 seconds shifts to "anticipation" (C and G only) via the '5' key, and five seconds later to a pleasant "tropical sunrise" feel (C, E, G, and A) via the '6' key:
Play AirGuitar Preamble, Scales (103 KB)
Here's another redition of the same original, this time with only even voices active (2 and 4 on Guitar, 6 and 8 on Bass):
Play AirGuitar Preamble, Even Voices (97 KB)
Yet another take, this time with only Voice 4. Random chords are toggled on ('3' key) between 10 and 20 seconds. Chords are chosen from a 16-value chord map, half of whose entries specify "no chord", so not every beat is a chord:
Play AirGuitar Preamble, Voice 4, Chords (101 KB)
The above used the default Arpeggio/Strum Delay of 2 (about 20 msec between chord notes). It used the default strum direction (down, or rising notes). The next version increases the delay to 4 ('U' key, hit twice) for 40 msec between notes, and uses alternating up/down strum ('^' key) throughout:
Play AirGuitar Preamble, Up/Down Strum (100 KB)
If we increase the delay to 12 (120 msec), then with the default 250 BPM tempo (240 msec/beat) each beat that has a chord will be just two notes a half-beat apart. The result is a "fast fingerwork" effect, here on Voice 2 thoughout, with normal bass on Voice 5:
Play AirGuitar Preamble, "Fingerwork" (100 KB)
Now let's explore the "jam session" idea at the opposite extreme: Instead of random notes or simple "songs", suppose we have 8 different complete traditional songs playing concurrently? That's the idea behind Mashup.DQM:
Play Mashup (187 KB)Only the melodies are used (no chords), and each is transposed to the key of C by means of its Pattern Key control. Each song starts at a random location initially, but repeats from the proper start after it reaches the end. The songs are different lengths, so they don't stay in sync. Each voice plays 40-60 beats, then changes to another random instrument. It may also randomly shift up or down by an octave.
The result is surprisingly listenable, not the total chaos you might expect. The individual melodies often seem nicely interwoven, such that much of the time it can be hard to pick out a single melody. No attempt was made to find songs that would work well together... these were just the first 8 songs transcribed into Daqarta. A few of these (with chords intact) are discussed below.
Play FrJacques (65 KB)
Play Joshua (35 KB)
Play Saints (35 KB)
Contact us about
Questions? Comments? Contact us!We respond to ALL inquiries, typically within 24 hrs.
Over 30 Years of Innovative Instrumentation
© Copyright 2007 - 2013 by Interstellar Research
All rights reserved