Mwave and MIDI

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)

Windows:
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

OS/2:
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)

readme.w95 says:
  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

from Brad:
   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 voices.

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 (original HERE)

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 stream.

Key Velocity The harder the key is pressed, the louder the note sounds.
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 64.


QSound

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 stereo effect.

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 

Line-Out 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.

Record Control

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 Progress position.

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 window.

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 off.

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.

Content created and/or collected by:
Louis F. Ohland, Peter H. Wendt, David L. Beem, William R. Walsh, Tatsuo Sunagawa, Tomáš Slavotínek, Jim Shorney, Tim N. Clarke, Kevin Bowling, and many others.

Ardent Tool of Capitalism is maintained by Tomáš Slavotínek.
Last update: 29 Sep 2024 - Changelog | About | Legal & Contact