[alsa-devel] Clicking issues with the output of an Onyx Blackbird

Takashi Sakamoto o-takashi at sakamocchi.jp
Thu Oct 13 01:17:11 CEST 2016


Hi,
(CCed to alsa-devel)

I'm an ALSA developer currently commits to drivers for Audio and Music
units on IEEE 1394 bus.

On Oct 13 2016 04:15, Jordi Torres wrote:
> I have an Onyx Blackbird that uses a firewire DICE II chip. This
> device works correctly using a Power Mac G5 with Mac OS X 10.5 but
> using another computer with linux, all works but there is a clicking
> issue in the output of the device.
> 
> I tested the input and works correctly without the clicking. I tried
> use the alsa stack without jackd and it has the same issue. I tried vary
> a lot of configurations and I found that clicking sound varies when
> the sample rate is different
> 
> ffado-diag: http://pastebin.com/u7g93GqD
> ffado-test Discover: http://pastebin.com/qBMQwWMq
> 
> I provide samples of the clicking sound in the next file:
> https://drive.google.com/file/d/0Bz44Dr5G2FeJOEdCT21sLUFFWlU/view?usp=sharing
> These samples are Audacity projects where 1st track is the original
> sound and 2nd track is the Blackbird ouput sound that was recorded in
> a Focusrite Saffire PRO I/O 10 using input line
> The spectrum shows regular patterns that could be useful to the issue
> 
> If anyone needs more info, please don't hesitate to ask

Current ALSA dice driver has an issue of packet timestamping, which
causes periodical noises. This issue comes from quirks of packet
sequence to/from Dice chipset. In detail, see:

[alsa-devel] Dice packet sequence quirk and ALSA firewire stack in Linux 4.6
http://mailman.alsa-project.org/pipermail/alsa-devel/2016-May/107715.html

I know this issue is potentially in current FFADO implementation, too.

Well, could I request you to gather information of packet sequence? In
Linux 4.7, ALSA firewire stack get tracepoints. Via the tracepoints, we
can gather enough information to diagnose the sequence from user space.

To gather the information, please use trace-cmd (or perf) command, like:
$ sudo trace-cmd list | grep fire
snd_firewire_lib:in_packet
snd_firewire_lib:out_packet
$ sudo trace-cmd record -e snd_firewire_lib:in_packet -e
snd_firewire_lib:out_packet

Then execute ALSA applications. When terminate trace-cmd, you can get
trace.dat in your current working directory. Please send it to me via
some better ways (it may be too big to attach e-mail).

When read the content of data, run:
$ trace-cmd report trace.dat

In detail, read:
http://git.kernel.org/cgit/linux/kernel/git/tiwai/sound.git/commit/sound/firewire/amdtp-stream-trace.h?id=0c95c1d6197f3edd3f6ef76f927d67e8ec0794ed


Regards

Takashi Sakamoto


More information about the Alsa-devel mailing list