Video - Digital Audio and the DSP meter

Have an urge to learn, or a calling to teach? Want to share some useful Youtube videos? Do it here!
User avatar
normen
Posts: 3431
Joined: 16 Jan 2015

Post 19 Feb 2018

Hey,

since I realize that I am sounding like a broken record on this topic but still seem to run into it over and over again I thought I'd finally put in the work and create a video I had in mind for a long time now. It explains the whole digital audio, buffer size and CPU/DSP meter issue in a hopefully understandable way.

Cheers,
Normen

PS: If you like this video I have an idea for another topic that could be a real mind blower for some - I even encountered many pros who didn't get this little thing about DAWs :o



Edit: This is the final version of the video now, thanks for the feedback @all!
Last edited by normen on 23 Feb 2018, edited 3 times in total.

User avatar
raymondh
Posts: 1798
Joined: 15 Jan 2015

Post 19 Feb 2018

Very educational - thank you Normen. Great video, very nicely done.

Particularly good was the difference between CPU and DSP usage. Best explanation I've seen.

I've always tried to minimise the buffer size because it reduces the real-time latency. But if I correctly understand, the consequence is that I'm constraining how much of the CPU the system is able to utilise, since with a small buffer it proportionately increases the impact of all the I/O delays. Is that right?
So to get less latency, the trick may be to try and reduce what other things create I/O contention (because the CPU may not be the bottleneck). Would that also be a fair conclusion?

Thanks!

User avatar
normen
Posts: 3431
Joined: 16 Jan 2015

Post 19 Feb 2018

Correct, good too see the video being appreciated :)

And yes, even using a "low-power" graphics card can help, disconnecting the network, not having too many USB devices. All of those add to the "purple" in the bar.

User avatar
raymondh
Posts: 1798
Joined: 15 Jan 2015

Post 20 Feb 2018

normen wrote:
19 Feb 2018
Correct, good too see the video being appreciated :)

And yes, even using a "low-power" graphics card can help, disconnecting the network, not having too many USB devices. All of those add to the "purple" in the bar.
Thanks. I may have to rationalise my "general purpose" home computer system a bit!

User avatar
wendylou
Posts: 505
Joined: 15 Jan 2015
Location: Night City

Post 20 Feb 2018

Great info, nice presentation! I wonder if one can add OS to the usual suspects? I seemed to notice with certain DSP-hungry songs that some crackled when Mac OS was upgraded.
:puf_smile: http://www.galxygirl.com -- :reason: user since 2002


User avatar
aeox
Competition Winner
Posts: 3225
Joined: 23 Feb 2017
Location: Oregon

Post 20 Feb 2018

Good to know!

User avatar
4filegate
Posts: 922
Joined: 16 Jan 2015

Post 20 Feb 2018

The film was not bad and has inspired.
Chip sitting on motherboard? The ES9016K2M SABRE Ultra DAC’s Hyperstream architecture can handle up to 32-bit/384kHz PCM data, as well as professional applications such as recording systems, mixer consoles and digital audio workstations, eg. Reason10 24-bit/192kHz on Realtek ASIOdriver (MSI dropped the ball a bit here.)

It's the same for mac

I expect that will come the DDR4 4000+ Mhz Quad-Channel SO-DIMMs Support = +50% impact for the next gen. laptops; This is my book.

User avatar
normen
Posts: 3431
Joined: 16 Jan 2015

Post 20 Feb 2018

@wendylou: Sure, anything your computer does and how it does it can affect these. The OS is an integral part to the HOW :)

@4filegate: Right, if you stay out of the CPU and in the audio interface you can process more quickly, thats why ProTools uses DSP hardware or why theres the UAD Apollo. But if you want to use all those nice native plugins you will have to go into the CPU at some point. And sure, new memory buses etc. will make things (a bit) quicker but they won‘t change the bus speed of your USB interface either, the next generation of USB interfaces will.

User avatar
4filegate
Posts: 922
Joined: 16 Jan 2015

Post 20 Feb 2018

