Then I stumbled across this post which contained the answer:
Ok, here are the contents of my ~/.gnuradio/config.conf: [audio_alsa] default_input_device = default default_output_device = default #period_time = 0.010 # in seconds (default) period_time = 0.100 # in seconds nperiods = 4 # total buffering = period_time * nperiods #verbose = false verbose = true The actual change I made was to increase audio_alsa/period_time from 0.010 to 0.100. Play around with it until it works on your system. My only guess is that perhaps the default ALSA buffer sizes are small enough that they are often consumed by ALSA before GnuRadio will fill them. Cheers, -Remington
By default (at least in my Kali Linux VM) config.conf does not exist. Copy and paste the block of code to ~/gnuradio/config.conf.
For me, the above settings didn't work, but increasing period_time to 0.400 and nperiods to 16 and audio is crystal clear! Try the above settings, then mine, then something in between... hopefully this works!