Audio/MIDI multitrack recording software
MultitrackStudio
Manual : Compensating for Driver Issues

Compensating for driver issues

Note: this feature is available for Windows only

Note: this needs to be done in extremely rare situations only. Make sure you're using the latest drivers for your sound device first.

Aligning audio devices

Under normal circumstances all audio and MIDI devices will be aligned by MultitrackStudio, so that newly recorded tracks are perfectly aligned with existing ones. However, some sound device drivers fail to report the exact playback or recording position, and as a result MultitrackStudio can't align the devices accurately. Offsets to the reported positions can be specified in text files to compensate for such driver defects.

Aligning the audio input and output devices step-by-step

This section describes how to compensate the audio input device so that new tracks are aligned with existing ones.

Step 1
Start MultitrackStudio and load the 'C:\Program Files\MtStudio\Impulse.gjm' in a track. This file contains a single impulse at approx. 50 milliseconds. Set up another track that will record the first track.

Step 2
Connect the audio input device to the audio output device using an audio cable. If your sound device can do this routing internally you can use that feature instead of the cable.

Step 3
Click the Studio menu's Devices option. Now close the window that appears using the OK button, thus forcing the program to create sections in a file that you will be editing in the next step. Note that 'default' devices (Default, MIDI Mapper or Primary Sound Driver) can't be compensated, so any devices you want to compensate must be selected explicitly.

Step 4
Record the first track to the second track for about one second. Open the track editors and locate the impulses. Move the mouse over the impulses and read the positions in the bottom right corner of the window. The difference between the two positions is error that needs compensation.

Step 5
The settings for ASIO, Windows and Early Windows drivers are stored in the 'AsioSnd Settings.txt', 'VistaSound Settings.txt' and 'WinSound Settings.txt' files respectively. MIDI device settings are stored in the "MIDI Settings.txt' file. These files are located in the 'C:\Users\Username\AppData\Roaming\MtStudio' folder, and can be edited using Windows Notepad to compensate for the driver's error. The settings files consist of sections, indicated by [brackets], which can contain values.

Here's a small example of a settings file:

[Settings]
 
[Brand X Wave Device]
audioin_offset_millisecs=15

The [Settings] section shouldn't be modified. The [Brand X Wave Device] section, where 'Brand X Wave Device' is the name of the audio input device as specified in the Devices window. The error value found in step 4 has been filled in here (15 milliseconds in this case).

Step 6
Close MultitrackStudio and start it again (this is necessary to force the program to read the settings file again). Now you can repeat steps 1..4 and verify the results.

Advanced options

It is also possible to specify offsets in samples instead of milliseconds, this can be useful if you want the compensation to work for multiple sample rates. The offset can also be specified in ASIO buffers (ASIO drivers only). MIDI devices can also be compensated.

This is the full list of possible compensation options:

Audio input devices support these values:
audioin_offset_millisecs=
audioin_offset_samples=
audioin_offset_buffers=      (ASIO drivers only)

Early Windows high latency audio output devices and ASIO output devices support these values:
audioout_offset_millisecs=
audioout_offset_samples=
audioout_offset_buffers=      (ASIO drivers only)

Early Windows high latency audio output devices support these values:
audiooutlowlat_offset_millisecs=
audiooutlowlat_offset_samples=

MIDI input devices support these values:
midiin_offset_millisecs=
midiin_offset_samples=

MIDI output devices support these values:
midiout_offset_millisecs=
midiout_offset_samples=

The _samples values must be integer values, the _millisecs and _buffers values can be fractional.

ASIO Delay

A small delay can be introduced to ASIO buffer processing. This can sometimes be used to work around certain sound device/mainboard/driver incompatibilities if these symptoms occur:

  1. Recording a MIDI track using a soft instrument sounds fine while recording.
  2. But it sounds gargled or extremely glitchy when played back.

To add an ASIO delay open the 'C:\Users\Username\AppData\Roaming\MtStudio\AsioSnd Settings.txt' file in NotePad and add a 'AsioDelay=' line in the [Settings] section like this:

[Settings]
AsioDelay=20000

The value has to be determined experimentally (the higher the value the longer the delay). MultitrackStudio should be restarted after editing the file.

ASIO MMCSS

Windows Vista introduced MMCSS (Multimedia Class Scheduler Service), which can help prevent glitches under high CPU load. While it's an ASIO driver's job to enable this some don't. You can add a 'MMCSS=1' line to the 'AsioSnd Settings.txt' file (see previous section) file to make MultitrackStudio turn on MMCSS. This line should appear in the [Settings] section:

[Settings]
MMCSS=1

MultitrackStudio should be restarted after editing the file.

Note that not every ASIO driver will necessarily be happy with this. If it performs worse you should remove the line again.