MDK_DDK.pdf Mwave Device Driver Developer’s Guide Ver 1.0
ADK.pdf Mwave System Application Programmer’s Guide Ver 3.0 OS/2 and Win 3.1
Bradly Parker's MWAVE stuff (Readme) (thanks Adrian)
mdkwin_1.zip MDK for Windows Disk 1 of 3
mdkwin_2.zip MDK for Windows Disk 2 of 3
mdkwin_3.zip MDK for Windows Disk 3 of 3
mdkos2_1.zip MDK for OS/2 Disk 1 of 2
mdkos2_2.zip MDK for OS/2 Disk 2 of 2
mdkw95.zip Revised Version of mwdebug.exe for Windows 95
MIDIfile Midifile DLL (OS/2 MIDI device driver)
MIDIsrc PS/2 Roland MIDI driver source code (freeware)
Written by Carl M. Benda. Originally published in C-users journal Jan 1992
Netpbma.zip Extended Portable Bitmap Toolkit
Mwave/OS: A Predictable Real-time DSP Operating System
Developers Toolkit under Windows 95
(from Brad Parker)
Except for the Mwave Debugger (Mwdebug.exe), the tools in the Mwave
Developers Toolkit for Windows will work in Windows 95. This update (mdkw95.zip) provides a revised version of mwdebug.exe
which will work under Windows 95.
When running under Windows 95, the Mwave Debugger (Mwdebug.exe) shipped in
MDK will not work properly on computers with greater than 16 meg of memory. In
the above scenario, Mwdebug.exe will display a System Error "Mwave Manager
access failure 0xf081" whenever the user selects an operation (such as scope,
probe) that requires the caches.
To use Mwdebug.exe in Windows 95 on computers with greater than 16 meg of
memory, you will need the revised Mwdebug.exe shipped in mdkw95.zip.
There are two files in the mdkw95.zip:
readme.w95 <-- this file
mwdebug.exe <-- the revised mwdebug.exe
I also may have found a solution to the "MMSYSTEM 003" error I was
getting with the Mwave mixer device. It's related to the more than 16 Mb of
memory problem listed above. I have the patched drivers I got from a "friend".
(must have been patched with the above tool)
The Mwave Developers Toolkit was released for free by IBM a while back then
it disappeared. Intermetrics had it priced at approx $700! No wonder Mwave
didn't catch on.
It resurfaced on the Watson Mwave site until that also disappeared. I
contacted Intermetrics about this issue about two years ago and they didn't
seem to know anything about it. Totally clueless.
Good thing I partially mirrored the Watson site. I have the complete Mwave
developers kit among other stuff.
I have both the Windows and OS/2 versions
9/96 Mwave Developers Toolkit Release 1.31 for Windows
9.96 Mwave Developers Toolkit Release 1.31 for OS/2
I'll give it to anyone who wants a copy. Will be posting this on my Audio
Madness web page one of these days.
Understanding the MIDI Mapper
The MIDI Mapper is a program included with Microsoft Windows that interacts
with the Mwave Windows Synthesizer Device Driver to control the way sounds are
created on your Audiovation Adapter/A and on external MIDI devices like
keyboards. In Windows MIDI applications allowing you to specify a MIDI output
device, select the Windows MIDI Mapper as the output device rather than
outputting to the Mwave driver directly.
Base Multitimbral Synthesizer
Transmits data on MIDI channels 13-16 and supports 8 simultaneous voices (8
notes at once, each of which can come from a different instrument)...
Extended Multitimbral Synthesizer
Transmits data on MIDI channels 1-10 and supports 32 simultaneous
The Audiovation Adapter/A supplies the following MIDI Mappers for selecting
which MIDI format to use for Mwave:
Mwave EXT GM for Mwave MIDI synthesizer channels 1 - 10
Mwave Base GM for Mwave MIDI synthesizer channels 13 - 16
The Mwave Windows Synthesizer Device Driver supports 16 voices and usually
sounds best when the Mwave EXT GM setup is selected in the MIDI Mapper. A few
songs requiring more than 16 simultaneous voices might sound odd. If a 17th
simultaneous note is played, the "oldest" note ends prematurely.
The MPC standard requires authors to provide two versions of every MIDI
composition stored in the same file. Channels 1-10 hold the version written for
Extended Multitimbral synthesizers, while channels 13-16 hold the version
written for Base Multitimbral synthesizers. Most MIDI files included with
Windows applications follow this standard of containing two versions of each
composition. This is why the Mwave MIDI synthesizer comes with both Base and
Extended MIDI Mapper setups. If all channels were played at once, both versions
of a MIDI composition would play at the same time.
If you have a MIDI file that is not producing sound on your Audiovation
Adapter/A, it could be because MIDI commands are being sent on a set of
channels the MIDI Mapper is not responding to. Try using the Windows MIDI
Mapper to switch the setup between Mwave Base and Mwave Extended Multitimbral
modes. This lets you see if the MIDI commands in the file are provided for only
one of the two modes.
Communicating with an External MIDI Device
If you have an external MIDI device attached to your Audiovation Adapter/A,
you can use the Windows MIDI Mapper to select the Mwave MIDI Port. This MIDI
Mapper allows you to send and receive data from an external device on channels
1 - 16. If you need a different setup, you can edit this MIDI MAP for the setup
that you want, or you can create a new one.
External/port devices: Mwave Port for Mwave MIDI Port channels 1 - 16
To play/record a MIDI file to/from an external synthesizer, refer to the
synthesizer's user's manual and use your favorite MIDI sequencer program. You
can also use the Windows Media Player to play a MIDI file to this device.
15-pin - Joystick-MIDI-port Layout
Joystick-MIDI-Port Cable (Sample only)
Other MIDI Controls
The Audiovation Adapter/A's MIDI synthesizer recognizes
several types of control information in the MIDI data
Key Velocity The harder the key is pressed, the louder the note
Main Volume Usually controlled by a knob on MIDI keyboard. Received on
control number 7.
Pitch Bend Used to mimic the sound of a whammy bar on a guitar and is
usually controlled by a thumb wheel on a MIDI keyboard. Note pitch can be
varied +/- 2 semi-tones.
Pan The Audiovation MIDI synthesizer uses QSound** to implement Pan. By
using QSound, the position of each channel's instrument is not limited by the
position of the speakers. It is received on control number 10.
Vibrato Also referred to as modulation, this control produces rapid,
small changes in the pitch of a note and is usually controlled by a thumb wheel
on a MIDI keyboard. Vibrato depth can be varied +/- 2 semi-tones. It is
received on control number 1.
Sustain Each note of an instrument has an envelope that describes the
loudness of the note during attack, decay, sustain, and release periods. Some
MIDI keyboards can be used with a piano-like sustain pedal that prolongs the
sustain period to mimic holding a note. It is received on control number
The Audiovation plays MIDI files using a MIDI synthesizer implemented on its
Mwave DSP. Whenever the synthesizer function produces audio, it enhances the
recreated audio with a QSound process. QSound is a signal processing technique
used to deceive the acoustic response system (hearing) of a listener. Audio
from a stereo speaker system that has been processed by QSound can give the
listener the perception that the speakers are displaced much further to the
listener's left and right than they actually are.
This is particularly useful for a personal computer system, in which table
space is limited, and a small set of speakers are located immediately adjacent
to the computer. The angular displacement of the speakers to the listener's
left and right is not sufficient to give a decent stereo effect. But with
QSound processing, the listener can perceive sound coming from a variety of
directions, some of which are significantly further to the left and right than
the actual location of the speakers. The net result is a significantly improved
To optimize the QSound effect, sit directly in front of the computer with
the speakers equally distant from both sides of the computer.
Mwave Audio Control
The Line-Out Control portion of the Mwave Audio Control window acts like a
mixing console. It combines the audio stream from three simultaneous sources.
Two of the sources are digital streams from other applications (Wave Player and
MIDI Player). The *.WAV Player and the *.MID Player can be created using the
Windows Media Player. The third stream is from the Aux Source. The Aux Source
can be either the microphone input or the combination of CD + Line-In. The
analog Aux Source is sampled by an Analog to Digital Converter (A/D) and
combine with the other two digital streams. The slide control for each source
can be used to adjust the relative levels and the Master slide adjusts the
total level. Clicking the Mute button under each slide control will turn the
source completely off. The slide balance control adjusts left and right channel
balance for stereo signals.
A functional diagram of the Audio Controls is given below. The Line-Out
Controls are shown as solid lines and the Record Controls are dashed lines. The
Audiovation software will detect when a recording IS or IS NOT in progress and
will place the A/D Input Switch into the RECORDING IN PROGRESS or RECORDING NOT
IN PROGRESS positions respectively. The diagram below has been drawn for the
RECORDING NOT IN PROGRESS mode. The MIC or CD + Line-In selection is controlled
by the Aux Source controls and the Line-Out level (Speaker Volume) is
controlled by the Line-Out Level controls.
Whenever a recording is NOT IN PROGRESS, the selected Aux Source passes
through the A/D and into the Aux Level Control. The output of the Aux Level
Control is mixed with the output of the *.MID file Player Level Control and the
*.WAV file Player Level Control, and passes through the Master Level Control to
Line-Out and the speakers.
The Audiovation can record from Mic or CD + Line-In. To record, start a
recorder application, such as TalkWorks, and the Mwave Audio Control
application. The TalkWorks application will provide a Recorder Control window
that allows the user to record, stop, playback, and perform other typical
recorder functions. Refer to the enclosed TalkWorks User's Guide for
instructions. The output of the recorder will be a *.WAV file that can be saved
on a disk.
The Mwave Audio Control application is used to select the audio source for
the recording and to adjust its level. These functions are on the left side of
the Mwave Audio Control window under Record Control.
Record from mono/stereo microphone/s - Click on MIC
Record from stereo Line-In - Click on CD + Line-In
Record from internal CD-ROM - Click on CD + Line-In
Adjust recording level - Slide Record Level Up/Down
Adjust stereo balance - Slide L/R
Speaker (Line-Out) Connection During Record
When the Audiovation is recording the Record Controls are used to select the
record source and set the recorded audio level. The record source may or may
not be sent to Line-Out and play through the speakers. The audio signal that
plays through the speakers, while recording, is controlled by both the Record
Controls and the Line-Out Controls as shown in the following Audio Control
Functional Diagram. This diagram assumes that a recording is in progress and
thus the Audiovation software has set the A/D Input Switch to the Recording In
The input to the A/D is the record source but the output of the A/D goes to
two places. The A/D output goes through the Record Level Control to the *.WAV
Recorder, but this signal also goes through the Aux Level Control and the
Master Level Control to the Line-Out and speaker.
The net effect when recording is:
- The speaker level is always controlled by the Line-Out Controls.
- The recorded level is always controlled by the Record Level Control.
- The analog source (Mic or CD + Line-In) is selected by the Record Controls.
- The *.MID and the *.WAV Player may play through the speaker but will not be recorded.
- What you hear through the speaker and what you record could be completely different.
The net effect when NOT recording is:
- The speaker level is always controlled by the Line-Out Controls.
- The analog source (Mic or CD + Line-In) is selected by the Aux Source controls.
- The *.MID Player and the *.WAV Player may play through the speaker.
Recording from a Microphone
When recording from a microphone, feedback from the speakers to the
microphone can be a problem. It may be desirable to Mute the Line-Out signal.
Selecting Mute on the Master Level Control will Mute Line-Out and prevent
feedback. If you need to hear what you are recording but are concerned about
feedback, try repositioning the microphone away from the speakers, or you can
use headphones instead of speakers.
Note: If you run an application that uses the
microphone, for example, a speech recognition program, the record source must
be set to mic. the record source is controlled from the Mwave audio control
Recording from Line-In or a CD-ROM Drive
If you are recording from Line-In or a CD-ROM Drive and you need to listen
to the input audio signal to determine when to start and stop the recorder, set
both the Record Source and Aux Source to CD + Line-In. This will make your
audio output independent of the A/D input switch. The net effect is that you
will be able to listen to the source and decide when you want to start
recording and stop recording.
Note: If you run an application that plays audio
from a CD-ROM, the Aux source must be set to CD + Line-In.* If the Aux source
is not set to CD + Line-In, sound will not play through the speakers. the Aux
source is controlled from the Mwave audio control window.
Additional Audio Controls
Additional Controls can be selected from the Control Menu window that is
displayed when you click on the Control Menu Box in the upper left corner of
the Audio Output Control Window.
Master Only - To minimize screen area, you can request that only the
master slide control be visible. Click on the Control menu box at the upper
left corner of the Mwave Audio Control window and choose Master Only. To
restore the full set of controls, use the control menu to turn Master Only
Options - The options dialog box controls four functions: Audio Mode,
Aux Source ON/OFF, Aux QSound ON/OFF, and Peak Meter Refresh Rate.
Aux Source ON/OFF - The Aux Source ON/OFF switch loads and unloads
Aux Source software in the DSP memory. The default position is Aux Source ON.
Selecting Aux Source OFF unloads the DSP memory and disables the Aux Source.
This function is used to free-up DSP memory.
Aux QSound ON/OFF - The Aux QSound Stereo Enhancement Check Box loads
and unloads Aux QSound software in the DSP memory. The default position is Aux
QSound OFF (no check). Selecting Aux QSound OFF unloads the DSP memory and
disables the Aux QSound. This function is used to free up DSP memory.
Audio Modes - The Mwave Audio Options window also provides a choice
of two Audio Modes, Normal and Audio/Image Synch. For most applications the
mode should be set to Normal. However, some applications use audio synchronized
with images. If you are experiencing difficulties with an application that
synchronizes audio and images try the Audio/Image Synch mode. The Audio/Image
Synch mode will keep a copy of the audio software in the DSP memory and allow
the Image software maximum channel bandwidth. The Audio/Image Synch should only
be used for Windows applications that require audio. If you play a game in a
DOS box under Windows, set the Audio Mode to Normal.
Disabling Audio Functions to Free Up DSP Memory
The Aux Sources and the Aux QSound require support software in the DSP
memory. Also, the Audio/Image Synch mode may use significant DSP memory. Since
the DSP memory is a limited resource, it is possible that you may have some
audio applications running and attempt to load more applications, the Image
Viewer for example, and receive a message that there is not room for the Image
Viewer. You can disable audio functions, and free up DSP memory by setting the
audio mode to Normal, and/or the Aux Source to Off, and/or the Aux QSound to
Off. Setting the Aux Source to Off will prevent the A/D output from reaching
the Line-Out connector. Remember to reset the Aux Source to ON when you are
finished with the other application.