Confusions about JACK sample rate with Ardour (Revisited)

I have essentially same questions as discussed in a thread long long time ago. But I thought I would revisit it because (a) there have since been many updates in JACK and Ardour, (b) even though it is technically a problem for qjackctl not Ardour, I can’t find any forum to post for problems with qjackctl… Let me know if there is one, apologies.

I am trying to change project sample rate to 44.1kHz to mix/master project, however even when I change SR in qjackctl “Parameters” tab to 44100, Ardour is creating sessions at 48k, so I’m guessing qjackctl is not actually doing what I tell it. Why is this, and how can I force qjackctl to set to 44.1kHz?

In earlier thread (link above) @paul said:

switch the device name from hw:0 to plughw:0. this will force ALSA (the device driver layer) to resample, and will allow you to request (and get) 44.1kHz for JACK operation.

However there is no such device options for either Input or Output Device shown for me (see screenshots below), and even when I manually type in “plughw:0” it doesn’t work (Ardour still creates session at 48k).

INPUT DEVICES - SS - Input

OUTPUT DEVICES - Screenshot_2023-05-12_19-21-22

So how can I force qjackctl to create 44.1kHz server, so that Ardour will in turn create sessions with that SR? I am using Ardour 7.4.0 on AVL-MXE 21, with qjackctl 0.9.6 and ALSA k6.2.12-3-liquorix-amd64.

Have you confirmed that your hardware actually supports 44.1k sample rate?
When qjackctl starts jackd server it will capture the output messages and make them available in the messages window.
Look there for the messages indicating the requested startup parameters, and the actual settings detected after start. Perhaps 44.1k was requested, but the hardware used 48k because that is the only rate supported.

Hm, I think something like that is happening exactly, see bold text below.

Acquire audio card Audio0
creating alsa driver … hw:PCH|hw:PCH|2048|3|44100|0|0|nomon|swmeter|-|32bit
configuring for 44100Hz, period = 2048 frames (46.4 ms), buffer = 3 periods
ALSA: final selected sample format for capture: 32bit integer little-endian
ALSA: use 3 periods for capture
ALSA: final selected sample format for playback: 32bit integer little-endian
ALSA: use 3 periods for playback
playback and capture sample rates do not match (48000 vs. 44100)
13:49:45.953 JACK connection change.
13:49:45.954 Server configuration saved to “/home/babygrrrl/.jackdrc”.

This is strange as there is only one option in qjackctl for sample rate, no separate “playback” and “capture” SR option AFAIK. Also, I am not using any external hardware audio interface, only my computer’s internal soundcard. Could it be that even that will not support 44.1kHz sample rate? (inxi -A says it is Intel Sunrise Point-LP HD Audio…)

Reddit - Dive into anything from 3 years suggests that OSX also don’t seem to be able to use 44.1kHz with that card.
So it’s quite possible that it only does 48kHz.

The sample rate mismatch warning you get is probably from the card telling Jack that it can only do 48kHz on playback and you telling it to do 44.1 on capture.

If you can’t get another card you may have to run the session at 48kHz and import/resample the audio files to that frequency.

I have seen reported before for audio interfaces built into the chipset that only 48kHz worked.
I looked through entries in /sys to see if there was an easy to find file which could be read to indicate the sample rates that the device reported as supported to select, but I could not find that.

Try:

cat /proc/asound/card0/stream0
1 Like

This is likely a HDA Intel sound-card. Most of those do only support 48kHz as sample-rate.

jackd silently falls back to the closes sample-rate. This has bitten many JACK users in the past. Ask JACK to start at 44.1kHz, the soundcard does not support it, so jackd silently falls back to the closest available but does not report that to jack clients.