Daqarta for DOS Contents
sine waves at least as well as a typical laboratory function generator (about 1% distortion or -40 dB), suitable for many experiments. And although not really designed to do so, they can act as very good sources of pulsed or continuous random noise... which is actually very hard to obtain otherwise, and which can't be made at all with a wavetable!
Sound Blaster Pro output is AC coupled, which means that it has a series capacitor to block internal DC voltages. The output must drive a resistive load in order to allow the capacitor to charge properly.
Sound Blaster Pro boards have a "feature" whereby Line or CD Inputs are ALWAYS mixed in with the output, which here we would prefer to contain only synthesized signals. The only way this feedthrough can be avoided is by shutting off the Line and CD inputs corresponding to the desired Left or Right output. What this means is that if the Input source is set to Line L, you will be automatically prevented from producing a synthesizer signal on the Left output. Otherwise, you would stand a good chance of blowing up something due to runaway feedback oscillations.
So, even though the built-in synthesizer can produce dual outputs, you can only use them both when you set the Input source to Mic. That's fine for low-level inputs, but for higher levels you will need an external attenuator unless you have a peculiar experiment which can tolerate the AGC action.
Sound Blaster Pro boards suffer from a potentially serious problem: The outputs can pick up interference from the video board, and probably other system components as well. With Daqarta, this manifests itself as a small pulse, about 1 msec wide and 16 mV tall on a typical 486DX-33 system, when the output Level is set to maximum. This happens every time the trace area is redrawn, since there is a rapid and prolonged burst of video activity then. In Spectrogram mode this pulse is not found, since only a small portion of the video memory is updated at each time point.
The pulse is reduced proportionally with the output Level control or the card-edge thumbwheel. With the maximum signal output voltage of about 460 mV RMS, the 16 mV pulse would seem to be about 29 dB below it. This may be enough to allow "threshold" studies to be conducted, since if you are adjusting the output to just produce a threshold response, this pulse should be safely below it. Remember, however, that the pulse spectrum is not the same as that of the output signal. So if you are studying high frequency hearing thresholds, your subject may be much more sensitive to the pulse than to the stimulus!
To see the pulse, set the Input source to Line R and connect the Left output to the Line Right input. Set the main board menu page Master Outputs to On and use CTRL-PgUp to go to the Left synthesizer output menu. Leave its Output Off, but set its Level to 0 dB. The pulse always comes when Daqarta is "not looking" in Sequential mode, since it happens during trace updates between sweeps, so activate RTime mode to get data collection that is continuous and independent of trace updates.
To give yourself more pulses on-screen, toggle Trig to Free. Now, unless you have a very slow system or a high sample rate, you should get trace overlap... there will be more than one pulse per trace since Daqarta can show a screen faster than it can collect that much data. You will probably need to increase the trace magnification to see the pulses. Since they are at a low level, they will be quite "chunky" due to the 8-bit quantization.
You can use waveform averaging to reduce the chunkiness, even though logically you might think that wouldn't work... after all, you just toggled to Free mode, so without the trigger action the pulses should be unsynchronized with the trace. However, since they are actually produced by the very action of showing the trace, they will come at a fixed rate and timing, especially once the average gets running. Try averaging 128 or 256 sweeps for best results.
The interference pulse can be eliminated by turning off the View option, which unfortunately means you can't monitor the signal input... you can only see it when in Pause mode. But this still allows signal averaging in True mode, and will actually allow faster operation as well since no time is spent redrawing the trace. When the designated averager sweeps are completed, the trace will automatically Pause and display the averaged results.
Also, with View off you can produce stimulus Bursts, Gaps, or Pulses at higher repetition rates by using smaller values for Trigger Cycle than you could achieve with View on, and still maintain SPEC timing.
This interference problem doesn't afflict the Sound Blaster 16 boards, so if all else fails you may want to upgrade.
channels. If neither individual channel is active, this will have no effect. To produce an output sound, you must set this to On, set the appropriate channel Output to On, Burst, or Gap, and set the desired Level for that channel.
Due to the SBPro's unavoidable input / output mixing and the resultant interlock required by this driver, you will not be able to produce an output on the left or right channel corresponding to the left or right Input you are using. Use the opposite channel, unless the Mic input is suitable for your application.
This Master Outputs control operates the same synthesizer chip internal gating circuits used by the individual channels, which means that setting this to Off can attenuate the output signal by only about 68 dB below that channel's Level setting. If you need more attenuation, set the individual channel Level controls to Off as well.
NORM / SWAP (Pro 2 only):When this option is set to Norm, the signal generated by the Left channel is sent to the Left output of the board, and the Right goes to the Right. Swap just sends the signals to the opposite outputs. It doesn't swap the titles on the respective channel menus, however... They refer to the actual synthesizer channels, not the board outputs.
OUTPUT SWITCHING (Pro 2 only):In the output switching options below, the L and R letters refer to the Left and Right synthesizer channels in Norm mode, but the opposite in Swap mode.
The positions on the left or right side of the option text indicates which output receives the channel. Where only one position is in use, only that side's output is active.
Off:The indicated synthesizer channel is disabled. This reduces the signal about 68 dB below the Level setting. Set Level to Off also if you need even lower output.
Sequential mode only (RTime key option off). This option is not available in RTime mode, and will disappear from the menu. If you switch to RTime while Burst is active, the Off output option will be selected instead. When you turn RTime off the Burst mode will again appear and become active.
The level of the completely "off" portion of the burst is about 68 dB below that of the completely "on" portion.
While in Burst mode, the acquisition sweep is synchronized to the burst, regardless of Trigger Control Menu settings for Trigger Mode, Source, Slope, or Level. However, Trigger Delay and Cycle controls behave as usual. The trigger point that is controlled by Trigger Delay is the onset of the first burst (or gap) event on either synthesizer channel, which may be modified by the synthesizer channel Delay settings.
Burst mode, Gap keeps the tone on continuously EXCEPT for the specified duration. Note that Rise and Fall still apply in the normal sense: The tone is on, then at the selected Delay the Fall begins, and after the selected Duration the Rise begins to return the tone to its original level until the next sweep.
Also as with Burst, the level of the completely "off" portion of the gap is about 68 dB below that of the completely "on" portion.
The synthesizer output frequency response is given here, normalized to the maximum output level at 200 Hz. Measured values are arranged in sequence, NOT TO SCALE:
dB Frequency dB 0 200 0 -0.1 33 1200 -0.1 -0.5 19 2500 -0.5 -1 14 3700 -1 -2 10 5400 -2 -3 8 6800 -3 -4 6 8100 -4 -6 10500 -6 -8 4 12900 -8 -10 15300 -10 -12 2 17700 -12 -14 20500 -14 -15 22300 -15This is the output of the sythesizer alone, as measured by independent means. It does NOT include the input response of the SBPro board.
OPL2 or OPL3 synthesizer runs at its own fixed output sample rate of 49.7 kHz. A consequence of this is sampling "modulation" that is evident at frequencies above a few thousand Hertz. This is not just an artifact of the difference between the synthesizer sample rate and the acquisition rate. It is due to interactions between the synthesizer sample rate and the output signal frequency, and is "really there"... you can see it with an analog oscilloscope.
This may be of no consequence if you are only interested in the spectral content of the signal, say to determine threshold frquency responses of your subject or system under test. You can check the spectrum for yourself and see if it meets your needs.
Frequency of 0. This works with either channel for the earlier Sound Blaster Pro, but only the LEFT channel for the newer Pro 2.
The noise has a wide bandwidth and does not have any apparent repeat pattern. The non-repeating aspect is very important for perceptual experiments, since many other noise generation techniques have obvious repetition patterns that may compromise results. (You can easily hear noise patterns lasting several seconds before repeating... they sound like ocean waves rolling in to the shore.)
All the other settings apply to Noise as they apply to Frequency: Delay, Rise, Duration, Fall, and Level can be used to create noise bursts or gaps. The Level in noise mode has been set so that the RMS value of the noise is the same as that of a pure tone of 500 Hz at the same Level. The peak noise levels will be slightly higher.
Note, however, that this use of noise generation is an undocumented function of the OPL2/OPL3: It may not work properly on your particular board.
In particular, on some boards the noise is accompanied by a positive or negative DC offset voltage. This DC voltage will be blocked by the board's output coupling capacitor and will thus generally cause no problems for continuous noise, but for bursts or gaps there will be a transient "thump" that may not be acceptable.
Some boards may show this DC offset problem during a given session, but if you Quit Daqarta and restart, the problem may vanish. The presence or absence of the DC seems to be "set" during board initialization, and remains that way for the remainder of the session. If you need to give noise bursts, you may thus want to check the output at the start of each session.
trigger point) to the start of the Rise portion of a Burst, or the start of the Fall portion of a Gap. The Delay value may be made negative, to allow the stimulus to start before the data sweep. This has the same effect as positive Trigger delay if you are using only one synthesizer channel: You see events later than the "trigger" point, which here would mean the start of the burst or gap.
Because the Delay refers to the time prior to the start of the Rise portion of the tone burst, the position of the "on" part of the burst may be further delayed by the Rise time.
Since there are two synthesizer channels, it is possible to have a burst on one channel precede or lag the other by any amount up to 16000 samples. This allows all sorts of "masking" experiments, where you study the response to one stimulus (the "probe") in the presence of another (the "masker"). In a "forward masking" experiment, for example, the probe tone burst might start just after the masker burst goes off. You could study the effects of the lag between the two as well as the levels and frequencies of each. You can also do experiments where the probe burst appears at certain positions in a variable-width gap in an otherwise continuous masker.
Note, however, that in order to use both synthesizer channels at once, you must use the Mic input. For Left or Right Line or CD inputs, the SBPro's unfortunate input / output mixing scheme requires that the corresponding synthesizer channel be locked out.
burst to go from 10% to 90% of its final value. Unlike standard laboratory practice, however, the shape of the rise is not a sinusoid but an exponential. This is a legacy of the musical roots of the OPL3 synthesizer chip. The beginning portion of the burst thus stays at lower levels longer than an equivalent sinusoidal rise, and at longer rise times there can be a substantial "tail" (or should that be "nose"?) that precedes the 10% start of the rise. This pre-tail is not counted in the rise-time value, but it nevertheless delays the onset of the burst, so you can't determine the 90% time by calculations based on the delay samples and rise-time alone.
The rise is composed of many small steps in level that normally happen too fast to notice. But as the rise becomes slower, say 16 msec or longer, each step takes long enough that the overall effect becomes more like a staircase than a continuous curve. Even though the steps are small in amplitude, you should check to see if there are any audible or measureable consequences for your particular experiment.
Rise portion to the start of the Fall portion of a burst. For a gap, it is the number of samples from the start of the Fall to the start of the Rise. Duration does not take into account the length of the Rise or Fall portions, so if you set the duration too short for a long rise time, the burst may never reach the 100% "on" portion. Similarly, a short gap duration with a long Fall time may never get all the way off.
burst to go from 90% to 10% of its final value. This is an exponential and not a sinusoidal decay, so there can be a long tail after the 10% level. Unlike Rise, however, the level steps that are used to generate this are finer and less noticeable until much longer Fall times. As a result of the musical origins of the OPL3 synthesizer, the range of Fall times is about 6 times longer than the Rise times to better approximate conventional musical sounds such as plucked strings.
dB relative to the volume control thumbwheel setting on the back of the board. All values other than zero are thus negative, but you don't need to include the minus sign when entering them directly... Daqarta will supply it automatically since there can be no values above zero.
When adjusting the Level with the cursor keys, the up-arrow gives more output, which means the dB values become smaller (less negative).
The thumbwheel setting should be made so that when Level is set to 0 (maximum output), the board output will produce some maximal calibrated output from your system. You should then take steps to lock the control into this position to prevent an accidental change of the system calibration. A piece of tape covering the thumbwheel is probably the simplest solution.
The Sound Blaster Pro internal mixer contains fairly crude level controls which give variable step sizes from about 3.3 to 5.1 dB in two sections. By mapping out the actual step sizes for one board and combining those with the very uniform 0.75 dB steps built into the OPL3 synthesizer, the Level control is able to cover a range from 0 to -97 dB in steps of about 1 dB, with variations between steps of less than 0.5 dB... for that one board. The mixer steps may differ slightly on other individual boards and may be completely different on clones.
Input and set the Master Outputs to On. Temporarily set the Right Output control to On while you adjust its Frequency to about 500 Hz while monitoring the power spectrum for minimum "skirts" at whatever sample rate you are using, then activate the Window function (W-key). This will insure the maximum energy of the signal will appear in one spectral line. Note the cursor readout Y-value of that line when the output Level is set to 0 dB, then check that you get 1 dB change in the readout for each 1 dB change in output level.
As you get to lower output levels, the spectral line will seem jumpier and it will get closer to the general background noise. To improve this situation, you will need to use waveform averaging. (Spectrum averaging will take care of the jumpiness, but it will not reduce the background noise.) However, the noise also adds trigger jitter, making the average poorer. To avoid that, you need to use Burst or Gap mode, since with either of these the sweep is guaranteed to be in sync with the output... it initiates it.
You will need to insure that you get a full sweep of the waveform, and you will probably want to make sure the portion you look at is well away from any turn-on transients. A Burst with Duration set to 750 samples and Delay set to -200 samples will work fine with N samples = 512. (You could instead set Trigger Delay to the equivalent positive delay in msec at your sample rate, if you find that more intuitive.)
While viewing the waveform, use CTRL-A to bring up its averager menu and set the desired number of sweeps. The default of 32 is a reasonable starting value, but you will probably want more at lower levels. Hit the A-key to start the average, then (before or after it finishes) hit the F-key to go back to the frequency power spectrum. Proceed as before to compare 1 dB changes in Level with the cursor readout at the output frequency line, using a waveform average after each Level change.
Remember to flip back to waveform view before you hit the A-key to start each average, or you will be getting spectrum averages instead... you'll know it by the higher noise floor. Since this can get pretty tedious if you are going to check a lot of Level settings, you will probably want to create a Key Macro to do the work. You could make a single macro that reduced the Level by 1 dB, flipped to waveform mode, started the waveform average, and flipped back to the power spectrum.
At the moment, there is no simple way to install a new calibration table into the SBPRO driver, but a method will be provided if there is enough demand. For superb level control, consider the Sound Blaster 16 board, which covers a range from 0 to -135 dB and has been shown to be quite accurate down to at least -100 dB... and probably beyond, but the measurements are more tedious at the lowest levels.
LEVEL = OFF:When Level is set below -97 dB, it changes to "Off". The actual leakage output in the Off state has not been measured. This Off state provides considerably more attenuation than provided by the Off of either the Master Outputs or the individual channel Output controls (or both together). Those use the OPL2 / OPL3 internal gating, which gives about -68 dB of attenuation. This is also the difference between the "on" and "off" portions of an output in Burst or Gap mode.
overload limit for the selected input. If you really must have the output level higher to drive your experiment, you may want to wire fixed attenuators into the connections between the outputs and inputs. Otherwise, you can keep the output lower to avoid overload and use an external power amplifier to get really large stimuli.
Also, due to the channel lockouts required by the undesireable input / output mixing on the SB Pro board, you may be best off to cross-wire the Right synthesizer output to the Left input and vice-versa.
AC Coupling, Input AC Coupling, Output Address Parameter A: AGC, Microphone AGC Action Threshold Table Anti-Alias Input Filter Artifacts, OPL3 Output Modulation Attenuation, Output AUTOEXEC.BAT, SET BLASTER Line Automatic Gain Control (AGC)
Calibration, Input Calibration, Output Level Step Size Capacitor, Output Coupling Channel (Input) Parameter C: Configuration Parameters Control, Thumbwheel
F: Parameter (Help File Omit) Fall, Output Filter, Input Anti-Alias Frequency, Output Frequency Response, Input Frequency Response, Measuring Input Frequency Response, Output
Impedance, Input Input Controls Input / Output Mixing Limitations Input Source Interference Pulse, Output Introduction IRQ Parameter I:
Masking Experiments Master Outputs Menus, Synthesizer Channel Mic Sensitivity and AGC Modulation Artifacts, OPL2/OPL3 Output
OPL2/OPL3 Synthesizer Chip Output Controls, Main Output Interference Pulse Output Level Output Level Step Size Calibration Output Loading Requirement Output Mode (Off, On, Burst, Gap) Output Switching Outputs, Master Outputs, Monitoring Overload Limits Overload Limits, Measuring Overload Threshold Table
Sensitivity Sensitivity, Mic input SET BLASTER Line Signal Generation, Main Output Controls Source, Input Step Size, Output Level Calibration Swap Outputs Switching, Output Synthesizer Channel Menus Synthesizer Chip, OPL2/OPL3
Questions? Comments? Contact us!We respond to ALL inquiries, typically within 24 hrs.
25 Years of Innovative Instrumentation
© Copyright 1999 - 2006 by Interstellar Research