u-he Hive 1.2 - free update - adds wavetables and more

VST, AU, AAX, CLAP, etc. Plugin Virtual Instruments Discussion
Post Reply New Topic
RELATED
PRODUCTS
Hive 2$169.00Buy

Post

Don't forget that Hive also has the 2D-option. Thus it needs to be able to interpolate seamlessly with fewer frames.

Post

Urs wrote: Fri Dec 21, 2018 4:07 pmBut also: Hive also has the capability of loading several single cycle waveforms and creating additional interpolated frames in-beteen. It can also store that as .wav. But you have to use a uhm script for it. Once you got the script, you can copy/paste and do hundreds of such wavetables in a few minutes, in much less time than any UI-driven editor.
Am I reading that right? If I have a bunch of single cycle .wavs I can use an uhm script to create a wavetable and Hive will do all the interpolation? That would totally warrants a tutorial if so.

Post

Funkybot's Evil Twin wrote: Fri Dec 21, 2018 4:18 pm
Urs wrote: Fri Dec 21, 2018 4:07 pmBut also: Hive also has the capability of loading several single cycle waveforms and creating additional interpolated frames in-beteen. It can also store that as .wav. But you have to use a uhm script for it. Once you got the script, you can copy/paste and do hundreds of such wavetables in a few minutes, in much less time than any UI-driven editor.
Am I reading that right? If I have a bunch of single cycle .wavs I can use an uhm script to create a wavetable and Hive will do all the interpolation? That would totally warrants a tutorial if so.
Yeah, we need to do a tut...

Hive can even "morph" two cycles with a formant extraction algorithm. Sometimes this sounds crap, but it often sounds rad.

Unfortunately I've been distracted with too many things to follow up on uhm tutorials.

Anyhow, it's basically, you throw your single cycles in a folder along with your "MorphThem.uhm". In the uhm, you load the single cycle waveforms (hint: target=aux1) and copy them to the frame positions you want in your main buffer. Then you use "Interpolate" with the mode you want to create the additional frames. Then use "Export" to write them into a .wav file.

Lemme see if I find the time to try it...

Post

fmr wrote: Fri Dec 21, 2018 4:00 pm
pdxindy wrote: Fri Dec 21, 2018 3:59 pm You are talking about a different function. Serum can generate new frames from a smaller set of existing ones. But it does not interpolate between frames in realtime while playing.
It creates the interpolation in the wavetable, non-real-time. What's the difference?
I highlighted the difference you named yourself. It's not realtime. But that is not the only difference.

Okay, suppose you have a 256 frame wavetable resynthesized from audio. Import that into Serum, and Serum can only play that as distinct steps. It has no interpolation at all.

The only option is to manually reduce the number of frames in the editor so there is room to run the algos you speak of. However, it is no longer the original wavetable at that point.

Post

Urs wrote: Fri Dec 21, 2018 4:24 pm
Funkybot's Evil Twin wrote: Fri Dec 21, 2018 4:18 pm
Urs wrote: Fri Dec 21, 2018 4:07 pmBut also: Hive also has the capability of loading several single cycle waveforms and creating additional interpolated frames in-beteen. It can also store that as .wav. But you have to use a uhm script for it. Once you got the script, you can copy/paste and do hundreds of such wavetables in a few minutes, in much less time than any UI-driven editor.
Am I reading that right? If I have a bunch of single cycle .wavs I can use an uhm script to create a wavetable and Hive will do all the interpolation? That would totally warrants a tutorial if so.
Yeah, we need to do a tut...

Hive can even "morph" two cycles with a formant extraction algorithm. Sometimes this sounds crap, but it often sounds rad.

Unfortunately I've been distracted with too many things to follow up on uhm tutorials.

Anyhow, it's basically, you throw your single cycles in a folder along with your "MorphThem.uhm". In the uhm, you load the single cycle waveforms (hint: target=aux1) and copy them to the frame positions you want in your main buffer. Then you use "Interpolate" with the mode you want to create the additional frames. Then use "Export" to write them into a .wav file.

Lemme see if I find the time to try it...
Sweet! :tu:

Post

Actually, I did a video once:



Here is the same .wav file (with 2 single cycles) and an updated (and well documented) script that does the same:

https://uhedownloads-heckmannaudiogmb.n ... _small.zip

You can easily load multiple .wav files and extract the frames wherever you want, experiment with crossfade, spectral and morph interpolation and (as shown in the script) export these as .wav

It's very powerful, and IMHO is worth getting in touch with.


Addendum: Oops, I initially uploaded the .zip with the resulting .wav inside as well... re-upped smaller version with just the files needed.

Addendum2: Oi, the script in the video already used the import function... all is well...
Last edited by Urs on Fri Dec 21, 2018 4:48 pm, edited 1 time in total.

Post

