Saturday, October 23, 2004

Cakewalk's SONAR: Gradual Audio Lag - MIDI to Audio Conversion

Here's a reprint of a post I made this morning to Cakewalk's site - I'd been having some issues with audio latency in converting MIDI to audio. Maybe this will save others the two hours of experimentation, trial, error and ultimately success, that I went through to find this:

Thanks to everyone for the posts on gradual audio lag...this particular solution worked for me:

I'm currently using SONAR 3.1.1 (might apply to SONAR 4 or later too?) and was having audio latency issues when converting my MIDI tracks from external modules to audio tracks. After trying many other things, the solution that conclusively worked for me was to set this as follows in the Cakewalk AUD.INI file:


I don't know why it works, but it works. Probably something to do with my system's USB audio latency and/or SONAR's ability to adjust or force the syncronization via this configuration setting.

It was getting very frustrating to have my basic MIDI tracks play back in perfect sync with my audio tracks, only to hear after the MIDI tracks were recorded to audo from the external keyboards that there was a definite lag behind the original MIDI track...not right away (a gradual audio lag) - usually becoming painfully obvious around 2 to three minutes into the tune - the latency (lag time) was undeniable and the MIDI to audio mixes could not be used. (I'd even resorted to dumping quick demo mixes directly to my iRiver MP3 recorder without even trying to get audio mixes of the MIDI - but that solution is not unacceptable for mixes that need to be more polished).

Without this KsUseInputEvent option, there were only a couple other options that I could come up with, none of which were particularly appealing:

1. Record the MIDI tracks to audio in smaller sections (e.g., 32 measures at a time rather than the entire track) - but the down side to this is that it's a major time drain and hassle when dealing with lots of MIDI tracks.

2. Record the MIDI to audio, and end up splitting the tracks and adjusting the start time of the lagging audio by various milliseconds (usually to start playing about 10 to 30 ms later to catch up with the other audio). I actually have to do this sometimes anyway (for performance reasons!) but having to do it with music that sometimes comes from a Finale or MIDI source, re-sync with the vocals or horns...arg...that would be a pain for all MIDI to audio conversions.

My sound card is a Roland UA-30 USB and I use a Yamaha UX256 USB MIDI thru box.

In summary, if you find your MIDI track, when converted to audio, lags behind your original MIDI (test this by soloing the two together) then, for me at least, setting KsUseInputEvent=1 in the Cakewalk AUD.INI worked.

Rob Birdwell

No comments: