brummer10 / guitarix

guitarix virtual versatile amplification for Jack/Linux
254 stars 28 forks source link

Support sample rates above 96 kHz #4

Closed davidpanic closed 4 years ago

davidpanic commented 4 years ago

My audio interface natively supports 192 KHz playback, so I set jack to use that. Guitarix won't launch and this message is displayed:

image

This seems like an arbitrary software limitation that is completely pointless. Jack supports refresh rates above 96 KHz just fine.

davidpanic commented 4 years ago

Actually, yeah, it is completely arbitrary. https://github.com/brummer10/guitarix/blob/2addb8b8028486992b1ca93f4a6c000d39cb0911/trunk/src/gx_head/engine/gx_jack.cpp#L392-L397 Why would you do that????

brummer10 commented 4 years ago

Because we use iir filters which didn't work well with 192 KHz. Also the convolvers becomes trouble with higher sample rates then 96 kHz. You could try it out by comment out the part you mention.

davidpanic commented 4 years ago

I tried compiling this myself and I just got a lot of errors. (see image below) Guitarix attaches to jack just fine, and I can use the last preset that I used, but upon switching presets it crashes with a segmentation fault. The regular guitarix package works fine.

image

To compile I used this arch linux AUR repo. I just added the following prepare function and patch.

prepare() {
    cd "${pkgname%-*}"
    patch --forward --strip=1 --input="${srcdir}/sample_rate_unlock.patch"
}

https://gist.github.com/psrcek/e197017d68dd1f948b17f788c933ff23

brummer10 commented 4 years ago

Well, that's what I said. Sample rates above 96 kHz didn't been supported. Hence we put in the warning message, it isn't arbitrary. Internal guitarix use a fixed sample rate of 96 kHz for most of it filters/effects, supporting higher sample rates will require downsampling to match the filter coefficients.