Camomile icon indicating copy to clipboard operation
Camomile copied to clipboard

Feature suggestion: Support for 64 bit floating point audio processing

Open aviloff opened this issue 4 years ago • 4 comments

64 bit floating point audio is becoming increasingly important to recreate analog audio. Currently Camomile reduces sample bit depth to 32 bit floating point. Is this a Camomile or PureData issue? Will 64 bit audio functionality become available?

macOS 10.15.7 Reaper 6.21 Camomile 1.0.8 beta4 Pd 0.51.4

aviloff avatar Feb 19 '21 18:02 aviloff

This should be related to https://github.com/libpd/libpd/issues/276.

pierreguillot avatar Feb 19 '21 19:02 pierreguillot

On the JUCE side, the plugin has to implement the method AudioProcessor::supportsDoublePrecisionProcessing() that should return true and then implement the double version of AudioProcessor::processBlock().

On the pd/libpd side, the definition PD_FLOATSIZE should be set to 64. It means that Pd can only perform 32-bit float precision or 64-bit float precision, not both with the same binary. So we would have a Camomile-32-bit-float-precision and a Camomile-64-bit-float-precision.

In theory, that should not be too complicated to do. I'm just not very confident in the 64-bit precision support of Pd but we could mark this version as "unstable" or "being tested" until we find all the potential issues.

pierreguillot avatar Feb 24 '21 08:02 pierreguillot

Thanks for looking into the matter, Pierre!

I think that with 64 bit audio support not only will Camomile bring freedom to music creators in terms of functionality, but also provide the highest quality audio and more accurate sound/data analysis. A branch/build, even though unstable at first would be a great step. I could make basic test plugins for this version.

aviloff avatar Feb 24 '21 22:02 aviloff

https://github.com/libpd/libpd/issues/310 is merged, so please test. Also, see the libpd feature/multi-hooks branch for multiple instance & duoble-precision. :)

danomatika avatar Apr 19 '22 23:04 danomatika