When using the fout option for real-time audio file output something like the following writes a 32 bit wav file:
fout "/sdcard/fileout.wav",16,allL,allR
Kind of deceiving as intuitively one might expect 16 indicates 16 bits but in reality 1 is wav format and 6 represents 32 bit float. But it does seem reasonably well documented in the manual, mentioning 32 bit int, float, 64 bit and other formats in some detail.
However in regards to the <CsOptions> command line flags, there is no mention in the manual of 32 bit, 64 bit etc. Not that I personally have a need for 64 bit file output but is seems odd these options only appear obviously available for real-time rendering but not offline: generally one might expect the opposite (less powerful devices not capable of processing higher bit/sample rates in real-time can therefore render offline).
For <CsOptions> (command line) flags the manual does show:
-3, --format=24bit.
It also mentions --format=type:format and there is a brief description.
Knowing there is really no such thing as 24 bit float (it's fixed point) after a little experimentation, and having Csound crash numerous times in the process, I found:
-o/sdcard/fileout.wav -3 --format=wav:float
will give a 32 bit float output.
Granted some may scoff at the concept (24 vs 32 bit float), being able to output 32 bit float makes life easier for me in post-processing. I just find it a little odd that the fout descriptions seem reasonably clear but the manual explanations of <CsOptions> command line flags concerning file output seem a little confusing/convoluted and less descriptive than those for fout, probably more so to some who may be less familiar with audio file formats, not that I'm that knowledgeable.
Is this something that could possibly be revised in the future?
Csound mailing list
Csound@listserv.heanet.ie
https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
Send bugs reports to
Issues · csound/csound · GitHub
Discussions of bugs and features can be posted here