Skip to main content
Topic: Latency Fix for Laptop Users (Read 3850 times) previous topic - next topic

Latency Fix for Laptop Users

The following is an extension of Lawrie Pardy's excellent primer on VST (http://nwc-scriptorium.org/helpful.html#Vst ). After much gnashing of teeth I stumbled across settings that allow for simple latency-free recording into a laptop with integrated sound cards. The procedure works in Windows 7 and 8, and in both 32-bit and 64-bit operating systems. The steps assume review of Lawrie Pardy's guide. Due to my mental limitations and lack of background in studio recording, I ran into some problems even after reading it, so I thought these extended results might be helpful to some.

1.   Select a Channel for your Midi Device that is unlikely to clash with other channels that might be used. I use a Roland GK2A/GI-10 input for my guitar, together with a midi to usb adapter into my laptop. For current purposes, I have the Guitar/Roland Input set to Channel 9.

2.   Download/Install: VSThost (http://www.hermannseib.com/english/vsthost.htm ), ASIO4All (http://www.asio4all.com ), one or more free VSTPlugIns (I use VSTSynthfont, http://www.synthfont.com/#VSTSynthFont ); desired soundfonts (many free fonts are available; start with Richard Nagel's excellent WeedsGM3.sf2 for a set that follows conventional instrument assignments: http://www.doomworld.com/vb/doom-general/51104-weeds-general-midi-soundfont-v3-0/ ). Virtual Ports will be needed. A free system is available through http://www.midiox.com . The MidiYoke utility at that site is great, but can be tricky (unfortunately, very little documentation) and, unfortunately, does not work natively in the 64 bit arena (though the more robust MidiOx appears to). I personally found the free LoopBe1 to be a simple and seamless solution to latency free recording with a single instrument input:  http://www.nerds.de/en/loopbe1.html. For those needing multiple ports, LoopBe30 is also available for a modest cost. Both work in the 32 and 64 bit environments.

3.   VSThost setup (need to be running as a startup item or via desktop link before opening Noteworthy)

a.   On initial opening, choose and select a new VSTPlugin under the File Menu or pursuant to screen prompt, if any. For this example, I (like Lawrie Pardy) am using VSTSynthFonts.

b.   Under the Menu Item "Devices", select the following: Midi Input Devices: LoopBe Internal Midi (e.g. LoopBe1); Midi Output Devices: LoopBe Internal Midi (e.g. LoopBe1)

Unless using multiple/chained instruments (and/or, unless MidiYoke is also being used), all other inputs and outputs should not be selected (particularly Microsoft GS Wavetable and MidiMapper [which defaults to the hideous and latency prone Microsoft GS Wavetable in Windows 7 and 8])! Make sure the Microsoft GS and MidiMappers are not enabled or running in any other program (including NWC) since that will block use of ports by ASIO and prevent its magic reduction of latency. For simple, single instrument recording, most of the other Midi-Through and other settings in VSThost can be ignored.

c.   ASIO (easily selected under the "Devices" Menu): Buffers at 256 appears to work fine. ASIO will probably ask for that information the first time it is run. Make sure the output speakers are available and working. If not, it is probably a Microsoft GS/MidiMapper issue. (See above).

d.   Select desired SynthFont plugin if needed (I use VSTSynthfont.dll)

e.   Connect the devices on the VSThost screen if that has not already occurred. Connect the orange dot on the right of the Engine Input to the VSTPlugin orange dot by left clicking and dragging. A line should appear. Do the same to link the blue to blue and orange to orange dots between the VSTPlugin and the Engine Output.

f.   Select sound fonts for the various channels by clicking the middle VSTSynthFont plugin device (top round object). Click "Preset" buttons if using VSTSynthfont to review/and select the desired soundfonts by channel. Remember to add "1" in determining resulting channel in Noteworthy since VstSynthFont.dll begins at "0" (e.g. Channel 8 in vstsynth is actually Channel 9 in Noteworthy). I tend to use WeedsGM3.sf2 for general recording purposes since it follows GM conventions on instruments. However, one can change particular tracks to whatever soundbank and soundfont desired via clicking on the "SoundFont/Giga etc" button on the VSTSynthFont Screen. Press "Save" if you want to save a particular group of selections. (Note: all channel can be selected by shift click techniques to have a particular set of soundfonts applied to all channels).

g.   Can also save the VST settings as a Program if desired to provide for various settings and setups. Saving a VST setting as a Program also provides a backup if you have settings that work and mess them up during a session. (I have never done that . . .)

4.   Noteworthy Composer setup:

a.   Midiout/Playback Device: LoopBe Internal Midi (nothing else!). Port Usage may have to be "Always".

b.   Record: USB Midi Cable. Echo, if desired to LoopBe Internal, and "same channel" (e.g. will be to Channel 9 in my case). Turn on Echo if want to check for latency or simply hear how a particular soundfont is, well, sounding.

c.   Select eighth note (or whatever note you want to be the smallest for quantization of midi note) in the Import Tab. For smoother transcription and recording, I tend to set rests at longer amounts. I can edit later if needed.

d.   Make sure to uncheck "Separate Midi Channels" and set single chord size to 127 under the Import Tab.

e.   Create/use rhythm tracks (under Staff Properties: Channel 10, LoopBe Internal Midi) for a metronome. It should be saved in the NWC Template folder and accessed as a "New" file when first recording a new piece. (I have found Channel 10, Notes D, C, C, C below the Bass Clef, and MidiPatch 116 work pretty well as a Metronome).

f.   After recording: change channel of recorded track from 11 to 2 or 3 or whatever (Channel 9 in my case since I like the Preset Soundfont for that channel).

Note that the foregoing settings can be retained for generic playing of Noteworthy and midi files. Freedom is added to add different soundfonts at will, even if not natively allowed in the laptop's puny integrated soundcard.