normen wrote:
20 Feb 2018
@4filegate: Right, if you stay out of the CPU and in the audio interface you can process more quickly, thats why ProTools uses DSP hardware or why theres the UAD Apollo. But if you want to use all those nice native plugins you will have to go into the CPU at some point. And sure, new memory buses etc. will make things (a bit) quicker but they won‘t change the bus speed of your USB interface either, the next generation of USB interfaces will.
Big Thumbs Up!
Neve analog summing 8816 / Apogee Rosetta 800 and Big Ben / Universal Audio UAD PCIe DSP Card
6 months tested in 2011 on Apple G5 PowerMac, couldn't create a song on it (Logic 8), unfortunately only mac-OS. The investment was simply too high, the current value was set too high by the seller (in those days).

User avatar
normen
Posts: 3431
Joined: 16 Jan 2015

Post 20 Feb 2018

4filegate wrote:
20 Feb 2018
Universal Audio UAD PCIe DSP Card
A DSP card is a BIG addition to the purple bit, with its own bit of red. Remember that data it has to process is already in memory, so it has to go all the way back to the PCI bus, thats pretty much like having two audio interfaces in there. DSP chips right in the audio interface are a different thing, with those you bypass the way through the computer completely.

User avatar
Loque
Moderator
Posts: 11349
Joined: 28 Dec 2015

Post 20 Feb 2018

Interesting stuff, well done. Might be a bit too much stuff for some novice, but again, well done.

According to the content of the video, would be nice to know how much DSP is used in which place and what i can do to improve it? The bus-stuff can be neglected i guess. So in the end my longest calculation chain impacts the overall DSP, means the slowest signal chain in my channels has the highest impact - that means removing a very slow synth or fx or reduce a signal chain could help a lot.
Reason13, Win10

WongoTheSane
Moderator
Posts: 1851
Joined: 14 Sep 2015
Location: Paris, France

Post 20 Feb 2018

Well done, it's as clear and concise as can be given the complexity of the subject. How did you animate the mouth? Manually or some smart voice analyzer?

User avatar
normen
Posts: 3431
Joined: 16 Jan 2015

Post 20 Feb 2018

Loque wrote:
20 Feb 2018
Interesting stuff, well done. Might be a bit too much stuff for some novice, but again, well done.

According to the content of the video, would be nice to know how much DSP is used in which place and what i can do to improve it? The bus-stuff can be neglected i guess. So in the end my longest calculation chain impacts the overall DSP, means the slowest signal chain in my channels has the highest impact - that means removing a very slow synth or fx or reduce a signal chain could help a lot.
Exactly, thats also why its SO HARD to make objective comparisons.

The video is meant especially for people who already have an idea about digital audio so some of the basics are presented more in a spirit of "you know that right? Else maybe check up elsewhere." Even the explanation about buffers themselves are more of a "Just so we're on the same page" really. The important bit is of course the DSP vs CPU meter thing so its really for people who would care about the specifics of that rather than just accept that latency vs crackles is a thing.

Nonetheless I hope it goes a bit beyond in both the direction of novices and people who technically know all of this stuff as well.
WongoTheSane wrote:
20 Feb 2018
Well done, it's as clear and concise as can be given the complexity of the subject. How did you animate the mouth? Manually or some smart voice analyzer?
Thanks. It's a "smart" voice analyzer in the animation software I use, the character is created completely with their (ugly) "character creator". The software is relatively powerful but for other reasons I don't really want to advertise it here.

User avatar
normen
Posts: 3431
Joined: 16 Jan 2015

Post 20 Feb 2018

After learning a bit more about Apple Motion I managed to fix the animations so version 0.6 of the video is now available above. Especially the "oscillator bit" in the beginning should make more sense now.

I do realize that some of the icons in the animations look worse now but thats because I went to making the icons myself to not run into copyright issues. Now I can refine them in one place and they will be updated in the whole video so hopefully I'll whip up some better "programmer art" later for the mic and speaker :D

WongoTheSane
Moderator
Posts: 1851
Joined: 14 Sep 2015
Location: Paris, France

Post 20 Feb 2018

normen wrote:
20 Feb 2018
After learning a bit more about Apple Motion I managed to fix the animations so version 0.6 of the video is now available above.

