Here is a version of extract_loudness that is almost a 1:1 copy of the fixed version of the magenta/ddsp compute_loudness. The changes are mostly:
take mean in amplitude scale, then convert back to db
do everything in PyTorch instead of librosa/numpy, thereby making it differentiable
In contrast to magenta/ddsp, this version does not have dynamic range and ref_db, but I don't understand the concepts behind those and doubt that they are necessary.
There seem to be small numerical errors that prevent the curve from being 100% smooth, but this is something one can live with I hope:
Here is a version of
extract_loudness
that is almost a 1:1 copy of the fixed version of the magenta/ddspcompute_loudness
. The changes are mostly: