The microphone delay setting is currently located in the general options.
Intuitively, I was searching for it under the "Record" tab, where other input related options are located.
Also, it would be great if it was possible to calibrate this delay somehow.
It would be nice if one could simply hold the microphone up to the speakers while UltrastarDX plays some beeps and boops to have it calibrate itself.
While this might work well to calibrate the delay between audio input and audio output, it ignores the calibration of the video output. To judge whether this issue is relevant, I see two important questions:
TVs nowadays do some image processing that can delay the video significantly. They usually have a special mode for games that need a low delay.
I think it would be confusing if the wrong syllable is emphasized while you try to sing. But if the delay is less than 100ms, I usually don't notice.
For automatically calibrating the audio/video delay, one could build a little device that plays the output of a photo diode controlled VCO on a small speaker.
This issue is about audio output + microphone input delay.
For display delay, about the only thing you could offer is a setting to increase / decrease a delay value by how much the display is offset from audio.
Regarding audio delay and synchronisation, the typical use case would be someone playing USDX who uses a bluetooth connected speaker with high audio output delay because of buffering - fir example Amazon Echo with > half a second of delay.
This issue is about audio output + microphone input delay.
For display delay, about the only thing you could offer is a setting to increase / decrease a delay value by how much the display is offset from audio.
Regarding audio delay and synchronisation, the typical use case would be someone playing USDX who uses a bluetooth connected speaker with high audio output delay because of buffering - fir example Amazon Echo with > half a second of delay.
I was going to add a feature request, because last weekend I was trying to sing with a bluetooth speaker and that is what happened, the sound came after the notes....I had to edit the GAP for every song I wanted and add 300ms. Maybe it will be a good idea to add an option like "delay every song X ms".
Maybe it will be a good idea to add an option like "delay every song X ms".
What's wrong with the current options "Audio/Video Delay" and "Microphone Delay"?
I added the latter under "Game" instead of "Record" because there is no space in the "Record" menu and the GUI framework is not flexible enough to allow for scrolling.
With the PortAudio and SDL backends it is also possible to suggest a value for the buffer size individually for each recording device by setting the Latency[x] value in the config.ini file. For PortAudio this is the size of the whole buffer in milliseconds. For SDL this is the size of the chunks received from the sound card in milliseconds (i.e. the period size in ALSA speak). I don't know why we fix this value to 20ms for BASS.
What's wrong with the current options "Audio/Video Delay" and "Microphone Delay"?
This request is not about A/V delay.
The microphone delay is not located in an intuitive place and it does not have calibration.
I was wondering why the lag has gone up that much compared to the CMD version.
There I typically had a mic delay of 40ms and now it's 290ms on the exact same setup.
290ms is high enough to cause a lot of irritation while playing as the feedback lags so much behind.
That's on a fully updated Windows 10 where the CMD version only works in window mode (fullscreen crashes).
Just stumbled upon jack_delay and am astonished by the simplicity of its code. Maybe we can use the algorithm to automate the calibration.