Halion Wavetable importing weirdness

I created a simple wavetable of 10 waves, each of which is 1024 samples long. (I created it in another program). I dropped it into the wavetable and following the manual I set the window mode to fixed, set the mode to “Equal dist” and set the number of markers to 10.
However, I don’t get what I expect, it seems to place the first marker at zero, and the last marker at the very end, and then equally space all the markers in between. This means the first wave will only be a half wave as will the last one. (Since the markers mark the center not the start of the windows). I can fix this by manually moving things around for such a small number of waves but for larger ones this is quite tedious. Am I missing something obvious? Is there some way to set it so the markers mark the beginning of the windows? See the following image for clarity:

Edit: One workaround I found is to pad the beginning and end with an extra half wave worth of silence. You have to then remove the first and last frame, and regenerate the envelopes using the link button. But this sure seems clunky

As a follow question: is there a way to manipulate the marker positions using Halion Script?

You’re right. I hadn’t noticed this before because most of my wavetables are already created/trimmed up and ready for other wavetable synths. The few wavetables that I’ve created from scratch inside HALion were more for effects/long pads, and didn’t require any real serious precision. I’d just drag a sample in and let it do what it does and not even really look at it.

I can’t imagine this is the way it’s supposed to work. Seems pretty useless for most practical applications. (unless the expectation is that we’re supposed to manually adjust each marker – but I wouldn’t call that practical)

Seems like a bug.

1 Like

BTW As far as I can tell this has never been fixed. But if anyone else is trying to do fun tricks with Halion wavetables, I found that Halion does put the markers in the right place if you use a Serum wavetable file. (Serum wavetable files are just wav files but with an extra custom “chunk” in the beginning that tells Serum that it is a Serum wavetable and how many samples per wave, which is 2048 currently). So you can work around this issue in Halion by either writing your own custom wav file writer that includes this extra chunk (this is what I ended up doing) or using Serum to convert.

BTW is there a place to submit these kind of bug reports ? Halion dev team doesn’t seem to look here, but i would like to raise this to their attention. I have my own work around, but it would be great to repair this little defect.

Hi DrEntropy,
certainly! This is the right place to submit anything that got to do with HALion.
Actually we call “this little defect” as “by design”, but we noticed that it is quite cumbersome to import a self-created wavetable and will improve that in one of the next updates.
Until then I will describe here the way how to do the import without the need of additional tools or editing anything.

  • create or open an empty Wavetable Zone and open the Wavetable Editor
  • drag your wav file into the Sample area of the Wavetable editor
  • secure that following settings have been made
  1. Phase mode is set to “Keep original Phases”
  2. Wavetable Creation “Mode” is set to “Equal Dist”
  3. Window Type is set to “Rectangular” and XF (Window Crossfade) is set to 0%
  4. “Fixed Size” is enabled and the “Size” corresponds with the samples per wave of your imported wav file (e.g 2048)
  5. The amount of “Markers” have to be set to n+1 ( if your file has 10 waves, set it to 11)
  6. Select the very last wave ( 11 in our example) below and delete it to get rid of the last marker at the tail end of the wave file.
    :point_up: This way we created the space to move all the other markers in one go!
  7. Select the first wave, so that it gets the focus, do a right click with the mouse and choose “Select all”
    :point_up: Now it’s possible to enter the “Offset” for all waves via the “Sample Position”!
  8. Secure that the first wave has the focus, goto the “Sample Position” above the Sample area and enter the amount for “Sample per wave” divided by 2 ( here: 2048/2 = 1024)
  9. Done!

best regards
Gerrit

2 Likes

Fantastic, I am glad you plan to address making it easier, and also happy that there is a work around! I tried this and it is works quite well!