KX mini manual

Unofficial support for the KXStudio Linux distribution and applications.
More info at http://kxstudio.linuxaudio.org/

Moderators: MattKingUSA, khz

danboid
Established Member
Posts: 1327
Joined: Sun Aug 26, 2012 11:28 am
Location: England
Has thanked: 1 time
Been thanked: 4 times

Re: KX mini manual

Post by danboid »

Hi wolftune!

The most recent chapter is called 'Minimizing Latency and xruns' but I don't mean at the same time - hence the hopefully clear division of the chapter between the loopback latency and the xrun reducing tips. I've only bundled them into one because the extra latency test didn't seem like enough for a chapter on its own.

If I have skewed either meaning throughout the manual, feel free to fix my errors. Thats why its a wiki!
wolftune
Established Member
Posts: 1350
Joined: Fri Feb 24, 2012 7:40 pm
Location: Portland, OR
Been thanked: 2 times
Contact:

Re: KX mini manual

Post by wolftune »

EDIT: Based on your reply, I thought this was clear. Now that I look at the wiki, I see my concern is totally valid!

There is no such thing as "minimizing loopback latency". It just exists. What we do is compensate for it by moving audio after it has been recorded.
Aaron Wolf
Music teacher, scholar
http://wolftune.com
wolftune
Established Member
Posts: 1350
Joined: Fri Feb 24, 2012 7:40 pm
Location: Portland, OR
Been thanked: 2 times
Contact:

Re: KX mini manual

Post by wolftune »

These things should not go on the same page at all.
One is purely about live feedback but has no impact on the recorded result, the other is purely about the recorded result in the program. They are not practically related.

This sentence is totally confusing: "The primary way to reduce your JACK audio latency is to experiment with JACK's sample rate, buffer and periods/buffer settings. You should have already experimented to discover the optimum, xrun-free JACK settings for your hardware configuration before you try the following instructions to help further minimize JACK's latency."

It sounds like the loopback jackio_delay stuff will help with the issues that buffer deals with, but this isn't true at all.

Let's say I am playing an instrument, overdubbing with a recording. I only need to think about buffer if I am worried about listening to my own playing through the computer during recording. If I am listening to the actual instrument, then buffer is irrelevant, except I should just set it high to have no xruns. I still need the compensation with jack_iodelay so that my recording lines up exactly.

On the other hand, if I am playing guitar live through guitarix, I will want minimum buffer size in order to hear my playing with minimal latency, and I don't care about jack_iodelay at all because I'm not recording.

I think the jack_iodelay related section should be called "Compensating for loopback latency" or something, not "minimizing". It doesn't do any minimizing. It shifts the recordings in programs so that they line up. And it should be on a totally different page.

I made some edits, but I still think this should not be on a page called "minimizing latency." At the very least this needs to be clear. If the page was called "latency issues" then I'd be more comfortable. I could live with it all on one page still (though I don't like that) as long as the issues are clear.
Aaron Wolf
Music teacher, scholar
http://wolftune.com
danboid
Established Member
Posts: 1327
Joined: Sun Aug 26, 2012 11:28 am
Location: England
Has thanked: 1 time
Been thanked: 4 times

Re: KX mini manual

Post by danboid »

This JACK latency vs loopback latency reminds me of the whole Free vs Free problem we have in English with Free Software. I've also had a tough time writing these docs because F keeps on re-using his project names to refer to various things and I wish he wouldn't - it only causes confusion. I am of course referring to Cadence being both an app and a suite of tools and KXStudio referring to multiple things. Please don't do this in future F! One name per project/ app/ thing please! :)

I'm struggling to see the big issue you have with me using 'Minimize' instead of 'compensate for' personally but that doesn't mean we can't change it of course. I understand what jack_iodelay is doing and I don't think its incorrect to refer to using it as 'minimizing loopback latency' - you are reducing the loopback latency as much as possible, not eliminating it, hence minimizing.

I can see why you highlighted that sentence as confusing though. What it was meaning to say is "Don't try this until you have discovered some working JACK settings' basically.

I'll have a look at your edits now and see if F has done his edits yet. I'm not going to do any big edits to those last few pages until F has fixed any mess we've made.
Last edited by danboid on Mon Apr 22, 2013 9:36 am, edited 3 times in total.
Thad E Ginathom
Established Member
Posts: 369
Joined: Fri Sep 23, 2011 1:03 pm

Re: KX mini manual

Post by Thad E Ginathom »

This conversation is very useful. I'm sure the results will be distilled into the manual page.

