Daqarta
Data AcQuisition And Real-Time Analysis
Scope - Spectrum - Spectrogram - Signal Generator
Software for Windows
The following is from the Daqarta Help system:

# Random Selection of Arb Values

Controls: Gen Dlg >> Stream >> Wave >> Arb

Suppose you want to randomize the basic test cycle mentioned in the Arb Interpolate/Round/Step discussion, using the same amplitude sequence but presenting the frequency steps in a random order. In other words, you want to select random values from that Arb file, rather than just step through in sequence. Consider that the values in the file are the points in one cycle of the original output series, so they correspond to phase steps. For example, if there are 1024 points in the cycle, each would represent 360 / 1024 = 0.35156 degrees of phase.

What you really want to do is select random phases, so you use Phase Modulation with the Source set to a noise source on an earlier stream. Use White noise for a uniform distribution of random values over a range. You can adjust the Depth of the Phase modulator, as well as the Level of the noise source, to cover as much or as little of the full range of values as desired. If you use less than the whole range, then the main Phase controls the central value.

You can use a Gaussian source to concentrate most of the samples about one region of your Arb, while still hitting the other values occasionally.

Note, however, that you must not set up the Arb to use Step, since that allows no Phase Modulation option. Instead, set it to Round, and set Freq to 0. What this means is that the output will hold constant at whatever phase is selected, and the total phase will include the main Phase setting as well as the contribution from the modulation. By using Round, you will select only discrete Arb values; if you instead set Interpolate you can randomly include "in between" values as well.

With this setup, the duration of each random frequency is constant, set by the noise Timing Step. You thus can't control the relative duration of different frequency steps by repeating values in the Arb file. Instead, repeated values now affect the relative probability of the different constant-duration steps. Of course, since any given Arb stage is selected at random, there may be repeated runs of the same stage which effectively act as longer durations.

You can try an entertaining demonstration of this process by loading the Composer.GEN setup, which creates "Oriental"- sounding background music by selecting random notes from the "black keys" section of Expnote.DAT Arb file. This setup also demonstrates another important feature: You can have one Arb file containing several different regions. The main Phase control selects the region, and the modulation Depth and noise Level control the width of the region that is used. There is no need to repeat anything just to get an even 1024 samples, since you can always pad the unused part of the file with zeros.

GO: