ESI juli@ - JACK and confusion

Hi there folks;

I just grabbed a new ESI juli@, the card works fine with pulseaudio, I set up JACK to work with it but the best latency I get is 10.7 ms at 96khz and even that doesn’t seem stable (a few xruns). Everything is set up well for a working rt setup (limits.conf rt priority at 99 nice -10). I don’t use the realtime kernel since it has many bugs, I use the generic kernel. Here is my jack setup:

priority: 89
frames: 512
periods: 2
latency: 10.7

I noticed something odd in the messages window:

23:16:25.210 Patchbay activated.
23:16:25.213 Statistics reset.
23:16:25.251 Startup script…
23:16:25.252 artsshell -q terminate
23:16:25.323 ALSA connection graph change.
sh: artsshell: not found
23:16:25.654 Startup script terminated with exit status=32512.
23:16:25.654 JACK is starting…
23:16:25.654 /usr/bin/jackd -R -P89 -t2000 -u -dalsa -r96000 -p512 -n2 -D -Chw:0 -Phw:0 -Xseq
23:16:25.657 JACK was started with PID=4626.
no message buffer overruns
jackd 0.116.1
Copyright 2001-2005 Paul Davis and others.
jackd comes with ABSOLUTELY NO WARRANTY
This is free software, and you are welcome to redistribute it
under certain conditions; see the file COPYING for details
JACK compiled with System V SHM support.
23:16:25.856 ALSA active patchbay scan…
23:16:25.857 ALSA connection change.
loading driver …
Enhanced3DNow! detected
SSE2 detected
apparent rate = 96000
creating alsa driver … hw:0|hw:0|512|2|96000|0|0|nomon|swmeter|-|32bit
control device hw:0
23:16:26.057 ALSA active patchbay scan…
configuring for 96000Hz, period = 512 frames (5.3 ms), buffer = 2 periods
ALSA: final selected sample format for capture: 32bit integer little-endian
ALSA: use 2 periods for capture
ALSA: final selected sample format for playback: 32bit integer little-endian
ALSA: use 2 periods for playback
23:16:26.225 ALSA connection graph change.
23:16:26.258 ALSA active patchbay scan…
23:16:26.875 Server configuration saved to “/home/baris/.jackdrc”.
23:16:26.880 Statistics reset.
23:16:27.221 Client activated.
23:16:27.222 JACK connection change.
23:16:27.224 JACK connection graph change.
Enhanced3DNow! detected
SSE2 detected
23:16:27.423 JACK active patchbay scan…

First it says I get 5.3 ms not 10.7, how is that possible? I also see 5.3 ms latency when working with ardour. Can the latencies be different?

Second it says audio bit depth is 32 bit little endian, but the juli@ is 24 bit. So the cpu goes crazy to change the format from 24bit to 32 then send it to the card at 24bit and cpu usage goes up to %60 when only listening to a simple ogg file. Please give me advice to correctly configure the card. Thank you.

There’s no problem in running a 32bit OS on a 64bit CPU. The main thing about running in 32bit that if you have 4GB RAM or more it takes some kernel trickery to be able to access the extra RAM.

Also, is it necessary for you to run at 96kHz? I guess if you lower it to 88.2 or 48 you could probably lower the latency, but note that really low latency only matters if you are using softsynths and/or software monitoring.

Ok thanks for the suggestions, I currently use ubuntu 9.04 jaunty jackalope and I cant install AV linux 2 because its only 32 bit and my system is 64 bit. Jaunty uses the 2.6.28 kernel so I think its an issue with the rt patch against that kernel. So I will wait till the release of 9.10 which will ship with 2.6.31 kernel and hope anything changes with that. Till that day I will use the system with 10.7 ms latency 96k since it is fairly usable. Thanks guys have a nice jack stability…:slight_smile:

  1. forget “nice” levels when discussing realtime scheduling. It has no relevance whatsoever

  2. ardour reports input latency, which with the typical ASIO/2-buffer-style configuration is half the output latency. qjackctl reports output latency.

  3. most devices that sample at 24 bits actually supply audio data to the computer as a 32 bit integer, because no standard computer processes 3 byte (24 bit) integers). the data hasn’t changed - there are just 8 zero bits. conversion between 24 and 32 bit format occurs in the ESI, not the CPU.

  4. JACK in turn converts into floating point format. the CPU cycles to do this are trivial, especially with just a few channels.

  5. you didn’t say how you played the ogg file. there are applications that you could be using whose resampling code (since the file is probably not a native 96kHz recording) can use that much CPU power all by itself. try running at the same sample rate as the ogg file, and see what happens.

Hey thanks for the reply. Yes I think I don’t have enough knowledge about how JACK works and thank you for enlightening me.
What makes me most confused here is the latency and xruns I had with my usb 1.1 device when I was using it back then. In jack messages I could see the final selected format was 24 bit. I could use the usb device at 7-8 ms latency with much less xruns and I didn’t have the cpu usage when the card was idle. Yes I can see about %40 cpu usage with the juli@ even I don’t do anything with the card! I see this figure in system monitor applet as a backend process (as a shadow). jack doesn’t cause this because the process of jack uses %0 when idle. Something is very wrong here! Thinking of usb 1.1 and pci this shouldn’t be the case. Any ideas on what’s the problem? Thank you so much.

Use top and find out what process in particular is taking up so much CPU.

Also you aren’t using the exact same settings from your USB device for your ESI are you? USB devices tend to like to run at 3 periods per buffer while it is likely your ESI will want just 2.

And while a rt kernel is not needed for most people these days, for VERY low latency work, you probably would be better off with it. I don’t know what stability issues you are having with it though.

  Seablade

top shows idle cpu usage about %65 and hi about %35 but shows no process as the cpu eater.
Jack with Juli@ is set to 2 periods 512 frames 96khz
rt kernel sucks and is out of consideration. aaah those were the days with 8.04 ubuntu studio with Igno Molnar’s perfect rt patch!
Any more suggestions? Thanks.

Hi, I’m a new jack and ardour user and been trying to run jack with no success, the firt time I opened it, it worked perfectly, but then I configure all the conections and patchbay and now I’m trying to open it again and it gives me the following error:

13:04:56.045 artsshell -q terminate
sh: artsshell: not found
13:04:56.449 Startup script terminated with exit status=32512.
13:04:56.449 JACK is starting…
13:04:56.450 jackstart -R -m -dalsa -dhw:0 -r44100 -p1024 -n3 -m
13:04:56.483 Could not start JACK. Sorry.
13:05:00.260 JACK was stopped with exit status=255.
13:05:00.261 Post-shutdown script…
13:05:00.261 killall jackd
jackd: nessun processo terminato
13:05:00.670 Post-shutdown script terminated with exit status=256.
13:05:16.721 Startup script…
13:05:16.722 artsshell -q terminate
sh: artsshell: not found
13:05:17.124 Startup script terminated with exit status=32512.
13:05:17.125 JACK is starting…
13:05:17.125 /usr/bin/jackd -R -m -dalsa -dhw:0 -r44100 -p1024 -n3 -m
13:05:17.147 JACK was started with PID=12616.
no message buffer overruns
jackd 0.116.1
Copyright 2001-2005 Paul Davis and others.
jackd comes with ABSOLUTELY NO WARRANTY
This is free software, and you are welcome to redistribute it
under certain conditions; see the file COPYING for details
JACK compiled with System V SHM support.
cannot use real-time scheduling (FIFO at priority 10) [for thread -2021337360, from thread -2021337360] (1: Operation not permitted)
cannot create engine
13:05:17.203 JACK was stopped successfully.
13:05:17.204 Post-shutdown script…
13:05:17.204 killall jackd
jackd: nessun processo terminato
13:05:17.612 Post-shutdown script terminated with exit status=256.
13:05:19.354 Could not connect to JACK server as client. - Overall operation failed. - Unable to connect to server. Please check the messages window for more info.

is anybody able to help me? thanks in advanced!

AVLinux

http://www.bandshed.net/AVLinux.html

Sorry I can’t really comment on what is happening, other than you might want to look at the RT patch against the 2.6.26 and 2.6.29 kernels. There should be no reason that you have stability issues on those kernels due to the patch, unles you run closed source drivers possibly. I unfortunately don’t have much of an idea beyond that.

  Seablade

Hi again sorry for pushing this but, is there anyone who can help me with the above problem? perhaps beowulf, I know he has this card. beowulf are you there or anyone else else else…