[Jack-Devel] Is there a way to force Jack to use 32-bit audio?

classic Classic list List threaded Threaded
10 messages Options
Reply | Threaded
Open this post in threaded view
|

[Jack-Devel] Is there a way to force Jack to use 32-bit audio?

lowkeyoutlaw
Hello! I use Jack to multitrack out of Akai MPC software into my DAW
(Cakewalk). My audio interface supports 32-bit audio, and I use 32-bit audio
driver bit depth when not using Jack (such as recording vocals into a
finished instrumental in Cakewalk) so I know it works well.

The problem is, when I do use Jack to connect MPC to Cakewalk, in Cakewalk's
settings, the bit audio driver depth is stuck on 24 bit & greyed out so I
can't change it. I want to be able to record my MPC beats into Cakewalk at
32 bit. Some say it's overkill but it's impossible to make 32-bit clip &
distort & Cakewalk does all its internal work at 32 bit. In 24-bit Cakewalk
has to convert the audio to 32 bit first in real-time, which causes a
performance hit. My CPU usage is precious because I know I'll fill my
projects up with resource-hungry plug-ins. I really want to use 32 bit
pretty bad for those and a few other reasons.

Is there a way to force Jack to use 32-bit audio? Thanks for your time!





--
Sent from: http://jack-audio.10948.n7.nabble.com/Jackit-f3.html
_______________________________________________
Jack-Devel mailing list
[hidden email]
http://lists.jackaudio.org/listinfo.cgi/jack-devel-jackaudio.org
Reply | Threaded
Open this post in threaded view
|

Re: Is there a way to force Jack to use 32-bit audio?

Ralf Mardorf
On Sun, 22 Sep 2019 09:35:17 -0700 (MST), lowkeyoutlaw wrote:
>Is there a way to force Jack to use 32-bit audio?

On Linux 32-bit float is the default [1]. If it should be impossible to
get access via command line on another operating system, you likely have
access by a GUI, maybe qjackctl. Perhaps there's an advanced settings
tab were you could uncheck "force n bit", as there is for the Linux
version of qjackctl.

[1]$ man jackd | grep -e shorts -e bit-depth -A1
       -S, --shorts
              Try to configure card for 16-bit samples first, only trying 32-bits if unsuccessful.  Default is to prefer 32-bit samples.
--
       -b, --bit-depth int
              Sample bit-depth (0 for float, 8 for 8bit and 16 for 16bit) (default: 0)

--
pacman -Q linux{,-rt{-pussytoes,,-cornflower,-securityink}}|cut -d\  -f2
5.3.arch1-1
5.2.14_rt7-0
5.2.10_rt5-1
5.2_rt1-0
4.19.72_rt25-0
_______________________________________________
Jack-Devel mailing list
[hidden email]
http://lists.jackaudio.org/listinfo.cgi/jack-devel-jackaudio.org
Reply | Threaded
Open this post in threaded view
|

Re: Is there a way to force Jack to use 32-bit audio?

Kjetil Matheussen-2
On Sun, Sep 22, 2019 at 7:09 PM Ralf Mardorf <[hidden email]> wrote:

>
> On Sun, 22 Sep 2019 09:35:17 -0700 (MST), lowkeyoutlaw wrote:
> >Is there a way to force Jack to use 32-bit audio?
>
> On Linux 32-bit float is the default [1]. If it should be impossible to
> get access via command line on another operating system, you likely have
> access by a GUI, maybe qjackctl. Perhaps there's an advanced settings
> tab were you could uncheck "force n bit", as there is for the Linux
> version of qjackctl.
>
> [1]$ man jackd | grep -e shorts -e bit-depth -A1
>        -S, --shorts
>               Try to configure card for 16-bit samples first, only trying 32-bits if unsuccessful.  Default is to prefer 32-bit samples.
> --
>        -b, --bit-depth int
>               Sample bit-depth (0 for float, 8 for 8bit and 16 for 16bit) (default: 0)
>
> --
> pacman -Q linux{,-rt{-pussytoes,,-cornflower,-securityink}}|cut -d\  -f2
> 5.3.arch1-1
> 5.2.14_rt7-0
> 5.2.10_rt5-1
> 5.2_rt1-0
> 4.19.72_rt25-0

I'm not sure, but I think the problem is related to ASIO or the
Jack->ASIO bridge, not jack directly.

As I understood it, Cakewalk recorded in 24 bits? And you get audio
from jack through the Jack->ASIO bridge?
_______________________________________________
Jack-Devel mailing list
[hidden email]
http://lists.jackaudio.org/listinfo.cgi/jack-devel-jackaudio.org
Reply | Threaded
Open this post in threaded view
|

Re: Is there a way to force Jack to use 32-bit audio?

lowkeyoutlaw
Cakewalk can record in 16, 24 and 32 bit. Its internal audio processing
engine defaults to 32 bit - a separate setting than recording bit depth -
thus the real-time conversion CPU hit. I read that most modern DAWs process
audio at 32 bit internally nowadays. I know that Cakewalk, Mixbus and Reaper
do - not familiar with any others. Cakewalk does have another audio engine
setting which puts the engine in 64 bit, but I want it all the same if
possible.

My audio interface defaults to 32 bit. I want the interface, engine, and
recording all to be in 32 bit. There is a debate as to whether this is
overkill, but I have the HDD space, and I really dig the fact that it's
impossible to clip 32 bit, basically. What would be a ruined recording in 24
bit, I can just volume automate or compress. It sucks to lose a hot take due
to one loud rouge sound.

I am using the GUI "Jack Control" thingy. It makes routing a breeze. I see
no bit depth option anywhere. I was hoping there was a command-line option.
I'll keep fooling around with it, and if I find a solution, I'll post back
in case someone else has the same issue. More & more interfaces are doing 32
bit. I know the argument that the DACs are only around 24-bit spec usually
but again no CPU hit from real-time conversion.
Thank you for your time!



--
Sent from: http://jack-audio.10948.n7.nabble.com/Jackit-f3.html
_______________________________________________
Jack-Devel mailing list
[hidden email]
http://lists.jackaudio.org/listinfo.cgi/jack-devel-jackaudio.org
Reply | Threaded
Open this post in threaded view
|

Re: ?==?utf-8?q? Is there a way to force Jack to use 32-bit audio?

Ralf Mattes
 
Am Mittwoch, 25. September 2019 18:16 CEST, lowkeyoutlaw <[hidden email]> schrieb:
 
> Cakewalk can record in 16, 24 and 32 bit. Its internal audio processing
> engine defaults to 32 bit - a separate setting than recording bit depth -
> thus the real-time conversion CPU hit. I read that most modern DAWs process
> audio at 32 bit internally nowadays. I know that Cakewalk, Mixbus and Reaper
> do - not familiar with any others. Cakewalk does have another audio engine
> setting which puts the engine in 64 bit, but I want it all the same if
> possible.

I think you're getting something conpletely wrong here. Your interface will send
integer values to your computer - this is where the bit depth really matters since
a higher bit depth allows for more sloppy/careless input gain control (i.e. you can
record at a relatively low input gain and still get "enough bits" after normalizing
the signal).
 
> My audio interface defaults to 32 bit. I want the interface, engine, and
> recording all to be in 32 bit.

Your DAW (like any DAW currently on the market) internally stores/processes audio data
with 32bit _floating point_ values (which are totally different from integers). This prevents
both clipping and rounding errors during sound processing.

> There is a debate as to whether this is
> overkill, but I have the HDD space, and I really dig the fact that it's
> impossible to clip 32 bit, basically. What would be a ruined recording in 24
> bit, I can just volume automate or compress. It sucks to lose a hot take due
> to one loud rouge sound.

The 'overkill' argument you most likely encountered was most likely talking  about
the bit-depth of your output. Anything above 16 or maybe 24 bit _is_ overkill, unless you
produce for mebers of the  Elephantidae species ...  :-)

> I am using the GUI "Jack Control" thingy. It makes routing a breeze. I see
> no bit depth option anywhere. I was hoping there was a command-line option.
> I'll keep fooling around with it, and if I find a solution, I'll post back
> in case someone else has the same issue. More & more interfaces are doing 32
> bit. I know the argument that the DACs are only around 24-bit spec usually
> but again no CPU hit from real-time conversion.

What realtime conversion? Your DAW is converting integer samples to float, no matter
what you do.

 HTH, RalfD



_______________________________________________
Jack-Devel mailing list
[hidden email]
http://lists.jackaudio.org/listinfo.cgi/jack-devel-jackaudio.org
Reply | Threaded
Open this post in threaded view
|

Re: Is there a way to force Jack to use 32-bit audio?

Ralf Mardorf
In reply to this post by lowkeyoutlaw
On Wed, 25 Sep 2019 09:16:54 -0700 (MST), lowkeyoutlaw wrote:
>I really dig the fact that it's impossible to clip 32 bit, basically.
>What would be a ruined recording in 24 bit, I can just volume automate
>or compress. It sucks to lose a hot take due to one loud rouge sound.

You are a bit off track, 32-bit float doesn't help you, if you are
doing bad audio engineering. When recording the analog, as well as the
digital domain require sane headroom in the first place. It's "float"
that helps to prevent against clipping by your computer software's
processing, but A/D conversion is "integer". Even floating point is
tricky, the DAW might work with floating point, but a plugin used by
the DAW not necessarily preserves the floating point advantage.

--
“Awards are merely the badges of mediocrity.”

― Charles Ives
_______________________________________________
Jack-Devel mailing list
[hidden email]
http://lists.jackaudio.org/listinfo.cgi/jack-devel-jackaudio.org
Reply | Threaded
Open this post in threaded view
|

Re: Is there a way to force Jack to use 32-bit audio?

Fons Adriaensen-3
In reply to this post by lowkeyoutlaw
On Wed, Sep 25, 2019 at 09:16:54AM -0700, lowkeyoutlaw wrote:

> My audio interface defaults to 32 bit.

That doesn't mean you get 32 valid bits. Most probably you get 24 and
8 zeros, and if you really get 32 the lower 10 or so are completely
useless. You are confusing the format (a 32 bit integer) and the
actual content (most likely 24 bits).

> I want the interface, engine, and
> recording all to be in 32 bit. There is a debate as to whether this is
> overkill,

There is no debate about this, except maybe among the ignorant.

> but I have the HDD space, and I really dig the fact that it's
> impossible to clip 32 bit,

It is perfectly possible to make a 32 bit converter clip. It will
do so at exactly the same gain settings as a 24 or 16 bit interface.

> basically. What would be a ruined recording in 24
> bit,

would at the same gain setting also be ruined when using 32 bits.
Just leave enough headroom by using conservative levels. This will
NOT affect your  S/N ratio which is entirely determined by the
analog circuits if you convert to 24 (or even 16) bits.

> I can just volume automate or compress. It sucks to lose a hot take due
> to one loud rouge sound.

You can do exactly the same with 24 bits.

> but again no CPU hit from real-time conversion.

There is no such CPU hit.

Advice: stop believing everything you read on the web.

Ciao,

--
FA

_______________________________________________
Jack-Devel mailing list
[hidden email]
http://lists.jackaudio.org/listinfo.cgi/jack-devel-jackaudio.org
Reply | Threaded
Open this post in threaded view
|

Re: Is there a way to force Jack to use 32-bit audio?

Kjetil Matheussen-2
In reply to this post by lowkeyoutlaw
On Wed, Sep 25, 2019 at 6:12 PM lowkeyoutlaw <[hidden email]> wrote:
>
> Cakewalk can record in 16, 24 and 32 bit. Its internal audio processing
> engine defaults to 32 bit - a separate setting than recording bit depth -

I don't think this problem is jack-related. You record from the
jack->ASIO bridge right?
_______________________________________________
Jack-Devel mailing list
[hidden email]
http://lists.jackaudio.org/listinfo.cgi/jack-devel-jackaudio.org
Reply | Threaded
Open this post in threaded view
|

Re: Is there a way to force Jack to use 32-bit audio?

Chris Caudle
In reply to this post by lowkeyoutlaw
On Wed, September 25, 2019 11:16 am, lowkeyoutlaw wrote:
> Cakewalk can record in 16, 24 and 32 bit.

That may not be a direct comparison, many programs which record in 32 bit
actually record 32 bit floating point, which at the point of conversion is
the same as 24 bit integer.  Could possibly be 32 bit integer, but that
would be rare.

The online documentation for Cakewalk still has this note:
"The choices for the recording bit depth setting are 16, 24, 32, and 64.
At present, no devices can record at 32-bit or 64-bit resolution, so you
don’t need to choose these options yet."

> My audio interface defaults to 32 bit.

What interface do you have which delivers audio as 32 bits? Which driver
interfaces are supported?  I found a copy of the ASIO 2.2 specification,
that only supports up to 24 bit sample values, although those can be
stored in 32 bit words (only 24 bits of sample data, just longer word
length for easier handling on most archictectures), or 32 bit float.

Most DAW software will convert 24 bit integer values coming in and save as
a 32 bit float file  (which is just equivalent to  24 bit values, plus an
exponent so that large gain ranges can be handled).  I would be surprised
if any hardware natively provided 32 bit float values, but I guess it is
possible.
I also saw a reference to an ASIO driver which did provide 32 bit integer
data, but I have reason to doubt that is the case.

--
Chris Caudle


_______________________________________________
Jack-Devel mailing list
[hidden email]
http://lists.jackaudio.org/listinfo.cgi/jack-devel-jackaudio.org
Reply | Threaded
Open this post in threaded view
|

Re: Is there a way to force Jack to use 32-bit audio?

John Rigg
On Wed, Sep 25, 2019 at 02:03:15PM -0500, Chris Caudle wrote:
> I would be surprised if any hardware natively provided 32 bit float
> values

Some of the RME HDSPe cards have onboard 24-bit int to 32-bit float
conversion (but I don't think that's what the OP is talking about).

John
_______________________________________________
Jack-Devel mailing list
[hidden email]
http://lists.jackaudio.org/listinfo.cgi/jack-devel-jackaudio.org