Tech Preview: Hive Wavetables

Official support for: u-he.com
Post Reply New Topic
RELATED
PRODUCTS
Hive 2

Post

Howard wrote:
Ranoka wrote:I noticed there a slight jump in the loop
Because the line "NumFrames=19 // 20 frames" only gives you 19 frames (0 to 18), not 20.
// create a reversed sine on frame 9 (maybe there's an easier way?
Wave start=9 end=9 "main_fi(0, 2048 -index)"
Wave "-sin(2*pi*phase)" // is more straightforward, at least
Thanks Howard! Doh, I was counting from 0 index for some reason - was quite late when I was changing number and posted :hihi:

Using -sin does work well for this example! I was trying to figure out a way that would work for any arbitrary waveform, for future use.
Delta Sign wrote:I'll also try to dig up the preset from that demo. I remember using lots of envelopes triggered by LFOs to get that granular effect.
Thanks, I'd be very interested to see how you got that granular effect!
Going to try sneak some uhm during my lunch break to try your script.

Post

fmr wrote:I tried to change the "extension" in the Reaktor wavetables to -WT256, and Hive crashed on loading the wavetable (which, IMO, is a bug).
Would you mind sending me the wavetable? - I'd like to check this out.
fmr wrote:I am confused with this frames /cycles relation.
(sorry if this has been answered later... I'm now wading through lots of pages which are new to me...)

Terminology:

Sample: Ambiguous word. Can either mean a whole .wav file or a single sample value. Typically one second of a 44.1kHz .wav files is a *sample* which is composed out of 44100 *single sample values*. I'll use "sample-values" to talk about latter.

Cycle: One waveform, consisting of, say, 128 or 2048 sample-values

Frame: Same as a cycle, but inside a larger wavetable which can be scanned.

I prefer to use the word Cycle when talking about a single waveform (it's spectrum, it's length, it's sound)). I prefer to use the word Frame when talking about scanning waveforms in a wavetable (how it sweeps, how it's interpolated and so on).

Number of Frames vs. Number of Samples/Cycle

To the software, a .wav file is just a large sample. It can have any length, any number of frames and any number of sample-values per frame/cycle. From the -wav file, all the software knows is, how many sample-values there are. Typically a "proper" wavetable .wav has

Number of Samples-Values = Number of Frames x Sample-Values per Cycle

With this relation, as the software knows the number of sample-values, to establish what kind of wavetable it is, it needs to know either of the other values.

We have decided, the -WTxxxx notation in the .wav filename depicts the number of Sample-Values per Cycle. It is not the number of frames in the file.

Here's why:
  • if you load a .wav with 577 sample-values and you say it's got "4 frames", the number of sample values per frame will be uneven.
  • you always need to know how many frames you have. But if you export from, say Serum or Zebra, it's always 2048 samples per cycle. Likewise, if you export from WaveEdit, it's always 256 sample-values per cycle. There's less thinking and less need-to-know in specifying sample-values per cycle
  • 64, 128... 2048 are pretty much standard values.
  • other software uses Sample-Values/cycle as their standard too (e.g. Serum), in my observation it's simply more common that specifying the number of frames.

Post

Delta Sign wrote:Yeah, check this out: Additive Bell Test Preset
:clap:

Post

Funkybot's Evil Twin wrote:Urs: "That's what I wanted all along!"
Hehehe, indeed!

There's a lot of truth in this. We have many users who think of Hive as something overly simple. Which it looks like, compared to, say ACE. ACE and Hive have nearly the same structure. ACE even has fewer envelopes and no ModMatrix. Apart from audio rate modulations, Hive has superior means of synthesis in about every way (if you equal ACE' ModMapper with Hive's Sequencer). Yet, Hive is viewed as our most simple synth.

What we see in this thread and the Karplus-Strong one is IMHO a very first glimpse at the possible impact of the scripting engine. It can do forms of synthesis commonly available only to people with very deep knowledge, say, C-Sound users, in the synth which doesn't require special knowledge at all. 32 Operator FM? - No biggie! Layer a dozen formant based voices? Easy!

It's a trojan horse designed to lure the geekier half of our customer base into giving Hive another shot.

Post

Urs wrote:
fmr wrote:I tried to change the "extension" in the Reaktor wavetables to -WT256, and Hive crashed on loading the wavetable (which, IMO, is a bug).
Would you mind sending me the wavetable? - I'd like to check this out.
Sure. Here it is:

https://www.dropbox.com/s/63gtlkeopd1cgoo/Loop.rar?dl=0

It's one of the Reaktor wavetables I mentioned a couple of days ago. I have used these in Falcon, and I found that they play well with the _256 extension. So, I became convinced that they have 256 cycles. I checked again now, and found that they have, in fact, 128 cycles (waves).

Anyway, based on the way I used them in Falcon, I first added the "extension" -256. They were playing as they should, but after your clarification, I found that the "-256" was doing nothing, so, I changed that the "-WT256". Instant crash, as soon as I load one of these. If I remove the "extension" they load perfectly but are recognized as having "33 frames"... :?

Which brings us to:
Urs wrote:
fmr wrote:I am confused with this frames /cycles relation.
(sorry if this has been answered later... I'm now wading through lots of pages which are new to me...)

Terminology:

Sample: Ambiguous word. Can either mean a whole.wav file or a single sample value. Typically one second of a 44.1kHz .wav files is a *sample* which is composed out of 44100 *single sample values*. I'll use "sample-values" to talk about latter.

Cycle: One waveform, consisting of, say, 128 or 2048 sample-values

Frame: Same as a cycle, but inside a larger wavetable which can be scanned.
So, how can a 128 cycles/waves wavetable be recognized as having 33 frames/cyles (not even 32... 33) and yet play as it should?...

These wavetables are somehow strange. I found they behave weirdly in some other instruments already, but, as I said, they play well in Falcon with the "_256" extension, while in Hive they seem to be recognized as having 2048 samples per cycle, but being shorter than they should (33 cycles, instead of the expected 128 cycles). And, what is even more strange, not even 32 cycles, but 33 cycles.

Anyway, I can use them without changing their names, which is fine with me :)

And I appreciate the rest of your explanation. It makes things clearer in what concerns audio wavetables.
Fernando (FMR)

Post

A quick look in Audition shows, the file has 33 frames of 2048 sample-values each. Just rename it to Loop.wav and it loads fine.

It did not crash on me though...

Here's what Audition says:

Image

I selected a sine wave somewhere in the middle of it, and it's 2048 samples long.

33 x 2048 is 67584, which corresponds to the number of samples in this file (0-67583).

Whatever tells you about 128 frames or samples/cycle, it wrong :clown:

Post

I have tested a wavetable with 256 frames. All good. The same with 512 frames crashes Hive with Reaper together. Sample length 2048 samples.
Owner of the FB site of Audioterm

Post

PietW. wrote:I have tested a wavetable with 256 frames. All good. The same with 512 frames crashes Hive with Reaper together. Sample length 2048 samples.
oopsie... I haven't tested that, as my example tables all have 256 or fewer frames...

Good catch, will fix asap!

Post

Urs wrote:A quick look in Audition shows, the file has 33 frames of 2048 sample-values each. Just rename it to Loop.wav and it loads fine.

It did not crash on me though...
Yes, the math says that... :shrug:

Regarding the crash, did you rename the file to "Loop-WT256"? That's how/when I got the crash.
Fernando (FMR)

Post

Deleted
Last edited by fmr on Wed Sep 19, 2018 3:53 pm, edited 6 times in total.
Fernando (FMR)

Post

Urs wrote:
PietW. wrote:I have tested a wavetable with 256 frames. All good. The same with 512 frames crashes Hive with Reaper together. Sample length 2048 samples.
oopsie... I haven't tested that, as my example tables all have 256 or fewer frames...

Good catch, will fix asap!
:tu: :tu:
Owner of the FB site of Audioterm

Post

Are scripts stored with presets, i.e. if someone downloads a preset they will also get the script ?

Post

brick wrote:Are scripts stored with presets, i.e. if someone downloads a preset they will also get the script ?
Urs answered this in the second page of this thread: "...the wavetable is not part of the patch, but an addendum: To make patch sharing easy, wavetables need not reside in the wavetables directory, they can also sit in the same folder as the patch."

Scripts ARE wavetables.
Fernando (FMR)

Post

Checked again the reported problem with the Spectral Fade, and I got the crash again, this time in REAPER. It seems to happen only in the 32-bit version. The 64-bit version works OK.
Fernando (FMR)

Post

fmr wrote:Checked again the reported problem with the Spectral Fade, and I got the crash again, this time in REAPER. It seems to happen only in the 32-bit version. The 64-bit version works OK.
Thanks, we'll check this out. Would that be the 32 bit version of Hive used in a 64-bit host, or is that the 64-bit version of Hive in a 32-bit host?

Post Reply

Return to “u-he”