Confusion about latency is hard to avoid, because, even before we consider sound, the word is used in different technological contexts by computer folk. The hifi people have further confused it by fussing about latency in playback because they love to have irrelevant things to fuss about. I think some of my hifi friends' confusion has rubbed off on me! :oops:
Let's say I am playing an instrument, overdubbing with a recording. I only need to think about buffer if I am worried about listening to my own playing through the computer during recording. If I am listening to the actual instrument, then buffer is irrelevant, except I should just set it high to have no xruns. I still need the compensation with jack_iodelay so that my recording lines up exactly.
Great! I thought I knew that ...but it seems I didn't really.
danboid
Established Member
Posts: 1327
Joined: Sun Aug 26, 2012 11:28 am
Location: England
Has thanked: 1 time
Been thanked: 4 times

Re: KX mini manual

Post by danboid »

I'm not entirely sure about the way its worded now wolftune has written "There is no way to reduce this “loopback” latency" just before we then give instructions on how to compensate for this latency!?! Surely this 'compensation' can just as well be called reducing or minmising, regardless of how it is achieved? I think this is at least as confusing as what it replaced. :/
ToddMWorth
Established Member
Posts: 225
Joined: Tue Oct 23, 2012 3:59 am

Re: KX mini manual

Post by ToddMWorth »

I'm with wolf on this one. Sorry I hadn't had time to comment sooner but I noticed it too. Compensation is the word. I had wondered why the page said minimising latency, and then told me about compensation. Minimising latency is a whole totally different subject....
danboid
Established Member
Posts: 1327
Joined: Sun Aug 26, 2012 11:28 am
Location: England
Has thanked: 1 time
Been thanked: 4 times

Re: KX mini manual

Post by danboid »

OK. Due to my choice of phrasing causing so much upset the latest chapter has been renamed to

Latency compensation and xrun reduction tips

http://www.wiki.linuxmusicians.com/doku.php?id=latency

Is that better?
wolftune
Established Member
Posts: 1350
Joined: Fri Feb 24, 2012 7:40 pm
Location: Portland, OR
Been thanked: 2 times
Contact:

Re: KX mini manual

Post by wolftune »

Dan, the ideas are now more clear, they are just unrelated. So it's two different topics lumped into something of a misc chapter, but I can live with that.

The reason it isn't "minimizing" is that the loopback latency is still there in the loopback. The software is adjusting things around it so that we get things lined up. In contrast, when we lower the buffer size, there is truly less latency in the system.

Furthermore, the compensation is an attempt to be precise. It eliminates the offset altogether aside from some degree of error (which could be either early or late). It's an accuracy thing in that case, not a minimizing thing.

I fully agree with you about how these wordings are confusing. Also, thank you so much for your writing this! I was not sure about how to handle it myself. Your instructions were nice, clear and simple! I feel much more confident about how to do this and how to guide others now.
Aaron Wolf
Music teacher, scholar
http://wolftune.com
ToddMWorth
Established Member
Posts: 225
Joined: Tue Oct 23, 2012 3:59 am

Re: KX mini manual

Post by ToddMWorth »

wolftune wrote: Also, thank you so much for your writing this!
Yeh dude totally!!!
danboid
Established Member
Posts: 1327
Joined: Sun Aug 26, 2012 11:28 am
Location: England
Has thanked: 1 time
Been thanked: 4 times

Re: KX mini manual

Post by danboid »

Thanks wolftune (for the edits and suggestions too) and Todd!

I'm looking forward to see what F changes/corrects!
danboid
Established Member
Posts: 1327
Joined: Sun Aug 26, 2012 11:28 am
Location: England
Has thanked: 1 time
Been thanked: 4 times

Re: KX mini manual

Post by danboid »

I have updated both the JACK connection instructions and the screenshot within the 'Creating a simple LADISH studio using Claudia' chapter so that qtractors outputs are connected to the Hardware Playback ports, for completeness

http://www.wiki.linuxmusicians.com/doku ... dia_studio
danboid
Established Member
Posts: 1327
Joined: Sun Aug 26, 2012 11:28 am
Location: England
Has thanked: 1 time
Been thanked: 4 times

Re: KX mini manual

Post by danboid »

I have added a new xrun reduction tip - Avoid realtime resampling

http://www.wiki.linuxmusicians.com/doku.php?id=latency
danboid
Established Member
Posts: 1327
Joined: Sun Aug 26, 2012 11:28 am
Location: England
Has thanked: 1 time
Been thanked: 4 times

Re: KX mini manual

Post by danboid »

New chapter done - wineASIO and REAPER

http://www.wiki.linuxmusicians.com/doku ... and_reaper
wolftune
Established Member
Posts: 1350
Joined: Fri Feb 24, 2012 7:40 pm
Location: Portland, OR
Been thanked: 2 times
Contact:

Re: KX mini manual

Post by wolftune »

Looks good overall, I might do some minor edits. Note: all the WineHQ stuff uses "Wine" with the capital W.

What do you think of including reference to other audio Wine software in the same chapter, such as reference to Windows VST support? If brief, that makes sense to me, whereas maybe its own chapter if we want more depth.
Aaron Wolf
Music teacher, scholar
http://wolftune.com
Post Reply