Daqarta for DOS Contents
The OPL3 uses an FM technique which has been held in low regard for music synthesis, especially when compared to the newer "wavetable" methods, because the sounds it can produce are "too limited". But it can generate low- to mid-frequency audio 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, it can act as a fairly good source of random noise. (However, the ESS implementation is not as good as a true OPL3 chip for this.)
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.
This operates the same OPL3 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.
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 actual frequency response of the output is not flat, but since it is controlled by the output circuit used by the board manufacturer as well as by the ESS chipset, the response curve here must be regarded as representative only.
The synthesizer output frequency response is normalized to the maximum output level at 500 to 2000 Hz. Measured values are arranged in sequence, NOT TO SCALE:
dB Frequency dB 0 500 2000 0 -0.1 156 4000 -0.1 -0.5 70 7800 -0.5 -1 47 10800 -1 -2 29 15100 -2 -3 21 18600 -3 -4 16 23500 -4 -6 10 -6 -9 6 -9 -12 4 -12This is the output of the sythesizer alone, as measured by independent means. It does NOT include the input response of the ESS board. The low frequency response is not very impressive, but the high frequency response is much better than most OPL3 sound card outputs. (Remember, your card may be much different, even using the same chipset, since this is mostly controlled by the separate output amplifier.)
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. The noise has a wide bandwidth, but unfortunately has a fairly conspicuous repeat pattern of several times per second, which is not found on true OPL3 chips. This pattern would not be noticed as a brief drum snare (the use intended by the manufacturer), but would be unsuitable as a continuous background or long-duration burst in certain perceptual experiments where the pattern may intrude. The frequency response is fairly flat, however, so it may be useful for testing loudspeakers, etc.
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 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.
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 maximum output for your particular 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. The maximum value of attenuation you can set is -110 dB, after which the display shows 'Off' and the output is muted.
When adjusting the Level with the cursor keys, the up-arrow gives more output, which means the dB values become smaller (less negative).
LEVEL = OFF:When Level is set below -110 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 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.
Input and set the Master Outputs to On. Temporarily set the Left 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. 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.
overload limit for the selected input.
You may want to wire fixed attenuators into the connections between the outputs and inputs, such that with Level at 0 db the inputs are not overloaded. That will allow maximum Level adjustment range for the experiment itself, rather than always running with a minimum attenuation.
Furthermore, if you use an external power amplifier to get really large stimuli, you should set the amplifier's level control so that you get the maximum desired output when Level is set to 0 dB. That prevents a Level setting error from overdriving the amplifier.
AC Coupling, Input AC Coupling, Output Address Parameter A: Address Parameter, Mixer A:M Address, PnP Determination Amplifier, External Anti-Alias Input Filter Artifacts, OPL3 Output Modulation Attenuation, Output AUTOEXEC.BAT, ESSCFG PnP Configuration Manager AUTOEXEC.BAT, SET BLASTER Line
Calibration, Input Calibration, Output Level Capacitor, Output Coupling CD Inputs Channel (Input) Parameter C: Configuration Parameters Cutoff Frequency, Input Filter
Delay, Output DMA Parameter D: (8-bit) DSP Version Duration, Output DWCFGMG.SYS PnP Configuration Manager
F: Parameter (Help File Omit) Fall, Output Filter, Input Anti-Alias Frequency, Output Frequency Response, Input Frequency Response, Measuring Input Frequency Response, Output
Masking Experiments Master Outputs Menus, Synthesizer Channel Mixer Address Parameter A:M Model Override Parameter M: Modulation Artifacts, OPL3 Output
OPL3 Synthesizer Chip Output Controls, Main Output Level Output Loading Requirement Output Mode (Off, On, Burst, Gap) Output Switching Outputs, Master Outputs, Monitoring Overload Limits, Measuring
Sensitivity (Range) SET BLASTER Line Settling Time Signal Generation, Main Output Controls Synthesizer Channel Menus Synthesizer Chip, OPL3 Source, Input Swap Outputs Switching, Output
Questions? Comments? Contact us!We respond to ALL inquiries, typically within 24 hrs.
25 Years of Innovative Instrumentation
© Copyright 1999 - 2006 by Interstellar Research