SynthMaster's interpretation of sample loop info

Official support for: kv331audio.com
hlrf
KVRer
11 posts since 2 Jan, 2016

Post Thu Oct 27, 2016 5:48 pm

Hello, I was trying to load samples (not single-cycle waveforms) via SFZ into Synthmaster and found that, with some of the samples the sustain loop portion played out of tune and buzzy, those are the ones with short loops no more than few cycles long.

Therefore I made a test sample of pure sine wave, 128 samples per cycle (file1 below), and set the loop info as such so it plays perfectly in other sampler synths (tested with Renoise/Redux, EXS24, TX16wx, and Plogue sfrozando), then load the sample into Synthmaster (via UI drag-drop), SM again loops the sample badly, pitches higher during loop period, and makes harmonic distortion that wouldn't normally appear with a sine wave sample.

That is the typical thing that happens when a loop point set shorter than ideal, and I can precisely recreate the situation in other samplers by intentionally misplace the loop end point 1 frame earlier (file2 below). If you play the file with other synths, you'll get the same buggy loop sustain like Synthmaster do with the previous, ideally looped sample.

To verify, with the same sample with loop points misplaced 1 frame longer (file3 below), other synths play it out of tune (pitched lower because they've been told to loop 129 samples per period!), but Synthmaster this time plays it like an ideal sine.

Base on the test I would say that Synthmaster interprets loop informations 1 frame shorter than others do, while this may not be notice-able for samples more complex in content, I hope the situation can be sorted so short-looped samples could be played more ideally in Synthmaster.

edit: check attachment for example .wav files
You do not have the required permissions to view the files attached to this post.
Last edited by hlrf on Mon Jun 19, 2017 10:19 pm, edited 1 time in total.

hlrf
KVRer
11 posts since 2 Jan, 2016

Re: SynthMaster's interpretation of sample loop info

Post Fri Nov 11, 2016 1:29 am

Sine sample properly played with other synths:
other_synths.png
Same Sample played by Synthmaster:
synthmaster.png
edit: remove bad link
You do not have the required permissions to view the files attached to this post.
Last edited by hlrf on Mon Jun 19, 2017 10:23 pm, edited 1 time in total.

kv331
KVRAF
5671 posts since 14 Nov, 2006 from Ankara, Turkey

Re: SynthMaster's interpretation of sample loop info

Post Fri Dec 02, 2016 10:27 pm

Hi there

I noted this one down. Will try to fix it in our next release 2.8.8

Thanks for the bug report
Works at KV331 Audio
SynthMaster voted "Best VST/AU Synth of 2016" by MusicRadar readers
SynthMaster One voted "Best New Virtual Instrument of 2017" by MusicRadar readers

kraut90
KVRer
16 posts since 26 Feb, 2016

Re: SynthMaster's interpretation of sample loop info

Post Sat Feb 11, 2017 6:00 am

+1

For me, this is an important issue, because I have lots of short-looping samples (raw waveforms sampled from digital synths of the 90s) and this Bug keeps me from integrating them into SynthMaster.

hlrf
KVRer
11 posts since 2 Jan, 2016

Re: SynthMaster's interpretation of sample loop info

Post Mon Jun 19, 2017 10:20 pm

The problem still exist in 2.8.9.
bump for this to be fixed :D

kraut90
KVRer
16 posts since 26 Feb, 2016

Re: SynthMaster's interpretation of sample loop info

Post Sun Jun 25, 2017 8:05 am

+1 I would like to see this fixed as well.

kraut90
KVRer
16 posts since 26 Feb, 2016

Re: SynthMaster's interpretation of sample loop info

Post Sat Feb 10, 2018 8:02 am

Just installed 2.9.6 (which is a great update because it fixes lots of issues and brings even new features).

BUT: This Bug's still there :-(

I made an additional experiment to clarify if the WAV-Parser is the problem or the SFZ parser.

I created test files where the loop starts at sample index 0 and ends at index 127. The loop end value in the smpl chunk is 7F (127).
One could say that the loop LENGTH is 128 (127 - 0 + 1).

All other players except SynthMaster play that WAV file correctly.

Then I created an SFZ file where I explicitely set the loop_end=127. Same result.
SynthMaster plays fine with loop_end=128 - which is definitely wrong.

I guess there's a line of code like this...

loopLength = (loopEnd - loopStart)

... which is a BUG because the +1 is missing.

User avatar
cthonophonic
KVRist
261 posts since 1 Jan, 2018

Re: SynthMaster's interpretation of sample loop info

Post Sun Feb 11, 2018 12:28 pm

One unfortunate implication of this bug is that the factory samples (and even sample-based presets that others have created) probably have incorrectly defined loop points. I notice that when I load up samples from the factory presets in other samplers, there are audible clicks at some of the loop points. If you want to try it yourself, Saitensprung_C#3.aif in the Particular - Sound directory is one noticeable example. Thus, to interpret loop points correctly would mean that many samples that looped smoothly before will no longer do so, and fixing the bug would also entail fixing all the samples. This might explain why such a simple, long-standing bug has remained unfixed: it's baked in.

kraut90
KVRer
16 posts since 26 Feb, 2016

Re: SynthMaster's interpretation of sample loop info

Post Sun Jun 03, 2018 3:01 am

I just checked all factory samples in a wave editor and fortunately >99% of the loops are perfectly set. Only the wavetable vox samples in "Particular Sound" are strangely looped - but the problem is by far more than one sample. Indeed, with Saitensprung you found a lucky strike, because the end of this sample (last 19 samples) is very strange and the loop end point is exactly set one sample too far.
So at the end of the day, I think there is a much more plausible - while simple - explanation: The developer(s) have other priorities and this bug has too few stakeholders.

BTW - managing bug and feature request priorities in a forum like this doesn't seem to be practical to me. I'd use a bug/feature tracker like trello or something.

User avatar
dnekm
KVRAF
2609 posts since 19 Apr, 2005 from The City Beneath the Sea

Re: SynthMaster's interpretation of sample loop info

Post Sun Jun 03, 2018 9:18 am

There is a way to work around it.....

http://www.kvraudio.com/forum/viewtopic ... 8&t=502979

kraut90
KVRer
16 posts since 26 Feb, 2016

Re: SynthMaster's interpretation of sample loop info

Post Mon Dec 24, 2018 12:48 am

Gladly I see, the development of SynthMaster started progressing again. I appreciate very much the improvements in version 2.9.8 (especially single selection of browser filters).

The release notes say "5. FIX: When importing samples, the loop point is not imported".
I didn't ever have problems with loop points being ignored, but they're (still) interpreted wrongly, as stated above.

I created 223 SFZ files last year and it took me quite a time inserting the workaround in every single file (setting loop_start/loop_end+1 explicitely). I would (still) be glad if this bug could be fixed.

I added a test file which lets one easily distinguish between wrong/correct loop length calculation.
It's a looped sine, but the loop starts after ~500ms. So you'll clearly hear a detune hen playing this sample.
You do not have the required permissions to view the files attached to this post.

kv331
KVRAF
5671 posts since 14 Nov, 2006 from Ankara, Turkey

Re: SynthMaster's interpretation of sample loop info

Post Wed Dec 26, 2018 1:04 am

Sorry for the oversight, I added this issue to our list of TODO items for v2.9.9
Works at KV331 Audio
SynthMaster voted "Best VST/AU Synth of 2016" by MusicRadar readers
SynthMaster One voted "Best New Virtual Instrument of 2017" by MusicRadar readers

User avatar
der Vodi
KVRer
1 posts since 17 Apr, 2019

Re: SynthMaster's interpretation of sample loop info

Post Wed Apr 17, 2019 1:40 am

+1 for me

Return to “KV331 Audio”