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 only needs to be done in extremely rare cases. Make sure you're using the latest driver for your sound device first.

Aligning audio devices

Under normal circumstances all audio and MIDI devices are aligned by MultitrackStudio so that newly recorded tracks are perfectly in sync with existing ones. However, some audio device drivers fail to report the exact playback or recording position, which prevents MultitrackStudio from aligning the devices accurately. Offsets to the reported positions can be specified in text files to compensate for such issues.

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

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

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

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

Step 3
Click the Studio menu's Devices option. Now close the window that appears, which causes the program to create sections in a file that you will edit in the next step. Note that "default" devices (Default, MIDI Mapper, or Primary Sound Driver) cannot 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 at the bottom of the main window. The difference between the two positions is the error that needs to be compensated.

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 Notepad. 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 should not be modified. The [Brand X Wave Device] section refers to the name of the audio input device, as shown in the Devices window. The error value found in step 4 is entered here (15 milliseconds in this example).

Step 6
Close MultitrackStudio and restart it (this is necessary for the program to read the settings file again). Now repeat steps 1 through 4 to 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 across different sample rates. The offset can also be specified in ASIO buffers (ASIO drivers only). MIDI devices can be compensated as well.

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 low 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 integers. The _millisecs and _buffers values can be decimal values.

ASIO Delay

A small delay can be introduced in ASIO buffer processing. This can sometimes help work around sound device/mainboard/driver incompatibilities if the following symptoms occur:

  1. Recording a MIDI track using a software instrument sounds fine while recording.
  2. But it sounds garbled or extremely glitchy during playback.

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

[Settings]
AsioDelay=20000

The value has to be determined experimentally (higher values cause longer delays). 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 is the ASIO driver's responsibility to enable this, some do not. You can add an "MMCSS=1" line to the "AsioSnd Settings.txt" file (see previous section) to make MultitrackStudio enable MMCSS. This line should appear in the [Settings] section:

[Settings]
MMCSS=1

MultitrackStudio must be restarted after editing the file.

Note that not all ASIO drivers work well with this setting. If performance worsens, you should remove the line again.