Jump to content
Misha

Feature idea on latency

Recommended Posts

Hi Folks.

One of the most annoying things for me in digital audio recording is audio latency. Especially when recording vocals. I am aware that there are a million reasons why this can happen and even more "tips@tricks" out there, trying to address the issue.

So here is my request for the feature.  A built in analyzer in Cakewalk, that would run tests on audio input/output of the audio card, system etc on the active setup, meaning with particular opened project or a "heavy" test dummy project....And which would recommend realistic steps, sorted by priority of particular items (Cakewalk or System) that can be addressed on that specific computer to reduce latency, yet preserve the project in original form  (no bouncing of tracks, disabling FX etc.)   Not "general" ideas as in latencymon, something more particular to the "current" setup/project in Cakewalk.

I would call it CALA (Cakewalk Audio Latency Analyzer) :)  I know, this is request is probably too far from reality, just thoughts. 

 

Share this post


Link to post
Share on other sites

Great idea. Like a pop up window of suggestions to lower latency.

the only problem I can see is UAC. This analyzer will need to access every part of the users Operating system. So this add on will either..

A - Show a warning if the user is not the Administrator

B - The analyzer will surely get flagged by a users Anti Virus.

 

Interesting idea though. Very creative.

Share this post


Link to post
Share on other sites

I think this could be simplified to just have Cakewalk report how much Plugin Delay Compensation is being applied on top of the interface driver/buffer latency, and which plugin is reporting the highest plugin delay.

There really are no other sources of latency that need to be (or can be) easily measured and reported. The only other significant sources of latency are un-reported audio interface hardware/firmware latency, and total MIDI keyboard scanning/interface/synth response delay, neither of which Cakewalk has any way of measuring unless the user sets up a loop back path.

Un-reported  audio interface latency can be a significant part of the overall audio latency when running extremely low ASIO buffer sizes, but is usually not more than a millisecond, and can generally be ignored after measuring it once to set a Manual Offset for record latency adjustment.

MIDI input latency, on the other hand, can be upwards of 6 milliseconds which is significant in the grand scheme of things for performing/recording live MIDI input, and doubles when using outboard hardware synths that are subject to outbound transmission delays and hardware and synth response delays as well.

Share this post


Link to post
Share on other sites

I would like the ability to switch to betwwen different Profiles. i.e.

1. Low Latency..this switches the Soundcard to a pre-determined sample buffer size as set by the user in the preferences i.e. 256 samples is good for me when working with midi instruments

2. Max performance..this would switch the Soundcard to a higher latency mode i.e. 2048 samples which is better for mixing

The abilty to jump quickly between thse profiles would be handy, I often get 75% through a project and then decide it needs a new part that I have to play in  but I have to go into the Preferences and then into my sound card ASIO settings as I will have a lot of plugins and virtual instruments running and have had to crank up the latency.  Then I record my my additional part, and have to then change it all back again to continue with my mix.

 

Share this post


Link to post
Share on other sites
1 hour ago, CosmicDolphin said:

I would like the ability to switch to betwwen different Profiles. i.e.

1. Low Latency..this switches the Soundcard to a pre-determined sample buffer size as set by the user in the preferences i.e. 256 samples is good for me when working with midi instruments

2. Max performance..this would switch the Soundcard to a higher latency mode i.e. 2048 samples which is better for mixing

 

This would be nice but it is not possible. Their is no provision in the ASIO spec for a DAW to send buffer size change request to the interface or its software.

Share this post


Link to post
Share on other sites
3 hours ago, scook said:

This would be nice but it is not possible. Their is no provision in the ASIO spec for a DAW to send buffer size change request to the interface or its software.

How about a hot button to pop up the Asio Panel ?

Share this post


Link to post
Share on other sites
17 hours ago, CosmicDolphin said:

How about a hot button to pop up the ASIO Panel ?

+1,  Or just expose it for mapping to a keyboard shortcut so the UI doesn't have to change when driver mode isn't ASIO.

Share this post


Link to post
Share on other sites

Would still need additional action to update CbB. In Preferences, where the current ASIO button is located, the Close and Apply buttons perform this task. I think the best one could hope for is a function to open the Preferences > Driver Settings screen which could be mapped to a shortcut.

In the interim, autohotkey may be a viable solution. In fact, the entire round trip from CbB to ASIO client and back begs for a scripted solution.

Share this post


Link to post
Share on other sites

Here is a simple autohotkey script to launch the ASIO client while running CbB

Quote

WinActivate, ahk_exe Cakewalk.exe
Send, !ep
WinWait, Preferences
CoordMode, Mouse, Client
Click, 31, 64
Click 250, 370

If autohotkey is installed on the PC this script may be launched directly from the CbB utilities menu. For this example, I created a file called test.ahk containing the script and using the ToolEditor (available on my google page) added the script to the CbB utilities menu with ALt+u+p as the keyboard accelerator like this

OwDkpP4.png

Here is what happens when entering ALt+u+p

MKofmj8.gif

Of course, this is a very simple example. It could be extended to include a UI for selecting different buffer settings and handle all the keystrokes necessary to deal  with the ASIO client and close the CbB preference screen.

For those who prefer not to install autohotkey, I could compile the script and provide the executable on my google page. The executable could be added to the utilities menu.

Share this post


Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now

×
×
  • Create New...