Open crocket opened 5 years ago
it does not need to be, documentation is wrong.
@falkTX What about settings for USB soundcards? Does X-Fi HD have no problem with 2 periods per buffer? If -r
is 48000, does -p
need to be a multiple of 48 when -n
is 2? I read that USB devices like multiples of 1ms for either period size or buffer size.
it does not need to be, documentation is wrong.
Should we change the man page then? Just removing the This value must be a power of 2
, or relaxing it to something along You are encouraged to use a power of 2 for this value but it should work with any other value
?
https://wiki.linuxaudio.org/wiki/list_of_jack_frame_period_settings_ideal_for_usb_interface
NOTE: quite a few pieces of software and plug-ins expect frames that are a power of 2 (like guitarix). You might get weird errors when using frame numbers that are not a power of 2 or the plug-in/software may not even start at all.
https://linuxmusicians.com/viewtopic.php?t=10707
A small caveat when using Guitarix
Many of the effects and amp simulators in Guitarix depend on a library which expects your frames/period to be a power of two (16, 32, 64, 128, etc), and large parts of Guitarix fail to work properly if this is not the case. This can easily be resolved by choosing periods=3, which enables most of the “conventional” 2^n frames/period values. In fact, if you choose periods=2, it will be impossible to get Guitarix to work properly while also having a latency which is an integral number of ms.
Some softwares have problems with period sizes that are not powers of two. However, I've worked with such period sizes as 48, 64, 80, 96, 160, and 192 without problems.
According to alsa backend section of
man jackd
, frames per period must be a power of two.According to my direct experience, it doesn't need to be.
The following setup seems to work just fine with
CONFIG_PREEMPT_RT_FULL
.It even withstands
nice -n 19 stress-ng --iomix 8 --ionice-class idle --cpu 8 -t 5m
without xruns.On Raspberry Pi 3 B+
On my desktop computer