ENOB (effective number of bits) test source using Faust and lv2
Please read and understand exactly the purpose of ANSI C code at 1:p.22.
This audio signal source emits unity single sine tone (and maybe extra sideway tiny 'noise-randomizing' 2nd sine tone), quantized with required number of bits. Note that to take advantage of lower than ~25 bit (float) noise, it is need:
- To compile using double precision, see Usage;
- It is impossible with JACK directly, because JACK uses float samples. But we will provide extra "residue bits" output for synthetic tests, if your system able to sum two JACK samples flow with at least double precision.
The purpose of this test source is to be companion for high resolution Spectrum Analyzer, like our jasmine-sa, for Effective number of bits (ENOB) tests, by comparsion two noise floors with SA:
- one of from DUT (device under test, like DAC+ADC),
- and another one (or several) from this source(s) with variable ENOB.
We get then well reproduceable ENOB measurements.
To be continued
- There is no output CV port for lv2 plugins (i.e.,
faust2lv2) support currently. One need to manually update generated.ttlfile. See grame-cncm/faust#1140 - There is no input integer sliders support currently. Again, one need to manually update generated
.ttlfile after compile.
I was told on chat that refactoring of Faust is planned, so we may obtain integers soon, so i am do not report this issue currently. - Port naming is not work (for
faust2lv2, at least) or i can't figure out how to do that. So all our ports are namedoutX, include these we namedBits Check,Quant dB, until one rename it at.ttlfile manually. See this issue.