Urs wrote: Fri Dec 21, 2018 3:45 pm
PlasticSoul wrote: Fri Dec 21, 2018 12:06 pmurs said hive is a sylenth1 alternative, can it be a serum (maybe a massive) alternative now too?
As with all such topics: It depends on what you want/need. Serum is very well established and it's advantages and disadvantages are very well known. Hive in our opinion is very underrated.

Someone on Facebook wrote the other day, paraphrasing: "Serum eats them all for breakfast", meaning Hive and other synths. I answered "not in terms of wavetable interpolation quality, CPU usage, workflow, preset management, formula parsing, modulation routing".

They are different synths. Hive doesn't do this, Serum doesn't do that.
Thanks, Urs. Now you have a point, lots of them. :love:

Post

Urs wrote: Fri Dec 21, 2018 4:41 pm Actually, I did a video once:



Here is the same .wav file (with 2 single cycles) and an updated (and well documented) script that does the same:

https://uhedownloads-heckmannaudiogmb.n ... _small.zip

You can easily load multiple .wav files and extract the frames wherever you want, experiment with crossfade, spectral and morph interpolation and (as shown in the script) export these as .wav

It's very powerful, and IMHO is worth getting in touch with.


Addendum: Oops, I initially uploaded the .zip with the resulting .wav inside as well... re-upped smaller version with just the files needed.

Addendum2: Oi, the script in the video already used the import function... all is well...
So forgive the total newb question, but how are the frames counted? For instance...

//---------------------------------------------
//
// copy the 2nd frame (#1) to position 100
//
//---------------------------------------------

Move start=1 end=1 to=100

That's very easy to deal with if morphing between two single-cycle waveforms but what if the .wav file had 3 or more single-cycle waveforms. So just for simplicity, let's say it had 3 single-cycle waveforms in them, each 2048 samples; and I want to do the same thing and copy the 3rd frame to position 100 in Hive. With the 2nd frame being at position 50. Would that portion of the script simply look like this:

Move start=2 end=2 to=100

I guess my question is: is Hive counting every 2048th sample (unless we tell it otherwise) as a new frame (begining at zero), and at that point, the frame count just increases sequentially? Or is 0 the begining and 1 the end regardless of the number of frames in the wavetable?

I could try to experiment with this later on, but figured I'd ask in the meantime. This is all entirely new to me.

Post

Urs wrote: Fri Dec 21, 2018 4:41 pm Actually, I did a video once:



Here is the same .wav file (with 2 single cycles) and an updated (and well documented) script that does the same:

https://uhedownloads-heckmannaudiogmb.n ... _small.zip

You can easily load multiple .wav files and extract the frames wherever you want, experiment with crossfade, spectral and morph interpolation and (as shown in the script) export these as .wav

It's very powerful, and IMHO is worth getting in touch with.


Addendum: Oops, I initially uploaded the .zip with the resulting .wav inside as well... re-upped smaller version with just the files needed.

Addendum2: Oi, the script in the video already used the import function... all is well...
This is another new feature I wasn't aware yet. Will definitely try that, since I was using Serum and AudioTerm for exactly those tasks.
Fernando (FMR)

Post

pdxindy wrote: Fri Dec 21, 2018 4:28 pm
fmr wrote: Fri Dec 21, 2018 4:00 pm
pdxindy wrote: Fri Dec 21, 2018 3:59 pm You are talking about a different function. Serum can generate new frames from a smaller set of existing ones. But it does not interpolate between frames in realtime while playing.
It creates the interpolation in the wavetable, non-real-time. What's the difference?
I highlighted the difference you named yourself. It's not realtime. But that is not the only difference.

Okay, suppose you have a 256 frame wavetable resynthesized from audio. Import that into Serum, and Serum can only play that as distinct steps. It has no interpolation at all.

The only option is to manually reduce the number of frames in the editor so there is room to run the algos you speak of. However, it is no longer the original wavetable at that point.
Fair enough. That's an advantage I didn't think at first, when comparing Serum and Hive interpolations, maybe because I was used to 64 waves wavetables, and interpolating 64 waves into 256 waves is enough to soften the transitions considerably.
Fernando (FMR)

Post

Funkybot's Evil Twin wrote: Fri Dec 21, 2018 5:41 pm So forgive the total newb question, but how are the frames counted? For instance...

//---------------------------------------------
//
// copy the 2nd frame (#1) to position 100
//
//---------------------------------------------

Move start=1 end=1 to=100

That's very easy to deal with if morphing between two single-cycle waveforms but what if the .wav file had 3 or more single-cycle waveforms. So just for simplicity, let's say it had 3 single-cycle waveforms in them, each 2048 samples; and I want to do the same thing and copy the 3rd frame to position 100 in Hive. With the 2nd frame being at position 50. Would that portion of the script simply look like this:

Move start=2 end=2 to=100

I guess my question is: is Hive counting every 2048th sample (unless we tell it otherwise) as a new frame (begining at zero), and at that point, the frame count just increases sequentially? Or is 0 the begining and 1 the end regardless of the number of frames in the wavetable?

