Re: Ticks when playing to USB DAC at high sample rates

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu 25 October 2012 19:10:45 Daniel Mack wrote:
> On 25.10.2012 17:18, Jeffrey Barish wrote:
> > I found something in the snd_usb_audio code (in endpoint.c) that could
> > explain one of the problems I have observed (the ticks). I would
> > normally test my theory by modifying the code. In this case, I would
> > like to stick in a print statement to see what values are being assigned
> > to certain variables. Unfortunately, I am too ignorant to do something
> > even this trivial as I have never worked on kernel code. I think I am
> > supposed to use printk,
> 
> printk is nice for simple debugging, yes. But note that this call is
> timing critical and should not be used in "fast path" code. Introducing
> a printk for each received packet for example will almost certainly make
> the driver behave quite differently.
> 
> > but beyond that I am lost. Can someone provide
> > me with some directions? I need to know how to make the driver. To that
> > end, I probably will have to install additional packages. After making
> > the driver, I need to know how to install it over the existing driver.
> 
> Here's one way to do it:
> 
> 1. git clone
> git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound.git (your
> patch should apply on top of this tree eventually)
> 2. cd sound
> 3. zcat /proc/config.gz >.config
> 4. build and install the kernel image. How that is done depends on the
> distribution you're using. For Ubuntu follow the docs at [1] (start at
> point #5). For Fedora and others, something like "make && make install"
> should do
> 5. reboot and check that the new kernel is running
> 6. hack on sound/usb
> 7. make M=sound/usb
> 8. reload the module with "sudo rmmod snd_usb_audio; sudo insmod
> sound/usb/snd-usb-audio.ko" (better plug out the device before so you
> always have the same defined point of start)
> 
> 
> Hope that works for you.
> 
> 
> Daniel
> 
> [1] https://wiki.ubuntu.com/KernelTeam/GitKernelBuild

Your directions were almost perfect, so even I was able to build the kernel.  
I made a discovery using the new kernel that might help someone more familiar 
with the code than I am to localize the problem.  I am still hearing the blip 
when I play audio sampled at 88.2 kHz, but I just noticed that the blip is 
perfectly periodic, with a period of about 16.4 seconds.  I am playing a sine 
wave synthesized using GStreamer using the following command:

gst-launch audiotestsrc volume=0.01 ! audio/x-raw-float, width=64, rate=88200, 
channels=2, endianness=1234 ! audioconvert ! alsasink

A sine wave makes it easier to hear the blip.  Does this clue suggest 
anything?

I also want to mention that when I use the new kernel, I do not get the ticks 
at either 88.2 or 96 kHz even when I do not use the external USB hub.  I plan 
next to back up to the 3.6.2 kernel to see whether I still get ticks there.
-- 
Jeffrey Barish	

------------------------------------------------------------------------------
WINDOWS 8 is here. 
Millions of people.  Your app in 30 days.
Visit The Windows 8 Center at Sourceforge for all your go to resources.
http://windows8center.sourceforge.net/
join-generation-app-and-make-money-coding-fast/
_______________________________________________
Alsa-user mailing list
Alsa-user@xxxxxxxxxxxxxxxxxxxxx
https://lists.sourceforge.net/lists/listinfo/alsa-user


[Index of Archives]     [ALSA Devel]     [Linux Audio Users]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [Yosemite Photos]     [KDE Users]     [Fedora Tools]

  Powered by Linux