Updates available now at
<http://kokkinizita.linuxaudio.org/linuxaudio/downloads>
zita-alsa-pcmi-0.2.0
* Now includes some dirty hacks (implemented via the debug
options parameter so they don't clutter the API) to support
the -L option of
zita-ajbridge-0.2.2
* Fixed the bug that made it fail with Jack period sizes
>= 1024 (filter coefficients going out of range).
* Added some hacks, activiated by the -L option, to make
it work with ALSA's loop devices.
The latter requires some clarification.
The two apps provided by zita-ajbridge were never intented to be
used with the ALSA loop devices. They were developed to provide
additional and full quality capture or playback channels to Jack,
using a real soundcard.
Yet most people trying the first release used them with the
loop devices, to provide a Jack interface to some misbehaving
apps such as flash player or skype. Using the loop device is
required since those apps refuse to work with ALSA's Jack
plugin. It's a dirty hack using an unwanted resampling step,
but it seems there is no working alternative.
The ALSA loop devices presents themselves as hw: devices, but
they don't behave like a real one:
* Timing of period wakeups is quantised to a much too high
value, and produces lots of jitter, worse than even the
most crappy USB interface. It also makes using the device
with small period sizes impossible, as wakeups occur when
it's almost too late. The next cycle will xrun in that case.
* The loop devices have 32 channels. They allow to be opened
with a different channel count at both ends, but then make
a mess of it. For example mplayer's two channels will be
spread out over the available 32, making it run at 16 times
normal speed.
To run zita-a2j or zita-j2a with the ALSA loop device:
* Use the -L option. This forces two things: the sample format
will be 16-bit, and the device is opened in 2-channel mode.
This makes it usable to apps at the other end which can't deal
with floats or more than 2 channels.
Note that just using -c 2 (which is also the default) still
opens the ALSA device with all its channels, as must be done
on a real hw: device, so that won't work.
* Use at least -p 256 -n 3, or -p 512 or higher (on the ALSA
device - Jack's parameters don't matter).
Ciao,
--
FA
A world of exhaustive, reliable metadata would be an utopia.
It's also a pipe-dream, founded on self-delusion, nerd hubris
and hysterically inflated market opportunities. (Cory Doctorow)
Hello,
Does anyone know what sort of timer is used by the ALSA
loop device, and if this can be changed in some way ?
On the system I'm working on now, wakeup times while waiting
for a period to be available (as done by Jack and zita-alsa-pcmi)
seem to be quantised in steps of 3.3ms or so. Which means it
sometimes wakes up 3/4 or more of a period too late. Next one
will be xrun in that case.
Ciao,
--
FA
A world of exhaustive, reliable metadata would be an utopia.
It's also a pipe-dream, founded on self-delusion, nerd hubris
and hysterically inflated market opportunities. (Cory Doctorow)
Hello all,
The first official release of zita-ajbridge is now available at
<http://kokkinizita.linuxaudio.org/linuxaudio/downloads>.
Quoting the README:
This package provides two applications, zita-a2j and zita-j2a.
They allow to use an ALSA device as a Jack client, to provide
additional capture (a2j) or playback (j2a) channels.
Functionally these are equivalent to the alsa_in and alsa_out
clients that come with Jack, but they provide much better audio
quality. The resampling ratio will typically be stable within
1 PPM and change only very smoothly. Delay will be stable as
well even under worse case conditions, e.g. the Jack client
running near the end of the cycle.
You will also need the latest zita-resampler and zita-alsa-pcmi
libraries.
All feedback welcome.
Ciao,
--
FA
Vor uns liegt ein weites Tal, die Sonne scheint - ein Glitzerstrahl.
On Mon, Mar 19, 2012 at 06:58:29PM +0100, Robin Gareus wrote:
> # mplayer -ao alsa,device=hw=1,0 some_music.wav
> # zita-a2j -dhw:1,1
>
> I get endless messages:
> Starting synchronisation.
> Detected excessive timing errors, waiting 15 seconds.
> This may happen with current Jack1 after freewheeling.
(meanwhile I'm back home, the loopback device is hw:3 here)
[terminal 1]
fons@zita1:/audio/audiofiles/tracks> mplayer -ao alsa:device=hw=3.1 diana-krall-almost-blue-44.wav
MPlayer SVN-r34426-4.6.2 (C) 2000-2011 MPlayer Team
181 audio & 384 video codecs
mplayer: could not connect to socket
mplayer: No such file or directory
Failed to open LIRC support. You will not be able to use your remote control.
Playing diana-krall-almost-blue-44.wav.
Audio only file format detected.
Load subtitles in ./
==========================================================================
Opening audio decoder: [pcm] Uncompressed PCM audio decoder
AUDIO: 44100 Hz, 2 ch, s16le, 1411.2 kbit/100.00% (ratio: 176400->176400)
Selected audio codec: [pcm] afm: pcm (Uncompressed PCM)
==========================================================================
AO: [alsa] 44100Hz 2ch s16le (2 bytes per sample)
Video: no video
Starting playback...
A: 4.0 (04.0) of 244.0 (04:04.0) 0.1%
...
[terminal 2]
fons@zita1:~> zita-a2j -d hw:3,0 -r 44100
Starting synchronisation
/me makes connections in qjackctl and hears lovely piano intro...
So this just works. I do indeed have to start mplayer first, but
only the first time. After that I can stop and restart mplayer
without problem. This is probably some quirk of the loopback
device. There is no such thing as 'requesting exclusive access'
in the ALSA pcm API - it depends only on the device.
> The message is repeated every ~15 sec; and it does not stop.
> Each time a message is printed there's a short very jittery sound (I can
> discern the music) but it remains silent for the remaining time.
The silence is intentional - the app waits for the dust to
settle down after it has detected 'impossible' timing info
from either Jack's DLL or from the one tracking the ALSA device.
There was a bug in the loopback device - it returned the wrong
type of event when using poll() in some cases. It's fixed in
1.0.24. That would certainly explain what you see.
> How do you conduct this test?
>
> I assume that there is no other ALSA-client involved and you use the
> loopback in float/32 mode, w/native samplerate.
Zita-a2j and j2a use libzita-alsa-pmci to access ALSA devices.
It uses exactly the same methods as Jack's backend - very early
versions (libclalsadrv 7 years ago) were in fact a C++ copy
of Jack's backend. That means that whatever works with Jack
will work with zita-a2j and j2a or any of my apps using ALSA.
AFAIK Jack doens't run well with dmix/dsnoop either. And anyway
there's no reason to use them with Jack.
To run the delay test (assuming hw:3 is the loopback device):
[Terminal 1]
zita-a2j -d hw:3,0
[Terminal 2]
zita-j2a -d hw:3,1
[Terminal 3]
jack_delay
and make the required connections.
The off-list reply was a typo - back on LAD now.
Ciao,
--
FA
A world of exhaustive, reliable metadata would be an utopia.
It's also a pipe-dream, founded on self-delusion, nerd hubris
and hysterically inflated market opportunities. (Cory Doctorow)
Hello all,
A bugfix update of zita-ajbridge is now available at the
usual place.
Thanks to Robin Gareus who discovered the bug: the typical
last-minute-after-testing-added-line-typo. In this case
it meant that both apps would use the lowest resampling
quality in all cases...
Ciao,
--
FA
A world of exhaustive, reliable metadata would be an utopia.
It's also a pipe-dream, founded on self-delusion, nerd hubris
and hysterically inflated market opportunities. (Cory Doctorow)
(apologies for cross posting)
The Hydrogen team is excited to announce the first 'Hyrdogen Spring Drum
Kit Contest' !
As you all know, a drum machine is only as good as the sounds it produces
-no matter how many whistles and bells it boasts.
Some time ago there was a small poll on the Hydrogen site asking the
Hydrogen users (aka 'you' ;-) what feature they wanted more than anything
else.
The answer was clear : "more and better drum kits".
The goal of this fun contest is simple : with your help we can expand
Hydrogen's sound library with some great new drum kits, and since this is a
contest there are some really neat prizes to win!
So if you have been playing with samples and thinking about creating a drum
kit, but then decided not to do so after all : now is the perfect time to
push yourself and go that extra mile. Once it's done you'll feel so much
better ;-) Or maybe you have already made a drum kit in the past but
didn't think it was worth submitting? Think again and share your hard work
with the rest of the world!
Curious ? Check out the details on the contest page
<http://hydrogen.popez.org/hcms/node/2035>
Hope to hear from you soon !
The Hydrogen team