How do I stop my keyboard latency
- vvvvvvv
- Topic Starter
- 2578 posts since 24 Oct, 2000 from skelmersdale, west lancs, uk
I'm using the cpu to do all my audio, with an asio4all.
The latency is now getting unbearable.
Playing my S25 keyboard is like waiting for a signal from mars it's so slow.
I've done all the tweaks, buffers, etc
What do I need to buy to make it all quicker, low latency?
I don't know
All the vendors seem to be offering audio recording box solutions, but I never record audio, so I'm buying a pile of sockets & stuff I don't need, that just take up space.
Can anyone point me to the right thing I need to buy, so I can load more plugs, and have them play fast from my keyboard?
thanx = kev
The latency is now getting unbearable.
Playing my S25 keyboard is like waiting for a signal from mars it's so slow.
I've done all the tweaks, buffers, etc
What do I need to buy to make it all quicker, low latency?
I don't know
All the vendors seem to be offering audio recording box solutions, but I never record audio, so I'm buying a pile of sockets & stuff I don't need, that just take up space.
Can anyone point me to the right thing I need to buy, so I can load more plugs, and have them play fast from my keyboard?
thanx = kev
Member 12, Studio One v6.5, VPS Avenger, Kontakt 7, Spitfire, Dune, Arturia, Sonible, Baby Audio, CableGuys, Nektar Panorama P1, Vaporizer 2 to test out
- KVRAF
- 8180 posts since 22 Sep, 2008 from Windsor. UK
Ditch ASIO4all, it's shit.
One function of a good audio interface is providing good ASIO drivers.
I get about 2-3ms with my RME, which is virtually imperceptible.
One function of a good audio interface is providing good ASIO drivers.
I get about 2-3ms with my RME, which is virtually imperceptible.
Soundcloud | Facebook |
- KVRAF
- 15205 posts since 8 Mar, 2005 from Utrecht, Holland
viewtopic.php?f=16&t=481280 (8 pages)
We are the KVR collective. Resistance is futile. You will be assimilated.
My MusicCalc is served over https!!
My MusicCalc is served over https!!
- KVRian
- 626 posts since 15 Jun, 2015
Yeah, this is a problem that is particular to MIDI, and yes, you're right, since you're not recording audio, an audio interface is probably not going to help.
The problem lies with the DAW and your computer. The more work your computer has to do while it's receiving your MIDI data, the longer it's going to take for it to process your MIDI data, convert it into audio data with the virtual instrument you've chosen, and send it back to you. The processing takes place in your DAW, with your computer's cpu. What you should notice is the latency only exists when you're playing your controller; on playback of the MIDI sequence data in your DAW, there is no latency at all.
The solution is to take some of the load off your cpu. Route all your existing audio tracks to a common bus and bounce them as a single track. Create a new project that contains only your bounced audio track and the MIDI track you're going to record on. Eliminate any effects that you can apply after the MIDI data has been recorded.
This will allow you to record your MIDI with negligible latency. Then you can move your MIDI recording back into your original project for tweaking and playback.
If you're trying to play MIDI live, the only real solution is more powerful computer.
The problem lies with the DAW and your computer. The more work your computer has to do while it's receiving your MIDI data, the longer it's going to take for it to process your MIDI data, convert it into audio data with the virtual instrument you've chosen, and send it back to you. The processing takes place in your DAW, with your computer's cpu. What you should notice is the latency only exists when you're playing your controller; on playback of the MIDI sequence data in your DAW, there is no latency at all.
The solution is to take some of the load off your cpu. Route all your existing audio tracks to a common bus and bounce them as a single track. Create a new project that contains only your bounced audio track and the MIDI track you're going to record on. Eliminate any effects that you can apply after the MIDI data has been recorded.
This will allow you to record your MIDI with negligible latency. Then you can move your MIDI recording back into your original project for tweaking and playback.
If you're trying to play MIDI live, the only real solution is more powerful computer.
- KVRAF
- 7124 posts since 8 Feb, 2003 from London, UK
Oh dear...
No, it isn't.RichieWitch wrote:Yeah, this is a problem that is particular to MIDI
Yes, it is.RichieWitch wrote:, and yes, you're right, since you're not recording audio, an audio interface is probably not going to help.
Not really true.RichieWitch wrote:The problem lies with the DAW and your computer.
Which is easier than audio, as it's lower frequency, so uses fewer CPU cycles to capture the information.RichieWitch wrote:The more work your computer has to do while it's receiving your MIDI data
This is different from audio, yes, but any audio signal received could be being processed (e.g. written to disk, EQed, etc, etc), so it's really only the virtual instrument, not any effects - built in or otherwise, so it's mostly rubbish.RichieWitch wrote:, the longer it's going to take for it to process your MIDI data, convert it into audio data with the virtual instrument you've chosen
same as audioRichieWitch wrote:, and send it back to you
same as audioRichieWitch wrote:. The processing takes place in your DAW, with your computer's cpu
Rubbish.RichieWitch wrote:. What you should notice is the latency only exists when you're playing your controller; on playback of the MIDI sequence data in your DAW, there is no latency at all.
Rubbish.RichieWitch wrote:The solution is to take some of the load off your cpu
same as audioRichieWitch wrote:. Route all your existing audio tracks to a common bus and bounce them as a single track
Er, this won't affect the latency heard between pressing a key and the audio being emitted. Total rubbish.RichieWitch wrote:.. Create a new project that contains only your bounced audio track and the MIDI track you're going to record on. Eliminate any effects that you can apply after the MIDI data has been recorded.
This will allow you to record your MIDI with negligible latency
Rubbish.RichieWitch wrote:.. Then you can move your MIDI recording back into your original project for tweaking and playback.
If you're trying to play MIDI live, the only real solution is more powerful computer.
-
thecontrolcentre thecontrolcentre https://www.kvraudio.com/forum/memberlist.php?mode=viewprofile&u=76240
- KVRAF
- 35098 posts since 27 Jul, 2005 from the wilds of wanny
You're going to need an ASIO audio interface. There are plenty of cheap(ish) alternatives.
Doesn't the S25 have its own ASIO driver?
Doesn't the S25 have its own ASIO driver?
- vvvvvvv
- Topic Starter
- 2578 posts since 24 Oct, 2000 from skelmersdale, west lancs, uk
BertKoor
And I never got an answer as everyone assumed I was asking about speaker speaker latency stuff, a much more complex subject I have no idea about.
I just wanted a cheap reliable something to make more plugs load and my keyboard to respond a bit better.
Instead it turned into a discussion over my head.
Which is why I'm asking again.
But thank you for noticing
Yes that's right.
And I never got an answer as everyone assumed I was asking about speaker speaker latency stuff, a much more complex subject I have no idea about.
I just wanted a cheap reliable something to make more plugs load and my keyboard to respond a bit better.
Instead it turned into a discussion over my head.
Which is why I'm asking again.
But thank you for noticing
Member 12, Studio One v6.5, VPS Avenger, Kontakt 7, Spitfire, Dune, Arturia, Sonible, Baby Audio, CableGuys, Nektar Panorama P1, Vaporizer 2 to test out
- vvvvvvv
- Topic Starter
- 2578 posts since 24 Oct, 2000 from skelmersdale, west lancs, uk
for the record a few years back i lived happily with an audiophile 24/96 card which was perfect.
then i got another computer
then i got another computer
Member 12, Studio One v6.5, VPS Avenger, Kontakt 7, Spitfire, Dune, Arturia, Sonible, Baby Audio, CableGuys, Nektar Panorama P1, Vaporizer 2 to test out
- Beware the Quoth
- 33109 posts since 4 Sep, 2001 from R'lyeh Oceanic Amusement Park and Funfair
What difference are you thinking there is between what you're calling 'keyboard latency' and 'speaker speaker latency'?kevvvvv wrote:BertKoor
Yes that's right.
And I never got an answer as everyone assumed I was asking about speaker speaker latency stuff, a much more complex subject I have no idea about.)
Because in your previous thread you seemed to be aware that an audio interface would make a difference to latency, and now you're asking what would make a difference to latency.
So its probably a bit confusing to answer your question, since its not really clear what the issue might be. Generally, when you have audible audio latency its the audio interface buffering that makes the primary controllable difference. That's got nothing to do with keyboard or speakers, its literally the amount of time it takes between the audio interface getting a digital sample of audio from the DAW and it coming out the other end of the audio interface as a voltage.
If it takes L milliseconds to do that, then when you hit a key on your keyboard, the sound will start to reach your ears L+M+D milliseconds later, where M will be a millisecond or three for the USB MIDI to get sent, and D will be about 3 milliseconds per meter you are away from the speakers, ie the speed of sound through air
Total latencies like that of around 20 and upwards milliseconds are where they start to become noticeable. That's roughly a buffer size of 1024 samples at 48K; a decent ASIO audio interface should be running at 256, or 128 samples or less...
my other modular synth is a bugbrand
-
- KVRAF
- 1786 posts since 13 May, 2004 from Germany
RichieWitch wrote:Yeah, this is a problem that is particular to MIDI,
such complete nonsense but written with so much confidence as if every word was true....
Sad that this place misinforms on such a level nowadays.
- KVRAF
- 12554 posts since 7 Dec, 2004
MIDI always has a minimal latency depending upon the size of the message. If you're using the MIDI 31250 baud rate a standard note-on message (three bytes: status, note, velocity) should be represented by the formula 3*8bits / 31250bitsps = 768us. So that's only slightly under 1ms (0.768ms) which is already definitely perceptible. (It's 1302 Hz.)
Adding additional latency reaching into multiple milli-seconds or even tens of milli-seconds is extremely perceptible and can make accurate feedback based timing (play and listen with your ears) impossible.
The only way to reduce MIDI latency is via USB or some other interface other than the original opto-isolated UART running at 31250 baud (baud = bits per second in this case?)
That said it isn't the primary source of latency which is in fact the audio buffer used by your audio device. Since at best you can use USB or a similar interface to reduce latency and improve timing accuracy into the 100s or 10s of micro-seconds range it makes a lot more sense to focus on the primary source of latency: your audio device. In addition software sometimes adds additional buffers which can significantly increase the total. The audio device may only add 1ms while the audio driver has a software buffer of 100ms or more.
In optimization it rarely pays to focus on small 1% or 2% improvements. Anything less than 50% is probably not worth much attention at first and anything less than 20% is arguably never worth any attention at all until there is nothing left to improve. There are diminishing returns and an optimization effort that focuses on the last 5% will tend to actually make the other 95% worse off.
Trim the software buffer down to 1ms and then the audio interface and MIDI will be making up near a third of the total. Assuming 3ms is still too much (<1ms is ideal) you can then focus on these newly made significant elements.
Adding additional latency reaching into multiple milli-seconds or even tens of milli-seconds is extremely perceptible and can make accurate feedback based timing (play and listen with your ears) impossible.
The only way to reduce MIDI latency is via USB or some other interface other than the original opto-isolated UART running at 31250 baud (baud = bits per second in this case?)
That said it isn't the primary source of latency which is in fact the audio buffer used by your audio device. Since at best you can use USB or a similar interface to reduce latency and improve timing accuracy into the 100s or 10s of micro-seconds range it makes a lot more sense to focus on the primary source of latency: your audio device. In addition software sometimes adds additional buffers which can significantly increase the total. The audio device may only add 1ms while the audio driver has a software buffer of 100ms or more.
In optimization it rarely pays to focus on small 1% or 2% improvements. Anything less than 50% is probably not worth much attention at first and anything less than 20% is arguably never worth any attention at all until there is nothing left to improve. There are diminishing returns and an optimization effort that focuses on the last 5% will tend to actually make the other 95% worse off.
Trim the software buffer down to 1ms and then the audio interface and MIDI will be making up near a third of the total. Assuming 3ms is still too much (<1ms is ideal) you can then focus on these newly made significant elements.
Free plug-ins for Windows, MacOS and Linux. Xhip Synthesizer v8.0 and Xhip Effects Bundle v6.7.
The coder's credo: We believe our work is neither clever nor difficult; it is done because we thought it would be easy.
Work less; get more done.
The coder's credo: We believe our work is neither clever nor difficult; it is done because we thought it would be easy.
Work less; get more done.
- KVRian
- 626 posts since 15 Jun, 2015
/sigh
Okay, before everyone writes me off as a complete idiot, let me just say that if I am wrong, it is because I am misinterpreting the OPs problem. The solution I’m suggesting works for the problem as I understand it.
You can try this at home:
I load up Ableton Live with a fresh project, plug in my MIDI keyboard, and drop Kontakt on a new MIDI track. I then load something like Sampletekk’s “the Big One” virtual piano. It’s a gigantic sample library, so it is particularly susceptible to this problem.
I press a key on the controller and I get a piano note on my speakers. No delay. No latency. Simple.
I drag a couple audio files onto two audio tracks and play them while I follow along on my MIDI controller. Still—no problem.
I drag 10 more audio files onto audio tracks, play them all together, and try to follow along on my keyboard… now I am starting to get a slight delay between the time my finger presses the key and I hear a piano note. If I manage to play along, the delay will not be present when I listen to the track; my virtual instrument will follow the pre-recorded MIDI data perfectly.
I drag 10 more audio files, throw on a few compressors, a reverb, and several EQ. The lag between pressing a controller key and hearing a piano note is now significant, nearly a full second, and I can no longer play along because the delay makes it impossible for me to anticipate when to press the piano key.
The solution? Bounce the entire project to an audio file. Open a new project with just that new consolidated audio file and a fresh MIDI track. Play and record to my heart’s content with no delay. When I finish recording the MIDI track, I can copy it over to my original project (the one with all the individual audio files), and the MIDI data will play perfectly in sync with my original project.
This works every time. It has worked for me and everyone I have ever suggested it to.
Now, like I said, if I’m not describing the problem the OP has, then I apologize for misreading the post. Otherwise, I guess you can go on thinking I’m an idiot.
Okay, before everyone writes me off as a complete idiot, let me just say that if I am wrong, it is because I am misinterpreting the OPs problem. The solution I’m suggesting works for the problem as I understand it.
You can try this at home:
I load up Ableton Live with a fresh project, plug in my MIDI keyboard, and drop Kontakt on a new MIDI track. I then load something like Sampletekk’s “the Big One” virtual piano. It’s a gigantic sample library, so it is particularly susceptible to this problem.
I press a key on the controller and I get a piano note on my speakers. No delay. No latency. Simple.
I drag a couple audio files onto two audio tracks and play them while I follow along on my MIDI controller. Still—no problem.
I drag 10 more audio files onto audio tracks, play them all together, and try to follow along on my keyboard… now I am starting to get a slight delay between the time my finger presses the key and I hear a piano note. If I manage to play along, the delay will not be present when I listen to the track; my virtual instrument will follow the pre-recorded MIDI data perfectly.
I drag 10 more audio files, throw on a few compressors, a reverb, and several EQ. The lag between pressing a controller key and hearing a piano note is now significant, nearly a full second, and I can no longer play along because the delay makes it impossible for me to anticipate when to press the piano key.
The solution? Bounce the entire project to an audio file. Open a new project with just that new consolidated audio file and a fresh MIDI track. Play and record to my heart’s content with no delay. When I finish recording the MIDI track, I can copy it over to my original project (the one with all the individual audio files), and the MIDI data will play perfectly in sync with my original project.
This works every time. It has worked for me and everyone I have ever suggested it to.
Now, like I said, if I’m not describing the problem the OP has, then I apologize for misreading the post. Otherwise, I guess you can go on thinking I’m an idiot.
- KVRAF
- 7124 posts since 8 Feb, 2003 from London, UK
You can convert a delay into a frequency - one is measured in "seconds" the other is measured in "cycles per second". Your maths is wrong. Your argument therefore invalid.aciddose wrote:So that's only slightly under 1ms (0.768ms) which is already definitely perceptible. (It's 1302 Hz.)
- KVRAF
- 9569 posts since 16 Dec, 2002
Yup and the old ones can be had for 'cheap'.tehlord wrote:Ditch ASIO4all, it's shit.
One function of a good audio interface is providing good ASIO drivers.
I get about 2-3ms with my RME, which is virtually imperceptible.
I have a 1st gen multiface but just bought a 2nd hand multiface 2 as back up for £100 as I cant bear to think Ill be without it one day
But back to the OP, freeze all the tracks you dont need to tweak realtime, you can always unfreeze them later.
Everyone is obsessed with having all their tracks playing back with all instruments and effects in realtime when its not necessary!
Amazon: why not use an alternative
- KVRAF
- 12554 posts since 7 Dec, 2004
What are you talking about? It's a simple reciprocal. Hz = 1/time because "a Hertz" defines a measure for audio frequency based upon "cycles per second". So all we need to do is take the time unit (1) and divide it by the length of a cycle (1 ms) in order to get the result (1000 Hz.)pljones wrote:You can convert a delay into a frequency - one is measured in "seconds" the other is measured in "cycles per second". Your maths is wrong. Your argument therefore invalid.aciddose wrote:So that's only slightly under 1ms (0.768ms) which is already definitely perceptible. (It's 1302 Hz.)
It isn't possible to accurately perceive time in such tiny increments but it is absolutely trivial for anyone who isn't near deaf to hear 1000 Hz. Such a delay produces a dramatic comb filtering effect that is extremely audible to anyone with a typical adult hearing range (16 kHz.)
Your argument is nonsensical and therefore invalid. Yes you can convert from a time measurement to Hz because that's how the unit is defined in the first place. Anyone with at least two functioning brain cells in their head should understand that if they're working in audio.
Free plug-ins for Windows, MacOS and Linux. Xhip Synthesizer v8.0 and Xhip Effects Bundle v6.7.
The coder's credo: We believe our work is neither clever nor difficult; it is done because we thought it would be easy.
Work less; get more done.
The coder's credo: We believe our work is neither clever nor difficult; it is done because we thought it would be easy.
Work less; get more done.