Please familiarise yourself with the forum, including policy on feature requests, rules & guidelines

Problems generating large wavetable collection from WaveEditOnline

0
feijaifeijai Washington, DCPosts: 43

I'm working on converting about 600 wavetables from WaveEditOnline for use on the Deluge. But I'm running into some difficulties and could use some help.

  1. These wavetables are 256-sample cycles, stored in WAV files at 16-bit signed integer mono. I have added to them a WAV tag called "clm" whose value is 256. Is this right? Because when I play the files as wavetables in the synth, they sound really bad -- even sine waves -- with lots of high frequency gunk. This normally would suggest that the synthesizer in question is not cutting them to 256 but to something else, which creates discontinuities. Does anyone else have experience here? Can anyone else tell me what I have done wrong or what's going on? Is it some other metadata location instead of the WAV tag list?
  2. One of the difficulties is that it seems impossible to determine what the Deluge thinks the cycle size is: it'd have been much more helpful if, in the wavetable sample display, a little red pad would beplaced to mark the dividing line of each cycle, or at least the display could indicate what the cycle length being used is. Question: is there some way to determine the cycle length being used? Did I just stupidly miss something?
  3. Also: for some reason the Deluge crams the ENTIRE wavetable sample into the 16-pad-wide grid display initially no matter whether you've zoomed in in the past. So basically all wavetables are a 16x8 grid of bright white pads, not helpful at all. It'd be much better if the Deluge zoomed in such that it would display just the FIRST CYCLE, which would be far more informative.

Comments

  • 0
    rezareza los angelesBeta Tester Posts: 305

    seems like on paper your wavetable is set up is exactly as it should be.
    sounds like they ARE being treated as wavetables too, just with bad aliasing? can you confirm "WAVES" is the oscillator type after loading?

    also, when you play the problematic wavetable, is the "high frequency gunk" when the wavetable position is static, or when you are moving the position parameter around? i think if you're getting high frequency weird sounds, it could point to aliasing as a result of cycles not lining up properly

    have you tried loading the same wavetable with no CLM tag, maybe the tag is being written improperly? i don't have experience with CLM tags so I can't tell you the best way to do so.
    after some searching, try opening the wave file with a hex editor (someone on the forums uses HxD on Windows 11). after the <!> near CLM it should say the cycle length.

    lastly, would it be possible to load in a wavetable you convert that is 2048 cycles long and seeing the results? the deluge seems to default to 2048 for random samples forced into wavetables so if the CLM tag is the culprit, it might be a good thing to see if 2048 works.

    =

  • 0
    feijaifeijai Washington, DCPosts: 43

    @reza said:
    sounds like they ARE being treated as wavetables too, just with bad aliasing?

    The wavetables are a mixed bag, but the ones I'm testing with should have zero aliasing: indeed they're just simple sine waves where I'm testing them..

    can you confirm "WAVES" is the oscillator type after loading?

    Yes.

    also, when you play the problematic wavetable, is the "high frequency gunk" when the wavetable position is static, or when you are moving the position parameter around?

    Static.

    i think if you're getting high frequency weird sounds, it could point to aliasing as a result of cycles not lining up properly

    Yeah, but that's not how a wavetable oscillator works: it either is playing a specific cycle or it's interpolating between that cycle and the next one -- it never is "half way" shifted in a cycle.

    have you tried loading the same wavetable with no CLM tag, maybe the tag is being written improperly?

    I have not!

    lastly, would it be possible to load in a wavetable you convert that is 2048 cycles long and seeing the results? the deluge seems to default to 2048 for random samples forced into wavetables so if the CLM tag is the culprit, it might be a good thing to see if 2048 works.

    Yeah, resampling is possible but that's a lot of work just for some popular wavetables. :-( I should mention that I've loaded these wavetables into several other systems, including one of my own design, and they sound great. Just not on the Deluge. I think there's only two possibilities: (1) either the Deluge is not recognizing the proper cycle length because I'm not indicating it right or due to a Deluge mistake or (2) there's a bug in the Deluge's wavetable processing. Hoping for the former, but increasingly thinking it might be the latter.

  • 0
    rezareza los angelesBeta Tester Posts: 305

    i would try removing the CLM tag, loading up the wavetable in Serum if you have access to that and saving the wavetable through serum. apparently when you save a loaded wavetable into Serum, it adds the CLM tag properly. that could be possibly be the culprit.

    with the resampling thing, it's more to pinpoint if 2048 cycles of the same cycles your dealing with would solve the issue, not so you have to repeat that behavior for all 600 you want to convert.

    the deluge defaults to setting unrecognized samples loaded as wavetables to 2048 cycles, so if that's happening with your 256 cycle waveforms it could be splitting a single cycle of yours 8 times, if it repeats that 1/8th cycle, then there won't be cycles starting and ending at zero-crossing points, which may point to why you get high frequency info from something like a sine waveform.

  • 0
    feijaifeijai Washington, DCPosts: 43
    edited September 8

    @reza said:
    i would try removing the CLM tag, loading up the wavetable in Serum if you have access to that and saving the wavetable through serum. apparently when you save a loaded wavetable into Serum, it adds the CLM tag properly. that could be possibly be the culprit.

    Further investigation with hexdump reveals that clm is not a tag at all, nor is it metadata: it's a named chunk in the "RIFF...WAVE" section header and is special to Serum. That is bad because few tools will edit WAV headers. For example, ffmpeg won't -- in fact it will overwrite it with a "clean" header. Also Audacity won't, shntool won't...

    Does anyone know of a command line tool I can use to insert the clm chunk in an existing WAV file? If not, I don't think I'll be able to provide the waveedit files.

    Post edited by feijai on
  • 0
    feijaifeijai Washington, DCPosts: 43

    @feijai said:

    @reza said:
    i think if you're getting high frequency weird sounds, it could point to aliasing as a result of cycles not lining up properly

    Yeah, but that's not how a wavetable oscillator works: it either is playing a specific cycle or it's interpolating between that cycle and the next one -- it never is "half way" shifted in a cycle.

    I think I misunderstood what you had said: you're right, of course if the cycles aren't the right power of two you could certainly have discontinuities: but not in the wavetables I'm testing.

Sign In or Register to comment.