I do realize that some of the icons in the animations look worse now but thats because I went to making the icons myself to not run into copyright issues. Now I can refine them in one place and they will be updated in the whole video so hopefully I'll whip up some better "programmer art" later for the mic and speaker :D
What's the video you're referring to at 1:15, about the fact that discrete numeric samples translate to a continuous signal in analog? As it's hard to understand, you might want to add it as text below the pic in v0.7 (I think it's a name but I'm not familiar with it, or the guy in the picture).

User avatar
normen
Posts: 3431
Joined: 16 Jan 2015

Post 20 Feb 2018

WongoTheSane wrote:
20 Feb 2018
normen wrote:
20 Feb 2018
After learning a bit more about Apple Motion I managed to fix the animations so version 0.6 of the video is now available above.

I do realize that some of the icons in the animations look worse now but thats because I went to making the icons myself to not run into copyright issues. Now I can refine them in one place and they will be updated in the whole video so hopefully I'll whip up some better "programmer art" later for the mic and speaker :D
What's the video you're referring to at 1:15, about the fact that discrete numeric samples translate to a continuous signal in analog? As it's hard to understand, you might want to add it as text below the pic in v0.7 (I think it's a name but I'm not familiar with it, or the guy in the picture).
At about 2:20. The part in the beginning will get a few better pictures (and text) but because the Xiph video explains it better than I ever could I'll put a link to that in there. The bit depth / sample rate thing is maybe even a bit of a "barrier of entry" kind of thing for the rest of the video content so it's not supposed to explain that "to the bone". Same with the oscillator.

Edit: Oh, I misunderstood. Thats xiph.org.

WongoTheSane
Moderator
Posts: 1851
Joined: 14 Sep 2015
Location: Paris, France

Post 20 Feb 2018

normen wrote:
20 Feb 2018
WongoTheSane wrote:
20 Feb 2018


What's the video you're referring to at 1:15, about the fact that discrete numeric samples translate to a continuous signal in analog? As it's hard to understand, you might want to add it as text below the pic in v0.7 (I think it's a name but I'm not familiar with it, or the guy in the picture).
At about 2:20. The part in the beginning will get a few better pictures (and text) but because the Xiph video explains it better than I ever could I'll put a link to that in there. The bit depth / sample rate thing is maybe even a bit of a "barrier of entry" kind of thing for the rest of the video content so it's not supposed to explain that "to the bone". Same with the oscillator.

Edit: Oh, I misunderstood. Thats xiph.org.
Yes, that was it, thanks! (could have been worse, they could have been called Squirrel). :p

User avatar
normen
Posts: 3431
Joined: 16 Jan 2015

Post 21 Feb 2018

v0.7 is up, mainly changes to the beginning (basic sampling) and end (multicore). And the animations have been refined and tweaked, the buffer underrun should be more obvious now. Theres only a few images in the beginning (S/N ratio and sampling frequency) I still want to replace.

Realizing that adding images to a video is a bit like adding bass drum hits when creating music, once you start you keep adding more and more :lol:

antic604

Post 01 Mar 2018

normen wrote:
21 Feb 2018
v0.7 is up, mainly changes to the beginning (basic sampling) and end (multicore). And the animations have been refined and tweaked, the buffer underrun should be more obvious now. Theres only a few images in the beginning (S/N ratio and sampling frequency) I still want to replace.

Realizing that adding images to a video is a bit like adding bass drum hits when creating music, once you start you keep adding more and more :lol:
Normen, really great video, thank you for doing & sharing it!

However, would be awesome if you could expand it a bit with some info on:
- what can be done to reduce that "fixed" processing overhead (transporting of data through the system) - faster RAM and SDD, better mobo,
- what's the impact & how to prevent occasional interrupts to the process caused by CPU being taken over by network, USB, antivirus software, background services, etc. - turn them off,
- why is it that sometimes single core/thread is full while other are barely used and DSP gets maxed out - few heavy plugins and/or complex routing that prevent the audio engine to go 'wide' with processing the signal,
- what's more important - more cores or higher clock,

On a daily basis I see people confused especially with regards to the last 2 points.

User avatar
normen
Posts: 3431
Joined: 16 Jan 2015

Post 01 Mar 2018

