Do I really need a dedicated soundcard to remove crackles/pops in my DAW for voice recording?
-
- KVRer
- 8 posts since 3 Mar, 2016
Hi,
I'm relatively new to audio but I'm having issues with crackles and pops that I cannot fix.
Hardware
i5 4650
16gb of ram
Blue Yeti microphone
Integrated Realtek soundcard on a H97M Pro4 motherboard
Software
REAPER
VB-Audio Virtual Cables
WASAPI
VST plugins
Noise removal
EQ
Compressor
Settings
4096 buffer/block size
92ms of latency
Back story / Problem
Things are working at a fundamental level but I'm getting all sorts of mini-crackles and pops in the audio on occasion. If I had to give you an unmeasured guess I would say I average 1 crackle per 8 minutes of recording.
The crackles happen at random'ish intervals. It's not tied into specific events like hitting a key on my keyboard or moving the mouse. Sometimes I'm just sitting there not touching anything while speaking.
I'm recording my screen during audio sessions because I'm doing screencasts. Users are fully listening to the audio so any types of crackling or pops are distracting.
I'd rather not go over 4096 because at this point the delay starts to drift the audio and video out of sync. In theory I could fix this as a post-processing step but at such a high buffer I'm thinking going even higher may not make a difference?
For comparison, if I drop the buffer size to 1024 the crackles are MUCH worse, to the point where I would deem the recording useless. That's expected since the latency is much less, but I just want to give you some numbers to work with.
My CPU load is quite low during these recordings. I'm recording 1080p video but my CPU is barely doing much. Latencymon isn't reporting anything too crazy but I haven't done any rigorous monitoring of it while recording.
What to do?
I am hoping I could just pickup some type of PCI (or USB even?) sound card for like $50 or less and then use native ASIO, but if that's the case then what card should I get?
Is it even worth trying ASIO4all? I kind of don't want to mess with this until I'm done recording a set of screencasts (to avoid any type of catastrophic event that may delay recording them).
Is there a better free alternative to VB-Audio Virtual Cables, and do you think this might be causing issues? It's the only way I figured out how to get the output of REAPER as mic input to another program.
Is there something else I'm missing that could fix the problem for good? I just want to be able to open REAPER and record for 2-8 hours without worrying that I'm going to get crackles.
I'm relatively new to audio but I'm having issues with crackles and pops that I cannot fix.
Hardware
i5 4650
16gb of ram
Blue Yeti microphone
Integrated Realtek soundcard on a H97M Pro4 motherboard
Software
REAPER
VB-Audio Virtual Cables
WASAPI
VST plugins
Noise removal
EQ
Compressor
Settings
4096 buffer/block size
92ms of latency
Back story / Problem
Things are working at a fundamental level but I'm getting all sorts of mini-crackles and pops in the audio on occasion. If I had to give you an unmeasured guess I would say I average 1 crackle per 8 minutes of recording.
The crackles happen at random'ish intervals. It's not tied into specific events like hitting a key on my keyboard or moving the mouse. Sometimes I'm just sitting there not touching anything while speaking.
I'm recording my screen during audio sessions because I'm doing screencasts. Users are fully listening to the audio so any types of crackling or pops are distracting.
I'd rather not go over 4096 because at this point the delay starts to drift the audio and video out of sync. In theory I could fix this as a post-processing step but at such a high buffer I'm thinking going even higher may not make a difference?
For comparison, if I drop the buffer size to 1024 the crackles are MUCH worse, to the point where I would deem the recording useless. That's expected since the latency is much less, but I just want to give you some numbers to work with.
My CPU load is quite low during these recordings. I'm recording 1080p video but my CPU is barely doing much. Latencymon isn't reporting anything too crazy but I haven't done any rigorous monitoring of it while recording.
What to do?
I am hoping I could just pickup some type of PCI (or USB even?) sound card for like $50 or less and then use native ASIO, but if that's the case then what card should I get?
Is it even worth trying ASIO4all? I kind of don't want to mess with this until I'm done recording a set of screencasts (to avoid any type of catastrophic event that may delay recording them).
Is there a better free alternative to VB-Audio Virtual Cables, and do you think this might be causing issues? It's the only way I figured out how to get the output of REAPER as mic input to another program.
Is there something else I'm missing that could fix the problem for good? I just want to be able to open REAPER and record for 2-8 hours without worrying that I'm going to get crackles.
- KVRAF
- 4079 posts since 28 Jan, 2011 from MEXICO
In windows to improve system performance and avoid pops and crackles you need to use ASIO drivers for your sound card, ASIO4all is a universall asio driver but not much better than a dedicated ASIO driver like the ones that are used by dedicated audio interfaces.
The Mic you have is USB so it will need to use its own ASIO drivers to improve performance (isuppose it has ASIO drivers, maybe not) and possibly avoid clicks. But if you use its ASIO drivers you can't use the integrated card.
So the first you thing you can try is to use ASIO4all whhich is a way to get multiple sound cards to work together under an ASIO driver.
If that doesn't work then I would suggest getting rid of the mic, since being USB will always force you to use other driver that the one of any interface you get.
So you could get by with a cheap USB interface like the Steinberg Ur12 and a condenser mic, something loike the Blue Spark.
The Mic you have is USB so it will need to use its own ASIO drivers to improve performance (isuppose it has ASIO drivers, maybe not) and possibly avoid clicks. But if you use its ASIO drivers you can't use the integrated card.
So the first you thing you can try is to use ASIO4all whhich is a way to get multiple sound cards to work together under an ASIO driver.
If that doesn't work then I would suggest getting rid of the mic, since being USB will always force you to use other driver that the one of any interface you get.
So you could get by with a cheap USB interface like the Steinberg Ur12 and a condenser mic, something loike the Blue Spark.
dedication to flying
- KVRAF
- 16828 posts since 8 Mar, 2005 from Utrecht, Holland
I'd advice to first run the DPC Latency Checker. Sometimes things like badly written LAN or wifi drivers can mess things up for other progams that need to run real-time.
We are the KVR collective. Resistance is futile. You will be assimilated. 
My MusicCalc is served over https!!
My MusicCalc is served over https!!
-
- KVRer
- Topic Starter
- 8 posts since 3 Mar, 2016
The mic didn't come with any special drivers and I don't get any crackles when I record straight without real-time effects.rod_zero wrote:The Mic you have is USB so it will need to use its own ASIO drivers to improve performance (isuppose it has ASIO drivers, maybe not) and possibly avoid clicks. But if you use its ASIO drivers you can't use the integrated card.
Latencymon does a very similar thing. I have not noticed any massive spikes that correlate to crackles when using 4096.BertKoor wrote:I'd advice to first run the DPC Latency Checker. Sometimes things like badly written LAN or wifi drivers can mess things up for other progams that need to run real-time.
- KVRAF
- 4079 posts since 28 Jan, 2011 from MEXICO
Well that's because you system can handle the load perfectly until you load effects, then surely the CPU is overloaded and you get the pops and crackles.nickjj wrote:
The mic didn't come with any special drivers and I don't get any crackles when I record straight without real-time effects.
So the easiest solution is to record first without effects, add them later.
dedication to flying
-
- KVRer
- Topic Starter
- 8 posts since 3 Mar, 2016
Yeah of course. I'm not looking to do that because I want the FX added in near real-time. That's why I made this thread. I heard this forum had top quality audio people who watch the forums, so I posted here.rod_zero wrote: Well that's because you system can handle the load perfectly until you load effects, then surely the CPU is overloaded and you get the pops and crackles.
So the easiest solution is to record first without effects, add them later.
I want them done in near real-time because I may also be streaming at some point and post-processing the FXs can't happen then.
- KVRAF
- 5375 posts since 22 Jul, 2006 from Tasmania, Australia
Yep- get a good soundcard and you will get less than 256 samples latency and no crackles/pops.
You have pci,USB and firewire to choose from.
I'm not sure that u will be able to use the USB mic
Here is a nice card IMO->
http://mackie.com/products/onyx-blackjack
This is my best recommendation-
otherwise Focusrite or Presonus?
You have pci,USB and firewire to choose from.
I'm not sure that u will be able to use the USB mic
Here is a nice card IMO->
http://mackie.com/products/onyx-blackjack
This is my best recommendation-
otherwise Focusrite or Presonus?
I wonder what I want in here
-my site is gone and music a mess
-my site is gone and music a mess
-
- KVRer
- Topic Starter
- 8 posts since 3 Mar, 2016
Do you know of any sound cards in the <= $50 range that will allow me to use 2048 or less? It would be nice to have 256 but honestly it doesn't need to be that good. For voice recording a little bit of latency isn't the end of the world. No crackles/pops is my primary concern.nix808 wrote:Yep- get a good soundcard and you will get less than 256 samples latency and no crackles/pops.
You have pci,USB and firewire to choose from.
I'm not sure that u will be able to use the USB mic
What are the pros/cons of PCI vs USB vs Firewire in this case? I've only ever used non-integrated sound cards back in the day before motherboards even offered them.
My motherboard has an open PCIe 2.0 slot as well as a few PCI slots.
Also, why do you think I'll have to ditch the yeti?
- KVRAF
- 5375 posts since 22 Jul, 2006 from Tasmania, Australia
For $50,
Creative SoundBlaster PCI(includes ASIO)?
I wonder how a USB input could be utilized in a daw as an audio input.
Maybe you can take the audio out of the 3.5mm jack?
Actually, since you have PCI too- what os?
coz you could get an M-Audio 2496
Creative SoundBlaster PCI(includes ASIO)?
I wonder how a USB input could be utilized in a daw as an audio input.
Maybe you can take the audio out of the 3.5mm jack?
Actually, since you have PCI too- what os?
coz you could get an M-Audio 2496
I wonder what I want in here
-my site is gone and music a mess
-my site is gone and music a mess
- KVRAF
- 4079 posts since 28 Jan, 2011 from MEXICO
Did you already tried downloading and using ASIO4all driver? if not do it, it could solve your problems and it is the cheapest solution.
If that doesn't work you will have to ditch the USB mic because any soundcard you get won't be able to use its ASIO drivers while using an USB mic. So it will be a total waste of money to get a sound card and not use its ASIo drivers.
If you choose to get a sound card with ASIO drivers look for manufacturers of pro audio gear: Steinberg, Focusrite, Mackie, RME, Presonus, M-audio. There are many options in price. Personally I think steinberg is the best in the low end market and the Ur12 is their cheapest.
Second, PCie cards still exist but must of them don't have preamps for Mic, the cheapest ones are designed for other uses as DJing with only RCA inputs/outputs. Of course you can look for PCie cards second hand since it was more popular before and many of them do have mic preamps, problem will be if they have updated drivers for win8.
Firewire is being phased out, risky to invest in it.
If that doesn't work you will have to ditch the USB mic because any soundcard you get won't be able to use its ASIO drivers while using an USB mic. So it will be a total waste of money to get a sound card and not use its ASIo drivers.
If you choose to get a sound card with ASIO drivers look for manufacturers of pro audio gear: Steinberg, Focusrite, Mackie, RME, Presonus, M-audio. There are many options in price. Personally I think steinberg is the best in the low end market and the Ur12 is their cheapest.
Second, PCie cards still exist but must of them don't have preamps for Mic, the cheapest ones are designed for other uses as DJing with only RCA inputs/outputs. Of course you can look for PCie cards second hand since it was more popular before and many of them do have mic preamps, problem will be if they have updated drivers for win8.
Firewire is being phased out, risky to invest in it.
dedication to flying
-
- KVRer
- Topic Starter
- 8 posts since 3 Mar, 2016
I'm confused why ASIO4all could possibly work but a dedicated sound card with ASIO support wouldn't.rod_zero wrote:Did you already tried downloading and using ASIO4all driver? if not do it, it could solve your problems and it is the cheapest solution.
If that doesn't work you will have to ditch the USB mic because any soundcard you get won't be able to use its ASIO drivers while using an USB mic. So it will be a total waste of money to get a sound card and not use its ASIo drivers.
I only have a few hours of research under my belt here, but I was under the impression it would work roughly like this:
Microphone sends output to a device (in this case my motherboard)
Motherboard forwards that to my sound card (could be the integrated realtek or a dedicated card)
If realtek, CPU does the audio processing (in theory this is less efficient since my CPU is doing other work too)
If dedicated card, the audio processing will be done on the card (in theory this is more efficient, since my CPU is free to do whatever else)
You're recommending that ASIO4all could potentially be a better solution over WASAPI with the same USB mic, but that doesn't make sense since the input is still coming from USB in both cases.
A quick Googling says USB 2.0 supports 60MB/s in bandwidth and has very low latency. Real world usage numbers from a few forum posts seem to hint at 1-4ms.
-
- KVRer
- Topic Starter
- 8 posts since 3 Mar, 2016
Ok so, I tried installing ASIO4all. I think I have it all configured but something is severely broken.
I was able to set things up in REAPER and successfully record but I can't use any other software to capture the VB cable output which defeats the purpose of why I'm using REAPER in the first place.
For example, when I set ASIO4all up in REAPER and then turn on my screencast recording software while using the VB cable as input (which is what I did before) then it says there's something wrong with my audio device and it fails.
If I go back to REAPER and use WASAPI instead of ASIO4all, then it works. What's up with that?
I was able to set things up in REAPER and successfully record but I can't use any other software to capture the VB cable output which defeats the purpose of why I'm using REAPER in the first place.
For example, when I set ASIO4all up in REAPER and then turn on my screencast recording software while using the VB cable as input (which is what I did before) then it says there's something wrong with my audio device and it fails.
If I go back to REAPER and use WASAPI instead of ASIO4all, then it works. What's up with that?
- KVRAF
- 4079 posts since 28 Jan, 2011 from MEXICO
The problem is software related, the pops certainly come from CPU overload, WASAPI driver is very ineficient dealing with audio in realtime and performs really bad.nickjj wrote:
Microphone sends output to a device (in this case my motherboard)
Motherboard forwards that to my sound card (could be the integrated realtek or a dedicated card)
If realtek, CPU does the audio processing (in theory this is less efficient since my CPU is doing other work too)
If dedicated card, the audio processing will be done on the card (in theory this is more efficient, since my CPU is free to do whatever else)
You're recommending that ASIO4all could potentially be a better solution over WASAPI with the same USB mic, but that doesn't make sense since the input is still coming from USB in both cases.
A quick Googling says USB 2.0 supports 60MB/s in bandwidth and has very low latency. Real world usage numbers from a few forum posts seem to hint at 1-4ms.
ASIO drivers were developed for low latency and real time audio applications, by giving priority to audio processing they avoid CPU choking (which produces the pops and crackles).
Problem is that software can only use one driver at a time, so you can't use the ASIo4all driver for the mic and the ASIO driver for a soundcard, or WASAPI and ASIO. And as you are experimenting now you can't use the virtual cable at the same time in the same program, it seems the virtual cable has its own driver too.
The WASAPI driver can use various devices, as you can attest using you current set up, but it has bad performance.
Normally ASIO drivers can't use two devices (some manufacturers ASIO drivers allow more than one devices, as RME with its own products). ASIO4all can group audio devices as your mic and internal card since it's a shell for the WASAPI driver, and improves performance a little bit.
I don't know if the way you are recording and streaming is the "standard", using virtual cables, maybe research a little bit in to that and what software is used for this tasks. Maybe there is something more easy to use that reaper+screencast recording. Maybe there is screencast software than can record audio in a separate track and use real time effects (I suppose that's why you are using reaper).
dedication to flying
-
- KVRer
- Topic Starter
- 8 posts since 3 Mar, 2016
My set up is as simple as it can be for what I'm trying to do I think. I'm open to suggestions if you have a better way to do what was explained in the original post.
VB Audio Cables drivers are installed (they provide a playback/recording device)
Microphone is set as input in REAPER
VB AC is set as output in REAPER
REAPER is set to monitor and apply FX on the fly
Camtasia is set to record my screen
Camtasia is set to record my audio and it uses VB AC as input (the FX are applied)
This allows me to use Camtasia in a seamless way without having to deal with nonsense like recording the audio in a separate app and then import/syncing it in a post processing step.
In the future if I were to do streaming, replace Camtasia with OBS and in that case it would have to be done live anyways.
VB Audio Cables drivers are installed (they provide a playback/recording device)
Microphone is set as input in REAPER
VB AC is set as output in REAPER
REAPER is set to monitor and apply FX on the fly
Camtasia is set to record my screen
Camtasia is set to record my audio and it uses VB AC as input (the FX are applied)
This allows me to use Camtasia in a seamless way without having to deal with nonsense like recording the audio in a separate app and then import/syncing it in a post processing step.
In the future if I were to do streaming, replace Camtasia with OBS and in that case it would have to be done live anyways.