|
Daqarta
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:
|
Features:OscilloscopeSpectrum Analyzer Signal Generator
|
Applications:Frequency responseDistortion measurementSpeech and musicMicrophone calibrationLoudspeaker testMusical instrument tuningAnimal soundEvoked potentialsRotating machineryAutomotiveProduct testContact us about
|
|
JukeBox.DQM MIDI SetupPlay Sample: JukeBox (77 KB) JukeBox.DQM shows Acoustic Grand Piano on Voice 1, although actual instruments will be chosen at random. Scale is set to Major, and Tempo is 400 BPM. Track Min-Max range is 100-2500 Hz, but neither that nor the Track Threshold are important here since the Pitch Track input stream is not actually used for anything. You must have either the internal DaqMusic random source, Generator, or Input active so that Pitch Track and Pitch-to-MIDI will operate, but performance pitch information is from random values used in the Changes script. (But see Ideas To Try below for a live-input version.) The performance is a series of simple instrument solos, each using a random instrument and playing a short song composed using random velocity and note patterns to define the theme. The song uses the same random velocity pattern for each measure, but there are two different random note patterns that are used in a simple AABABA sequence. The process is repeated after each song: A new instrument is randomly selected, new patterns are generated, and the new song is begun. Due to the random note and (especially) velocity patterns, not to mention instrumemt types, there is a wide variation between songs. If you listen long enough, you will surely find something interesting... you may have to kiss a lot of frogs to find true love, but the search itself may be enlightening. The Changes script (with comments added) is:
The first line sets a Velocity Map with 16 characters, meaning that the last 4 bits of the random values used in the subsequent Bf1V.0=(?(0,15),7) Buffer Fill command will select which of the 16 characters will be used as the Velocity character for each beat. Most of the map characters are either ' 8' for full loudness or ' _' (underscore) to hold the prior note, with only the final character a ' 0' for silence. You can change the relative proportions of these as desired. The next 3 script commands set User Variable A with a true random integer, set it as a random seed, then switch to pseudo-random mode such that the same random patterns will always result from any particular seed value. The remainder of the script is an infinite loop, so that the above steps are not repeated. First the random seed value for the song to be played is displayed at the lower left of the Pitch-to-MIDI dialog, so you can repeat later it if desired. Think of this as the "song number" in an old-fashioned jukebox, or the "track number" on a modern recording. A random number is sent to User Variable B, then used to set the Instrument Number. The instrument name is shown on the right display using oRi=UB. Then the Velocity Pattern is set. V1.0="8" sets the first beat of each measure to ' 8' for full loudness, then the remaining 7 beats are randomly set via Bf1V.1=(?(0,15),7) using the Velocity Map, as detailed earlier. Bf11.0=(?(40,80),8) fills an 8-note measure in Buffer 1 of Voice 1 with random notes, then the same process is applied to send different random notes to Buffer 2. The actual performance is 2 verses of the song. Each verse consists of 6 measures of 8 beats each. i1=11 W=16 selects Voice 1, Buffer 1 and then Waits for 16 beats (2 measures) while it plays. Then one measure of Buffer 2, one of Buffer 1 again, then Buffer 2, then Buffer 1, and the verse repeats. After both verses, the final note (if any) is set to Sustain and the Voice 1 Instrument is toggled off to prevent the Velocity and buffer note patterns from advancing. The sustain is held for 4 beats, then toggled off for 4 beats of rest to mark the end of the song. Then the Instrument is toggled back on for the next song. Then the script loops back to the start of the infinite loop section to show the current random seed and select a new instrument and new patterns for the next song. Ideas To Try: You can use this script as a basic starting point for your own experiments. You can prevent the random instrument changes by commenting out the I1=UB oRi=UB line near the start of the infinite loop, if you want to focus on a single instrument. In that case, the Voice 1 Instrument Number will be used exclusively. Or, you may want to focus on a certain 8-instrument family by changing the UB=?(0,118) line to use a different range. Consult the General MIDI Instrument Sounds list. Try different Tempos as well. Note that even with the 400 BPM used here, some performances will have a very slow effective tempo if a lot of the ' _' note-hold characters from the Velocity Map are chosen at random for the Velocity Pattern. Changing the proportions of ' 8', ' _', and ' 0' in the Velocity Map can have a major effect on the song structures that are selected, but remember that these only affect probabilities... you can still get a less-probable pattern on any given instance. You can also use other characters than ' 8' to get different velocities for a more "human" feel, as noted in Random Melody Velocities. Try changing the lengths of the pattern and buffers to get longer and more-complex songs. (You don't need to change the length of the Velocity Map.) Try commenting out the V1.0="8" and Bf1V.1=(?(0,15),7) lines to eliminate the Velocity Map influence completely, giving the same result as a map full of ' 8's. You can use Buffer Copy from the live input instead of random Buffer Fill. (Here "live" includes the default DaqMusic random source, the Generator, or actual live Input sound.) For example, use BC11.0=10(7,0) to copy the last 8 input notes to Voice 1, Buffer 1, instead of the current Bf11.0=(?(40,80),8) that uses random notes. (You may want to Wait for at least the number of beats you are going to copy, so there will be fresh input notes.) With live inputs Track Min-Max range and the Track Threshold will become relevant, as well as whether you are using DaqMusic or KaleidoSynth mode. Also with live inputs, the note sequences are no longer derived from random numbers. They can thus no longer be re-created using the displayed random seed, though the seed still controls the Velocity Pattern. See also Example MIDI Setup Files, MIDI Setup Files, Musical Frontiers, DaqMusic, KaleidoSynth, Pitch-to-MIDI dialog, Pitch Track Toolbox - Overview, Spectrogram / Pitch Track Controls, Spectrogram / Pitch Track (Sgram/PT) |
|||
GO:
Questions? Comments? Contact us!We respond to ALL inquiries, typically within 24 hrs.INTERSTELLAR RESEARCH: Over 25 Years of Innovative Instrumentation © Copyright 2007 - 2011 by Interstellar Research All rights reserved |