Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions documentation/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
* New: A note reports when the samples of a multi-sample sound away from the root keys they are mapped to - e.g. an octave, because the instrument was transposed when it was recorded - and the Transpose processing option set to 'Auto' (`-Zpa` on the command line) moves the root notes of each multi-sample onto its measured pitch. Only the root notes are moved, the audio and the key ranges stay as they are.
* Fixed: Reducing the sample frequency with the processing options clipped samples which peak close to full scale. Such a sample is now lowered to fit and its zone plays it louder by the same amount.
* Fixed: The note about loops which click reported loops with a cross-fade of less than 1% of the loop, while 'Snap loops which click' leaves every loop with a cross-fade alone, since the cross-fade already smooths the wrap. The note then named loops which the option had skipped - '0 adjusted' - and recommended the option, and 'Only loops which click' replaced the cross-fade of these loops with its own. A loop with a cross-fade is now never reported, whatever its length, and when the loops were snapped, the note says that the loops it names still click instead of recommending the option. The 16 loops which were reported in 9 of the 32 presets of Michael Oakley's TAL-Sampler pack - e.g. in 'John Hughes Movies' with a step of 82% of the level - have cross-fades of 0.5% to 0.9% of the loop, 20 to 60 ms, through which they wrap without a click. The converted audio and loops do not change, and 'Only loops which click' keeps the cross-fades of the source.
* Fixed: The note about loops which click reported many loops of 24 and 32 bit samples which do not click, and the loop cross-fade for the loops which click was set on them. A jump at the loop point counts as a click when it is many times the normal movement of the waveform around it, but that movement was computed with integers, which overflow for loud 24 and 32 bit audio, and turned negative: every jump above 2% of the level counted. After snapping, the 834 TAL-Sampler presets on the test machine, whose samples are mostly 32 bit, now report 124 instead of 456 loops - nearly the 123 loops which they report when their samples are reduced to 16 bit, where the overflow cannot happen - and 117 instead of 449 loops get the cross-fade.
* discoDSP Bliss
* New: Added support for reading/writing version 3.8 - 3.20 features (round-robin, one-shot). Writing now always uses version 3.20.
* Fixed: Read version is now output in decimal not hexadecimal.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -254,7 +254,9 @@ private static double measure (final int [] signal, final ISampleLoop loop, fina
final int medianStep = steps[steps.length / 2];

final int step = LoopZeroSnapper.discontinuity (signal, start, end);
final double movementPerReferenceFrame = medianStep * sampleRate / REFERENCE_SAMPLE_RATE;
// In floating point: the product of the two integers exceeds the integer range for 24 and
// 32 bit audio, e.g. a median step of 74,000 at 48 kHz
final double movementPerReferenceFrame = (double) medianStep * sampleRate / REFERENCE_SAMPLE_RATE;
if (step > MINIMUM_STEP_RATIO * (movementPerReferenceFrame + 1.0) && step > MINIMUM_RELATIVE_STEP * peak)
return 100.0 * step / peak;
return 0;
Expand Down