Tech Preview: Hive Wavetables

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

Post

KBSoundSmith wrote: Tue Jun 18, 2019 11:11 pm
knowix wrote: Tue Jun 18, 2019 10:32 pm Did I previously read that the way wavetables work in Hive mean they don't have any particular usefulness for synthesizing singing type sounds?
If someone indeed wrote that... well I doubt they dug very deep. Or even surface level. If you're looking for a substitute for something like Plogue Chipspeech then maybe you'd be disappointed, but Hive can do plenty of vocal sounds quite easily.

Here are two quick examples. No effects or filters or anything, just small segments of two different wavetables being modulated by the shape sequencer.

Hive Vox 001.wav
https://bit.ly/2ZvqZqj

Hive FM Vox 001.wav
https://bit.ly/2KmgIcs
I think my original suggestion was an uncanny soprano vocal sound. Always wanted to do a track with that kind of sound but could never synthesise the sound properly.

Post

EvilDragon wrote: Wed Jun 19, 2019 8:19 am You can't really make a GUI for generic UHM script making. You can do what, for example, cytospur made, which is GUI that parameterizes a particular way of building a wavetable with a single script. It's not an end-all-be-all solution.


You can already download user created wavetables and place them in the Wavetables folder and use them in Hive, I'm not sure what's your point?
Hi.
I will check out cytospurs program some day.

Is a wavetable from his program sounding another way as if I record some patch outcome from another synth and use this wav file as a wavetable in Hive? I mean is the first example more organically fitting Hives engine?

What's my point you ask? To make things more convenient for users by doing an exchange (up- and download) of user-generated WT directly in HIVE where no further steps outside the box would be necessary. Wouldn't that be great? After all I took away from the earlier discussion that there is a high emphasis with HIVE about simplicity.

Would be nice as an addition if you pointed out where we can actually download those already existing WTs. Thank you.

Have joy and be sound.
Last edited by nichttuntun on Thu Jul 04, 2019 5:10 pm, edited 1 time in total.

Post

Ahm. Thanks Evil Dragon for ... ahm...nothing?

Post

Sorry, somehow didn't see your reply back there!
nichttuntun wrote: Wed Jun 19, 2019 9:28 amIs a wavetable from his program sounding another way as if I record some patch outcome from another synth and use this wav file as a wavetable in Hive? I mean is the first example more organically fitting Hives engine?>
Yes, it's going to sound different, because .uhm scripts use Hive's internal interpolation engine, which is super-smooth and sounds better than most (if not all) other wavetable synths.

Post

Thank you. Than I think it´s worth to spent time with that.
Would you be so kind and help me out with the location of the downloadable WaveTable content you spoke of? Would be a pleasure :)

Post

EvilDragon wrote: Thu Jul 04, 2019 5:13 pm Yes, it's going to sound different, because .uhm scripts use Hive's internal interpolation engine, which is super-smooth and sounds better than most (if not all) other wavetable synths.
On the flip side, if we create a 256 frame scripted wavetable in .uhm and export to .wav then use the .wav file in Hive (cause maybe I'll use it another synth some day and just want to be consistent)...same exact thing? Or do you lose resolution when interpolating in Hive with the uhm-generated .wav file compared to the original .uhm?

Post

Funkybot's Evil Twin wrote: Thu Jul 04, 2019 5:41 pm
EvilDragon wrote: Thu Jul 04, 2019 5:13 pm Yes, it's going to sound different, because .uhm scripts use Hive's internal interpolation engine, which is super-smooth and sounds better than most (if not all) other wavetable synths.
On the flip side, if we create a 256 frame scripted wavetable in .uhm and export to .wav then use the .wav file in Hive (cause maybe I'll use it another synth some day and just want to be consistent)...same exact thing? Or do you lose resolution when interpolating in Hive with the uhm-generated .wav file compared to the original .uhm?
wav equals uhm, soundwise. The interpolation method can be chosen independent of wavetable origin.

Post

Thanks Urs.

Post

Good to know. Thank you.

Post

Urs wrote: Thu Jul 04, 2019 8:17 pm
Funkybot's Evil Twin wrote: Thu Jul 04, 2019 5:41 pm
EvilDragon wrote: Thu Jul 04, 2019 5:13 pm Yes, it's going to sound different, because .uhm scripts use Hive's internal interpolation engine, which is super-smooth and sounds better than most (if not all) other wavetable synths.
On the flip side, if we create a 256 frame scripted wavetable in .uhm and export to .wav then use the .wav file in Hive (cause maybe I'll use it another synth some day and just want to be consistent)...same exact thing? Or do you lose resolution when interpolating in Hive with the uhm-generated .wav file compared to the original .uhm?
wav equals uhm, soundwise. The interpolation method can be chosen independent of wavetable origin.
So basically we could record anything as a wav file and use it in HIVE as a wavetable. When doing that is there a recommended maximum length the audio should have and which bit rate should the sound file have?

Again, can't state enough how cool it would be if HIVE would have an internal recorder for such purposes. Maybe, some day?

Thank you in advance.

Post

nichttuntun wrote: Fri Jul 05, 2019 8:18 am So basically we could record anything as a wav file and use it in HIVE as a wavetable. When doing that is there a recommended maximum length the audio should have and which bit rate should the sound file have?
In the uhm manual it says:
Mono or stereo WAV files are interpreted by default as having a cycle length
of 2048 samples per frame – the number of frames is calculated from the total size of the file and is limited
to 256. To specify other samples-per-frame values, the file name must end with “-WT” followed by the
number e.g. MyWavetable-WT512.wav (or 64, 128, 256, 1024)
So each waveform/frame/cycle can be 64, 128, 256, 1024 or the default 2048 samples long (note the naming convention above to tell Hive which sample rate you're using).

I have in fact been making wavetables by trimming audio clips.
If you tune a sound so each single cycle is 2048 samples in length (detuned F1, -22 cents I think) and trim it to the right length in an audio editor, the simple calculation for the length in samples is:

2048 samples X 256 frames = 524,288 samples

So if you make a wave file 524,288 samples long then you can use it as a 256 frame wavetable at 2048 samples-per-frame.
You will need to adjust that based on the samplerate and number of frames you want.
Last edited by Ranoka on Fri Jul 05, 2019 9:44 am, edited 1 time in total.

Post

We're actually toying with the idea of caching .uhm as .wav to improve preset loading times. Some .uhm based wavetables need a second or two for all calculations.

But yes, you can already load any .wav file, but Hive does not try to establish a base frequency or anything. We might add that as well, but maybe I just add a uhm script which lets one convert any .wav into a proper Hive-compatible wavetable as long as you know the base frequency of the sample.

Post

Thank you both. That would be awesome.

Post

Here's a neat script that does waveshaping:

Code: Select all

Info "By Mark Holt\nWaveshaping\n"

NumFrames=32

Seed=64

//Random transfer function
Wave "rands"

//Filtered
Wave "lowpass(main,0.5*table,0)"

Spectrum lowest=0 highest=0 "0"
Normalize Metric=peak Base=each

//Symmetrised - can be bypassed with //
Wave "(main_fi(frame,(1*index)%2047)-main_fi(frame,2047-(1*index)%2047))"

//Input
Wave target=aux1 "(0.9*table+0.1)*sin(2*pi*phase)"

//Output
Wave "main_fi(frame,1024*(aux1+1))"

Spectrum lowest=0 highest=0 "0"
Normalize Metric=peak Base=each

Export Source=main "MH Waveshaping.wav"
The transfer function used is a low pass filtered random wave. Change the cutoff, resonance and seed values to get different transfer functions. You can use any function here, such as Chebyshev polynomials (see below).

The input signal is a sine wave, but can be anything else. Beware that input signals with lots of higher harmonics can get noisy and nasty, but maybe that's a good thing for some :hihi:

The actual waveshaping occurs in the line labelled //Output

Here is the simpler version that does Chebyshev polynomial waveshaping, using 2op FM as an input signal:

Code: Select all

Info "By Mark Holt\nChebyshev Polynomial Waveshaping\n"

NumFrames=32

Wave target=aux1 "acos(2*phase-1)"

//Transfer Function - Chebyshev style
Wave "0.5*cos(1*aux1)+0.5*cos(3*aux1)+0.65*cos(5*aux1)+0.25*cos(7*aux1)"

Spectrum lowest=0 highest=0 "0"
Normalize Metric=peak Base=each

//Input
Wave target=aux1 "(0.9*table+0.1)*sin(2*pi*phase+sin(2*pi*phase))"

//Output
Wave "main_fi(frame,1024*(aux1+1))"

Spectrum lowest=0 highest=0 "0"
Normalize Metric=peak Base=each

Export Source=main "MH Waveshaping.wav"
Note the digital noise that appears at low modulation levels. Cool for that early-90s digital vibe :hihi:

Enjoy! :hyper:
Wavetables for DUNE2/3, Blofeld, IL Harmor, Hive and Serum etc: http://charlesdickens.neocities.org/
£10 for lifetime updates including wavetable editor for Windows.

Music: https://soundcloud.com/markholt

Post

Two more transfer functions that may be of interest, the first using Chebyshev terms based on the Fibonacci sequence, the second using terms based on the Lucas sequence.

Fibonacci:

Code: Select all

Wave "2*cos(1*aux1)+cos(2*aux1)+cos(3*aux1)+cos(5*aux1)+cos(8*aux1)+cos(13*aux1)+cos(21*aux1)+cos(34*aux1)+cos(55*aux1)+cos(89*aux1)+cos(144*aux1)+cos(233*aux1)"
Lucas:

Code: Select all

Wave "cos(1*aux1)+cos(3*aux1)+cos(4*aux1)+cos(7*aux1)+cos(11*aux1)+cos(18*aux1)+cos(29*aux1)+cos(47*aux1)+cos(76*aux1)+cos(123*aux1)+cos(199*aux1)"
Both give nice resonant sweeps. Place either one in to the Chebyshev Polynomial Waveshaping UHM script after where it states "//Transfer Function....".
Wavetables for DUNE2/3, Blofeld, IL Harmor, Hive and Serum etc: http://charlesdickens.neocities.org/
£10 for lifetime updates including wavetable editor for Windows.

Music: https://soundcloud.com/markholt

Post Reply

Return to “u-he”