antic604 wrote:
01 Mar 2018
normen wrote:
21 Feb 2018
v0.7 is up, mainly changes to the beginning (basic sampling) and end (multicore). And the animations have been refined and tweaked, the buffer underrun should be more obvious now. Theres only a few images in the beginning (S/N ratio and sampling frequency) I still want to replace.

Realizing that adding images to a video is a bit like adding bass drum hits when creating music, once you start you keep adding more and more :lol:
Normen, really great video, thank you for doing & sharing it!

However, would be awesome if you could expand it a bit with some info on:
- what can be done to reduce that "fixed" processing overhead (transporting of data through the system) - faster RAM and SDD, better mobo,
- what's the impact & how to prevent occasional interrupts to the process caused by CPU being taken over by network, USB, antivirus software, background services, etc. - turn them off,
- why is it that sometimes single core/thread is full while other are barely used and DSP gets maxed out - few heavy plugins and/or complex routing that prevent the audio engine to go 'wide' with processing the signal,
- what's more important - more cores or higher clock,

On a daily basis I see people confused especially with regards to the last 2 points.
Thanks for the feedback but the video isn't really a "how to troubleshoot your PC" video. Its made for people who are on a journey to understand such things and want to learn about it.

Troubleshooting a PC is a WHOLE different topic that - and I am serious here - requires YEARS of research and mainly experience to do it properly. A video on that topic can only be a small step on that way, touching a few typical issues here and there maybe. Not really my cup of tea as its my day job setting up and troubleshooting complicated technical setups :)

Helping people to understand the basics so they can REALLY start to understand and learn - thats something I like to do in my spare time as well ;)

Edit: The last two questions - I think I answer those in the last bit of the video right? Maybe watch it again :) It depends if you want low latency or many channels.

User avatar
selig
RE Developer
Posts: 12087
Joined: 15 Jan 2015
Location: The NorthWoods, CT, USA

Post 01 Mar 2018

Excellent video - more please!
Selig Audio, LLC

User avatar
normen
Posts: 3431
Joined: 16 Jan 2015

Post 01 Mar 2018

selig wrote:
01 Mar 2018
Excellent video - more please!
Cheers man, much appreciated. I have one more topic where I can easily muster the energy to do something like this again. I have explained that detail about software monitoring one too many times as well :) And it's complicated enough to explain to really justify a whole video. Also ties in nicely with this video in terms of latency. Now I just need the time :lol:

User avatar
selig
RE Developer
Posts: 12087
Joined: 15 Jan 2015
Location: The NorthWoods, CT, USA

Post 01 Mar 2018

normen wrote:
01 Mar 2018
selig wrote:
01 Mar 2018
Excellent video - more please!
Cheers man, much appreciated. I have one more topic where I can easily muster the energy to do something like this again. I have explained that detail about software monitoring one too many times as well :) And it's complicated enough to explain to really justify a whole video. Also ties in nicely with this video in terms of latency. Now I just need the time :lol:
I hope you can find the time, your video is right up there with Monty's IMO. And having worked with Motion I can appreciate the time you put into making the visuals clear and illustrative of the concepts you're explaining.
:)
Selig Audio, LLC

User avatar
normen
Posts: 3431
Joined: 16 Jan 2015

Post 01 Mar 2018

selig wrote:
01 Mar 2018
I hope you can find the time, your video is right up there with Monty's IMO. And having worked with Motion I can appreciate the time you put into making the visuals clear and illustrative of the concepts you're explaining.
:)
That is especially nice to hear as I consider myself visually-artistically impaired ;) Can't see a line, can't pick a color for the life of me. But since I started sticking to the basics (and the basic presets!) the results got better :roll:

User avatar
selig
RE Developer
Posts: 12087
Joined: 15 Jan 2015
Location: The NorthWoods, CT, USA

Post 01 Mar 2018

If there’s anything I can do to help out in the future, especially if it helps with your time schedule, please let me know. You have a keen understanding of these subjects and are able to explain them clearly IMO, so your work has great value!


Sent from some crappy device using Tapatalk
Selig Audio, LLC

  • Information
  • Who is online

    Users browsing this forum: No registered users and 8 guests