I could try to experiment with this later on, but figured I'd ask in the meantime. This is all entirely new to me.
It takes some time getting used to. First off, when you load a .wav file normally into Hive, the info field shows you how many frames (cycles of 2048 samples each) it has. That's (hopefully) very convenient to quickly check out what you got.

In the script, frames are counted from 0. Such that a wavetable with 14 frames starts at frame 0 and ends at frame 13. If you want to copy the last 3 frames (11, 12, 13) to position 98, 99 and 100, you'd write

Move start=11 end=13 to=98

Whenever you copy only a single frame, start and end are the same.

As I said, we need to to gazillions more tutorials. I just didn't get to set them up yet.

Post

An addendum to the interpolation issue:

Many synths used to have steppy parameters. These were particularly audible when turning the filter cutoff knob with resonance turned up. Like, if cutoff wasn't smoothed, turning the knob would audibly be steppy. This happens quite prominently with a knob resolution of 100 steps. While a knob resolution of 256 steps would probably sound much smoother, it'll still be audible.

Now, the main purpose of wavetable scanning is to offer sonic movement similar to what a cutoff sweep does. The more dramatic, the better, typically. Which also means that chances are good that things get audibly steppy without further interpolation.

Post

PlasticSoul wrote: Fri Dec 21, 2018 4:48 pm
Urs wrote: Fri Dec 21, 2018 3:45 pm
PlasticSoul wrote: Fri Dec 21, 2018 12:06 pmurs said hive is a sylenth1 alternative, can it be a serum (maybe a massive) alternative now too?
As with all such topics: It depends on what you want/need. Serum is very well established and it's advantages and disadvantages are very well known. Hive in our opinion is very underrated.

Someone on Facebook wrote the other day, paraphrasing: "Serum eats them all for breakfast", meaning Hive and other synths. I answered "not in terms of wavetable interpolation quality, CPU usage, workflow, preset management, formula parsing, modulation routing".

They are different synths. Hive doesn't do this, Serum doesn't do that.
Thanks, Urs. Now you have a point, lots of them. :love:
I was reading this and its a bit off topic, but i could not ignore the fact that KVRers are making alot of topics about alternatives. Whats up with that :D

Post

OK, I just tried to morph a wavetable with 14 frames using the UHM example script, but the results were NOT what I expected. Maybe I did something wrong when adapting the script. Loading the WAV wavetable in Hive and using the built-in interpolation works as expected.

I would love if someone helps me with this. I'm completely newb in what concerns scripts, so most certainly I'm doing something wrong.

Original WAV wavetable is here:

https://1drv.ms/u/s!AlYyQJYLETH8iiC277ItJoKdNe9G

Here is the script adapted. Maybe the problem resides in the "Move" instructions (???):

»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»

//---------------------------------------------
//
// set number of frames to 256 (0-255)
//
//---------------------------------------------

NumFrames = 256

//---------------------------------------------
//
// load file Korg EX-8000 Wavetable 14.wav
//
// This wavetable has fourteen frames. Each frame corresponds to a waveform
// drawn by hand in Turbosynth from the graphic representation of the EX-8000
// waves manual. I left out the saw wave and sine wave.
//
//---------------------------------------------

Import "Korg EX-8000 Wavetable 14.wav"

//---------------------------------------------
//
// Normalize frames to 0dB RMS
//
//---------------------------------------------

// Normalize dB=0.0 start=0 end=14

//---------------------------------------------
//
// copy frames (#0x) to their reference position
//
//---------------------------------------------

Move start=2 end=2 to=21

Move start=3 end=3 to=40

Move start=4 end=4 to=60

Move start=5 end=5 to=79

Move start=6 end=6 to=99

Move start=7 end=7 to=119

Move start=8 end=8 to=138

Move start=9 end=9 to=158

Move start=10 end=10 to=178

Move start=11 end=11 to=197

Move start=12 end=12 to=217

Move start=13 end=13 to=236

Move start=14 end=14 to=255

//---------------------------------------------
//
// Interpolate using the "Drama" type
//
//---------------------------------------------

Interpolate start=0 end=255 Type=Morph1

Info "Korg EX-8000 Wavetable here!"

Export "Korg EX-8000 Wavetable Morphed.wav"
Fernando (FMR)

Post

Urs wrote: Fri Dec 21, 2018 3:45 pm Someone on Facebook wrote the other day, paraphrasing: "Serum eats them all for breakfast", meaning Hive and other synths. I answered "not in terms of wavetable interpolation quality, CPU usage, workflow, preset management, formula parsing, modulation routing".They are different synths. Hive doesn't do this, Serum doesn't do that.
Now I´m curious - which would be an area where you´d call Serum either "currently better than Hive, we need to improve on this" or "well done in Serum, but not a feature we want to add/expand upon"? 8)

Post Reply

Return to “Instruments”