Data AcQuisition And Real-Time AnalysisScope - Spectrum - Spectrogram - Signal Generator
Software for Windows
Science with your Sound Card!
Contact us about
PM Mod Source
Macros: ModSrc, PMsrcDlg
The default modulator is an internal Sine wave, whose frequency and phase you can control. When you click on the Mod Source button, it opens a standard Modulation Source dialog that allows you to select Sine (default) or any lower-numbered stream or combination of streams for Stream Modulation.
The number in parentheses next to each Stream option is its overall stream number. This is a single digit (0-6) that can be used to toggle it via hot-key instead of a mouse click. To select Sine, toggle all Streams off.
On Left Stream 0, Sine is the only option. On Stream 1, you also have the option of selecting Stream 0 as the source. Higher-numbered streams allow all lower-numbered streams, plus all combinations. The Right channel streams are all numbered higher than the Left, so any Right stream can use any and all Left streams.
When more than one stream is selected as the source for a particular modulator, the selected streams are summed together to get the overall modulation. In this case, you should insure that the total of the respective stream Levels does not exceed 100%.
When you select one of the other streams as the Source, the Mod Freq and Mod Phase controls are removed from the current stream. Instead, you would use the main Freq and Phase on the selected modulator stream. The Depth control works normally.
When using Stream Modulation with Multi-Channel Outputs, unlike normal stereo, the modulator stream itself can be used as an output. This can be used to supply a modulation sync signal to an external device.
One not-so-obvious use for phase modulation is in conjunction with an Arb file. For example, the Expnote.DAT file holds, instead of the usual wavetable, several separate tables of values representing various musical note frequencies: The set of all notes on a piano keyboard, the set of just the white keys, just the black keys, etc. The tables are simply arranged one after another in the file, but Arb treats the file as a single circular list; every table thus represents some range of phases around this circle.
If you want to cycle through just one set of these values, or randomly select values from just one set, what you really need is to select values over that particular range of phases. That's a job for phase modulation. You first set the main Frequency to zero, so the output will stay stationary at one particular value. Then set the main Phase to select the desired range. If you now modulate that phase, the output will change under modulator control.
If you use a noise stream as the modulator, you will get random values from within the selected range. Adjusting the Level of noise and the Depth of the phase modulation will control the extent of the selected values within the range. You can set the Arb wave to Round to the nearest table value if you want to avoid interpolated values. That approach is used in the Composer.GEN setup to select only discrete values from the 'black keys' set; if you use Interpolate you will get non-musical notes, as though playing a keyboard "in the cracks".
This same approach can be used to set up various test schedules, for example, which use random selection from within a predetermined set of values.
Use the PM. prefix in addition to channel and stream prefixes to specify the modulator for the ModSrc command. The value you supply is a bit map of the streams to be used, where each bit in the value specifies a specific stream. The bit numbers are the same as the overall stream numbers (0-6) shown in parentheses next to each stream in the dialog, as mentioned above.
You can use binary, hexadecimal, or decimal notation. You can specify more than one stream by setting the appropriate bits.
Sine (default) b00000000 h00 0 L.0 Stream (0) b00000001 h01 1 L.1 Stream (1) b00000010 h02 2 L.2 Stream (2) b00000100 h04 4 L.3 Stream (3) b00001000 h08 8 R.0 Stream (4) b00010000 h10 16 R.1 Stream (5) b00100000 h20 32 R.2 Stream (6) b01000000 h40 64
For example, L.3.PM.ModSrc=1 will set Left Stream 3 PM/Slope/PWM modulation to use the output of Left Stream 0 (bit 1) as the modulation source. L.3.PM.ModSrc=b11 will set it to use the sum of Left Stream 0 and Left Stream 1, since b11 (decimal 3) is the sum of bit 0 (decimal 1) and bit 1 (decimal 2).
Note that the chosen modulator must be available for the given stream, or else the macro will set Sine. Sine is always available, but only streams lower than the current stream may be used as modulators.
If the PM dialog is open, PMsrcDlg=1 opens its Modulation Source dialog, PMsrcDlg=0 closes it, and PMsrcDlg=x toggles between open and closed. Note, however, that you do not need to open the Modulation Source dialog to set its controls directly, as above.
Questions? Comments? Contact us!We respond to ALL inquiries, typically within 24 hrs.
Over 35 Years of Innovative Instrumentation
© Copyright 2007 - 2022 by Interstellar Research
All rights reserved