<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Netflow Developments &#187; alsa</title>
	<atom:link href="http://blog.netflowdevelopments.com/tag/alsa/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.netflowdevelopments.com</link>
	<description>The latest and greatest happenings in the world of Science, Technology and everything else Geek</description>
	<lastBuildDate>Tue, 24 Aug 2010 03:28:47 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Fixing ALSA underrun erorrs associated with PulseAudio (and typically Skype) in Ubuntu</title>
		<link>http://blog.netflowdevelopments.com/2009/05/10/fixing-alsa-underrun-erorrs-associated-with-pulseaudio-and-typically-skype-in-ubuntu/</link>
		<comments>http://blog.netflowdevelopments.com/2009/05/10/fixing-alsa-underrun-erorrs-associated-with-pulseaudio-and-typically-skype-in-ubuntu/#comments</comments>
		<pubDate>Sun, 10 May 2009 19:08:38 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[9.04]]></category>
		<category><![CDATA[alsa]]></category>
		<category><![CDATA[alsa underrun detected]]></category>
		<category><![CDATA[error]]></category>
		<category><![CDATA[highpriority]]></category>
		<category><![CDATA[nice-level]]></category>
		<category><![CDATA[problem]]></category>
		<category><![CDATA[pulseaudio]]></category>
		<category><![CDATA[real-time priority]]></category>
		<category><![CDATA[realtime-scheduling]]></category>
		<category><![CDATA[skype alsa underrun]]></category>
		<category><![CDATA[sound cutting out]]></category>
		<category><![CDATA[sound not working]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[underrun]]></category>

		<guid isPermaLink="false">http://blog.netflowdevelopments.com/?p=256</guid>
		<description><![CDATA[So after running into this problem suddently and for no &#8216;apparent&#8217; reason(although it became apparent later) I noticed the complete lack of real support docs online in regards to the ALSA underrun problem.  Hopefully I can rememdy this a little bit and help some people out. Last week I noticed skype audio was getting really [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft" title="ubuntu" src="http://medya.gh.googlepages.com/ubuntu-tux.png" alt="" width="165" height="197" /></p>
<p>So after running into this problem suddently and for no &#8216;apparent&#8217; reason(although it became apparent later) I noticed the complete lack of real support docs online in regards to the ALSA underrun problem.  Hopefully I can rememdy this a little bit and help some people out.</p>
<p>Last week I noticed skype audio was getting really choppy, it was the equivalent of seeing the conversation through a strobe light.  Odd I thought but didn&#8217;t pay it too much heed, that was until the end of the week when the audio simply stopped all together and skype refused to close down normally.  I would have to manually kill the process in terminal after the sound cut out.  This problem was exclusive to skype, which made it even more frustrating as I could have youtube and/or music playing in <a href="http://www.exaile.org" target="_blank">exaile </a>while skype was screwing the pooch.</p>
<p>It occured to me today that something indeed had been changed recently right before this problem started and that was me fiddling with pulse&#8217;s daemon.conf and enabling real-time scheduling.  I can&#8217;t remember what for but this was part of the problem.  In fact there is even a mention in pulseaudio&#8217;s man page in regards to the possibility of real-time scheduling causing problems which I&#8217;ll quote here:</p>
<blockquote><p><em> Alternatively,  if the risk of locking up the machine is considered too<br />
big to enable real-time scheduling,  high-priority  scheduling  can  be<br />
enabled  instead  (i.e.  negative  nice  level). This can be enabled by<br />
passing &#8211;high-priority (see above) when starting  PulseAudio  and  may<br />
also  be  enabled  with  the approriate option in daemon.conf. Negative<br />
nice levels can only be enabled when  the  appropriate  resource  limit</em></p>
<p><em> RLIMIT_NICE  is  set  (see setrlimit(2) for more information), possibly<br />
configured in /etc/security/limits.conf. A resource limit of 31 (corre‐<br />
sponding with nice level -11) is recommended.</em></p>
<p><img class="alignright" title="skype" src="http://cultofmac.com/wp-content/uploads/skype-logo.jpg" alt="" width="137" height="137" /></p></blockquote>
<p>At this point I got a little excited as the solution seemed within reach.  I hashed out real-time schedule and implemented high-priority scheduling, restarted pulseaudio and loaded up skype.  It started fine but when I made a test call I was once again plagued by ALSA underruns.</p>
<p>They key here was to adjust the nice level.  I incrementally went down from -11 all the way to 3 (as in <strong>plus</strong> 3 <strong>not</strong> -3), restarted pulseaudio, loaded skype and viola!  Problem solved.  The nice level might be different for you so maybe experiment with that a little bit.</p>
<p><strong>Summary:</strong></p>
<ul>
<li>edit ~/.pulse/daemon.conf (or /etc/pulse/daemon.conf if you run as system)</li>
<li>Hash out realtime-scheduling and realtime-priority</li>
<li>Unhash high-priority and nice-level</li>
<li>set nice level to 3 (not -3 or -11 for that matter)</li>
</ul>
<p>Update:  Bah, I am still seeing these under runs.  The severity of them has gone down as skype doesn&#8217;t completely cut out now and lock up but I am getting audio cutting in and out every 2-3 seconds when making a call via skypeout.</p>
<p>Searching around the <a href="http://forum.skype.com/index.php?showtopic=306381" target="_blank">skype forums</a> I found this and this actually seems to have done the trick completely:</p>
<p>Edit your ~/.asoundrc file</p>
<p># Part I directly from ALSA Dmix Wiki</p>
<p>pcm.skype {<br />
type dmix<br />
ipc_key 1024<br />
slave {<br />
pcm &#8220;hw:0,0&#8243;<br />
period_time 0<br />
period_size 1024<br />
buffer_size 8192<br />
#format &#8220;S32_LE&#8221;<br />
#periods 128<br />
rate 44100<br />
}<br />
}</p>
<p>pcm.dsp0 {<br />
type plug<br />
slave.pcm &#8220;skype&#8221;<br />
}</p>
<p># This following device can fool some applications into using pulseaudio<br />
pcm.dsp1 {<br />
type plug<br />
slave.pcm &#8220;pulse&#8221;<br />
}</p>
<p>ctl.mixer0 {<br />
type hw<br />
card 0<br />
}</p>
<p>pcm.pulse { type pulse }<br />
ctl.pulse { type pulse }<br />
pcm.!default {<br />
type pulse<br />
}</p>
<p>ctl.!default {<br />
type pulse<br />
}</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.netflowdevelopments.com/2009/05/10/fixing-alsa-underrun-erorrs-associated-with-pulseaudio-and-typically-skype-in-ubuntu/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Sound quality with PulseAudio FINALLY restored.  No more slightly grainy music</title>
		<link>http://blog.netflowdevelopments.com/2009/05/07/sound-quality-with-pulseaudio-finally-restored-no-more-slightly-grainy-music/</link>
		<comments>http://blog.netflowdevelopments.com/2009/05/07/sound-quality-with-pulseaudio-finally-restored-no-more-slightly-grainy-music/#comments</comments>
		<pubDate>Fri, 08 May 2009 05:17:18 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[/etc/pulse]]></category>
		<category><![CDATA[alsa]]></category>
		<category><![CDATA[audio quality]]></category>
		<category><![CDATA[bad quality]]></category>
		<category><![CDATA[daemon.conf]]></category>
		<category><![CDATA[improve quality]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[poor quality]]></category>
		<category><![CDATA[pulse]]></category>
		<category><![CDATA[pulse audio]]></category>
		<category><![CDATA[pulseaudio]]></category>
		<category><![CDATA[sound quality]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://blog.netflowdevelopments.com/2009/05/07/sound-quality-with-pulseaudio-finally-restored-no-more-slightly-grainy-music/</guid>
		<description><![CDATA[When I finally solve the problem I nearly broke down.  The effect that hearing crystal clear music for the first time in months, especially the likes of Bear Mcreary, is an emotional experience.  For a LONG time I have been plagued with this extremely subtle but in Ubuntu where my music would have this very [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><img class="aligncenter" title="pulse" src="http://www.pulseaudio.org/chrome/site/patitle.png" alt="" width="345" height="70" /></p>
<p>When I finally solve the problem I nearly broke down.  The effect that hearing crystal clear music for the first time in months, especially the likes of Bear Mcreary, is an emotional experience.  For a LONG time I have been plagued with this extremely subtle but in Ubuntu where my music would have this very slight graininess to it.  It is even hard to describe what it was because it was so sublte, the best analogy I can think of would be looking through glasses that were covered in dust, or a jpeg image that has 5-10% too much compression on it.  It really isn&#8217;t enough to notice most of the time, especially with loud progressive trance.  Over time you simply get used to it, your brain adjusts but in the back of my mind I knew this was happening, especially when I would put on classical music where this graininess would be more pronounced with the delicate sounds of a violin.  I searched and <img class="alignright" title="ubuntu" src="http://www.linuxnewbieguide.org/userfiles/image/ubuntu-logo.png" alt="" width="217" height="223" />searched for a solution to no avail and every time I heard the heart wrenching compositions of Bear Mcreary it is like a part of my soul just died in defeat.</p>
<p>I had found a few days back while going through the hellish experience that is Amarok 2 that if I was running pulse as root the audio quality would resume.  But I never really put two and two together as my settings in /etc/pulse/daemon.conf were identical to those in ~/.pulse/daemon.conf .  In fact I even deleted the latter and replaced it with the former.  What as most perplexing is that I would adjust the resampler method from something like speex-float-1 all the way to src-best-quality without any change in CPU usage or any change in quality.</p>
<p>But today I went one step further as I noticed that in my ~/.pulse/ directory I was missing 3 files:  &#8220;client.conf , default.pa, and system.pa&#8221; .  I am not sure why these were missing, pulse loaded fine without them but they were.  This was the only difference now between my /etc/pulse and ~/.pulse so I went and deleted everything from ~/.pulse and replaced it with what was in /etc/pulse  and VIOLA!!  I now have perfectly crystal clear sound and what a bloody relief.</p>
<p style="text-align: center;">So if this is you I hope this helps</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.netflowdevelopments.com/2009/05/07/sound-quality-with-pulseaudio-finally-restored-no-more-slightly-grainy-music/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Setting up a USB mic to work with Ubuntu, and specifically Teamspeak</title>
		<link>http://blog.netflowdevelopments.com/2009/02/25/setting-up-a-usb-mic-to-work-with-ubuntu-and-specifically-teamspeak/</link>
		<comments>http://blog.netflowdevelopments.com/2009/02/25/setting-up-a-usb-mic-to-work-with-ubuntu-and-specifically-teamspeak/#comments</comments>
		<pubDate>Thu, 26 Feb 2009 01:12:55 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Random Musings]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[alsa]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[microphone]]></category>
		<category><![CDATA[pulseaudio]]></category>
		<category><![CDATA[teamspeak]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[usb]]></category>
		<category><![CDATA[usb mic]]></category>

		<guid isPermaLink="false">http://blog.netflowdevelopments.com/2009/02/25/setting-up-a-usb-mic-to-work-with-ubuntu-and-specifically-teamspeak/</guid>
		<description><![CDATA[Alright so you have a USB mic and Ubuntu is being a bitch about it.  Meaning it probably is thinking that your primary input device is in your soudn card somewhere as apposed to a USB port.. How on earth do we tell get Ubuntu to use the USB port instead of the Soundcard?  We&#8217;ll [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft" title="ubuntu" src="http://i.iinfo.cz/urs/UbuntuLogo-114916011278920.png" alt="" width="287" height="289" />Alright so you have a USB mic and Ubuntu is being a bitch about it.  Meaning it probably is thinking that your primary input device is in your soudn card somewhere as apposed to a USB port.. How on earth do we tell get Ubuntu to use the USB port instead of the Soundcard?  We&#8217;ll I&#8217;m glad you asked because coincidentally that is what I&#8217;ll be going over today <img src='http://blog.netflowdevelopments.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>First thing first, for most all applications with the exception of those running in WINE, you can to get your butt over to this thread: <a href="http://ubuntuforums.org/showthread.php?t=789578">http://ubuntuforums.org/showthread.php?t=789578</a> and get PulseAudio installed.. Pulse is the key to running a proper sound server in Ubuntu(as long as you can get it running properly &#8211; something that took me weeks)</p>
<p>The key I found to making sure that pulse works properly in skype with multiple options for inputs is to make sure that in /system/preferences/sound you have everything on auto detect except for the Sound Capture &#8211; which is set to Pulse and that your Mixer track is set to ALSA PCM on dmix via DMA PulseAudio Mixer.</p>
<p>The other thing I found was that you NEED to make sure that your ~/.asoundrc file is blank.  This will become key as in the latter part of this post I will show you that you need to fill that same file with a bunch of good stuff if you want to run a USB mic in WINE appz.</p>
<p>So for a lot of you that probably does it for USB mics and Ubuntu.</p>
<p>Now for the rest of you running games and appz in WINE the story is a little different.  This is where my struggles with learning how to get audio properly working in a linux environment when from taxing to hellish.  First a word of advice to all of you wanting to use TeamSpeak and ubuntu with a USB mic or headset &#8211; USE WINE and the Windows version.  don&#8217;t even bother with the linux version as you will have days and weeks of your life sucked away.  It just doesn&#8217;t work</p>
<p>For some reason, at least for me WINE and pulse do NOT mix very well when it comes to the input side of things.  So when I want to use an ingame chat or Teamspeak the first thing I need to do is to shut down Pulse and rely soley on ALSA.  Now this means that a lot of the nice convenient mixer stuff that pulse does needs to be done manually. I posted all this up in the<a href="http://forum.teamspeak.com/showthread.php?t=43236" target="_blank"> Teamspeak discussion forums</a> and but I&#8217;ll save you the trouble of going there and copy it here as well</p>
<p>Now from this point onwards I am going to assume you are using ALSA , if not then you have your own google adventure to go on.</p>
<p>So:</p>
<p>go into your home directory (cd ~) and create a file called &#8220;.asoundrc&#8221; minus the quotations of course with your favorite editor ( vi ./.asoundrc ) if it doesn&#8217;t exist already.. If it does you need to make a backup of it and clear it all to start fresh<br />
The .asoundrc file in your home directory acts as kind of a configuration file that is used to override default settings<br />
Our goal here is to make our default capture device our USB mic and NOT our sound card, this is accomplished by inserting the following text into the .asoundrc file:</p>
<pre>pcm.!default {
        type asym
        playback.pcm {
                type plug
                slave.pcm "hw:0,0"
        }
        capture.pcm {
                type plug
                slave.pcm "hw:1,0"
        }
}</pre>
<p>***Something to note: &#8220;hw:0,0&#8243; and &#8220;hw:2,0&#8243; are MY card locations for my soundblaster and my usb mic.  <strong>Yours might be different.</strong> ***</p>
<p>In order to find out what your desired output device is you type the following in terminal:</p>
<p><strong>&#8220;aplay -l&#8221;</strong> and you should receive and output something like this:</p>
<p>**** List of PLAYBACK Hardware Devices ****<br />
card 0: CA0106 [CA0106], device 0: ca0106 [CA0106]<br />
Subdevices: 1/1<br />
Subdevice #0: subdevice #0<br />
card 0: CA0106 [CA0106], device 1: ca0106 [CA0106]<br />
Subdevices: 1/1<br />
Subdevice #0: subdevice #0<br />
card 0: CA0106 [CA0106], device 2: ca0106 [CA0106]<br />
Subdevices: 1/1<br />
Subdevice #0: subdevice #0<br />
card 0: CA0106 [CA0106], device 3: ca0106 [CA0106]<br />
Subdevices: 1/1<br />
Subdevice #0: subdevice #0</p>
<p>Obviously My card is 0 as that is the only one that shows up, so I use <strong>&#8220;hw:0,0&#8243;</strong> you need to make extra sure what yours is and use that.</p>
<p>now to find my capture device I type:<br />
<strong>&#8220;arecord -l&#8221;</strong> and my output should be something like this:</p>
<p>**** List of CAPTURE Hardware Devices ****<br />
card 0: CA0106 [CA0106], device 0: ca0106 [CA0106]<br />
Subdevices: 1/1<br />
Subdevice #0: subdevice #0<br />
card 0: CA0106 [CA0106], device 1: ca0106 [CA0106]<br />
Subdevices: 1/1<br />
Subdevice #0: subdevice #0<br />
card 0: CA0106 [CA0106], device 2: ca0106 [CA0106]<br />
Subdevices: 1/1<br />
Subdevice #0: subdevice #0<br />
card 0: CA0106 [CA0106], device 3: ca0106 [CA0106]<br />
Subdevices: 1/1<br />
Subdevice #0: subdevice #0<br />
card 2: default [AK5370 ], device 0: USB Audio [USB Audio]<br />
Subdevices: 1/1<br />
Subdevice #0: subdevice #0</p>
<p>Now we already know that Card 0 is my soundblaster, which I don&#8217;t want to use, so we can rule that out.. The only other option(which is conveniently labeled USB Audio) is Card 2 so that means I used <strong>&#8220;hw:2,0&#8243;</strong> . <strong>Yours could be different</strong> so edit your .asoundrc file accodingly.</p>
<p>I quickly check to make sure WINE was seeing my usb mic by running the command <strong>&#8216;winecfg&#8217;</strong> and going into Audio and making sure that the <strong>ALSA WAVE IN</strong> device show up as <strong>USB Audio.</strong></p>
<p>I have Hardware Acceleration set to <strong>Emulation</strong> as well as <strong>Driver Emulation checked on</strong>, not sure if it matters but it is on for me and works.</p>
<p>So there you have it, easy peasy!  Well it is easy to do but figuring this out with next to no documentation on this specific subject was a bitch..Hope this helped <img src='http://blog.netflowdevelopments.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>After going through the same problem again and the above solution wasn&#8217;t working all that hot for whatever reason.</p>
<p>pcm.!default {<br />
type plug<br />
slave.pcm &#8220;combined&#8221;<br />
}</p>
<p>pcm.combined {<br />
type asym<br />
playback.pcm &#8220;playback&#8221;<br />
capture.pcm &#8220;hw:1,0&#8243;<br />
}</p>
<p>pcm.playback {<br />
type dmix<br />
ipc_key 1024<br />
slave {<br />
pcm &#8220;hw:1,0&#8243;<br />
period_time 0<br />
period_size 1024<br />
buffer_size 4096<br />
rate 44100<br />
}<br />
bindings {<br />
0 0<br />
1 1<br />
}<br />
}</p>
<p>ctl.dmixer {<br />
type hw<br />
card 1<br />
}</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.netflowdevelopments.com/2009/02/25/setting-up-a-usb-mic-to-work-with-ubuntu-and-specifically-teamspeak/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
