Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Bug: *transientslice do not give the same results across OSes #289

Open
tremblap opened this issue Dec 18, 2024 · 4 comments
Open

Bug: *transientslice do not give the same results across OSes #289

tremblap opened this issue Dec 18, 2024 · 4 comments
Labels
bug Something isn't working

Comments

@tremblap
Copy link
Member

tremblap commented Dec 18, 2024

Please tell us what you were doing! You can include code and files by drag and dropping them into the text area.

I am running a simple transient extraction. In MacOS, Max, Pd and SC give the same values. In Windows, again the same values between CCEs... but not between OSes! In Linux (arm) again another set of values.

What was the expected result?

Since I cannot see any random seed in the extraction code (the randomSampling function seems not in use), and that I get the save values between CCEs within an OS, I was expecting the same values between OSes.

What was the actual result?

different slices points after the first few ones. the first 2 or 3 indices are the same, then they diverge.

What operating system were you using?

Mac

Operating system version

macos 15 Ubuntu 24lts win11

FluCoMa Version

pre-release 1.0.8

@tremblap tremblap added the bug Something isn't working label Dec 18, 2024
@tremblap
Copy link
Member Author

example code in SC for readability:

(
~refBasic = [146, 19189, 34710, 47225, 49466, 58303, 68190, 86944, 105695, 106754, 117448, 122139, 139530, 150492, 152884, 161525, 167575, 186297, 223797, 250361, 256305, 280173, 306507, 310674, 312509, 319116, 327659, 335219, 346779, 364673, 384784, 413937, 429154, 431229, 434504, 439537, 441625, 452032, 453392, 465470, 481516, 494517, 496122, 514126];
~refAdvanced = [667, 19184, 34706, 47229, 58300, 68183, 86942, 106752, 117438, 122135, 150487, 161523, 167572, 179048, 186294, 205050, 220493];

~src = Buffer.read(s,FluidFilesPath("Tremblay-AaS-SynthTwoVoices-M.wav"));
~indices = Buffer(s);
)

FluidBufTransientSlice.processBlocking(s,~src,indices:~indices,action:{~indices.loadToFloatArray(action: {|x|~basic = x})});

FluidBufTransientSlice.processBlocking(s,~src,indices:~indices, numFrames: 220500, order: 200, blockSize: 2048, padSize: 1024, skew: 1, threshFwd: 3, threshBack: 1, windowSize: 15, clumpLength: 30, minSliceLength: 4410, action:{~indices.loadToFloatArray(action: {|x|~advanced = x;\done.postln;})});

~refBasic == ~basic
~refBasic.size == ~basic.size
~refBasic.do{arg v,i; if (v != ~basic[i], {"% (%) ".postf(i, v - ~basic[i])}) };

~refAdvanced == ~advanced
~refAdvanced.size == ~advanced.size
~refAdvanced.do{arg v,i; if (v != ~advanced[i.min(~advanced.size - 1)], {"% (%) ".postf(i, v - ~advanced[i.min(~advanced.size - 1)])}) };

@tremblap
Copy link
Member Author

actually, in Linux I don't even get the same values between Pd and SC...

@tremblap
Copy link
Member Author

@AlexHarker might confirm there is no randomisation used - or that I'm wrong, and that would make this a non-bug...

@tremblap
Copy link
Member Author

"good" news - it is not new. So I will plough on with the release checks.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

1 participant