Wavetable question for Hive 2
- KVRAF
- 7060 posts since 19 Apr, 2002 from Utah
Does a 2048 frame wavetable contain enough audio information in single cycles to create the attack phase of a real acoustic instrument if swept through the whole wavetable?
I haven't seen any wavetables contain this kind of information, so that's why I am asking. I asked about this subject here:
viewtopic.php?p=8782365#p8782365
But, I am thinking it may be better for me to go straight to the source to see what is possible.
As I understand things, it takes 100-300 milliseconds of audio for the human brain to recognize a particular sound (such as an acoustic instrument--guitar pluck, blowing a horn, hitting a bell, etc). If I'm not mistaken, 2048 frames only allow for somewhere around 40 milliseconds of single cycle audio data. It seems reasonable that if a person sweeps through these cycles slow enough to, for example play each single cycle 10 times before interpolating to the next single cycle, the output would end up being around roughly 400 milliseconds, which should allow the attack phase of an acoustic instrument to be recognizable as the instrument.
Almost every wavetable I've ever seen contains synthesizer single cycle samples that create some sort of morphing sweep. I haven't seen any wavetables that contain just the attack phase of an acoustic instrument.
I would like to do something like the Roland D50 did with LA Synthesis (PCM attack phase coupled with a sustain phase), except use one of Hives oscillators for the attack phase with a custom wave file, and the sustain phase using the second oscillator.
Is this possible with Wavetables? Can a 2048 frame wavetable contain enough audio information to achieve this?
Thanks in advance!
I haven't seen any wavetables contain this kind of information, so that's why I am asking. I asked about this subject here:
viewtopic.php?p=8782365#p8782365
But, I am thinking it may be better for me to go straight to the source to see what is possible.
As I understand things, it takes 100-300 milliseconds of audio for the human brain to recognize a particular sound (such as an acoustic instrument--guitar pluck, blowing a horn, hitting a bell, etc). If I'm not mistaken, 2048 frames only allow for somewhere around 40 milliseconds of single cycle audio data. It seems reasonable that if a person sweeps through these cycles slow enough to, for example play each single cycle 10 times before interpolating to the next single cycle, the output would end up being around roughly 400 milliseconds, which should allow the attack phase of an acoustic instrument to be recognizable as the instrument.
Almost every wavetable I've ever seen contains synthesizer single cycle samples that create some sort of morphing sweep. I haven't seen any wavetables that contain just the attack phase of an acoustic instrument.
I would like to do something like the Roland D50 did with LA Synthesis (PCM attack phase coupled with a sustain phase), except use one of Hives oscillators for the attack phase with a custom wave file, and the sustain phase using the second oscillator.
Is this possible with Wavetables? Can a 2048 frame wavetable contain enough audio information to achieve this?
Thanks in advance!
Vendor‑Dependent Copy Protection: Customers lose. Pirates win.
(Also: I'm Accused of lying about Linux—it boots, runs my pro audio workflow, stays stable, updates--though yearly dismissed as “niche”. Yet I'm the deluded one.)
(Also: I'm Accused of lying about Linux—it boots, runs my pro audio workflow, stays stable, updates--though yearly dismissed as “niche”. Yet I'm the deluded one.)
-
- KVRian
- 814 posts since 18 May, 2007 from Berlin
The main hurdle (for me) would be that a wavetable isn't usually played back like x number of subsequent frames, one after the other, so that the result sounds like the full audio file played back. In the wavetable, each frame (that's 2048 samples in Hive's case) is looped until the synth crossfades (or hard-cuts) to the next looped frame. The result can sound grainy, choppy, with artifacts similar to old timestretch algorithms.audiojunkie wrote: Tue Nov 07, 2023 4:28 pm Almost every wavetable I've ever seen contains synthesizer single cycle samples that create some sort of morphing sweep. I haven't seen any wavetables that contain just the attack phase of an acoustic instrument.
That may or may not sound interesting, but it certainly deviates somewhat from the original source material.
(Also, perhaps your terminology is a bit mixed-up - a single frame in a Hive wavetable uses 2048 samples. A wavetable with 2048 frames, each with 2048 samples, that would be over a minute of audio, at regular audio playback speed, so that's perhaps not what meant.)
Some math:
Take a 48kHz sample rate for your project, that means one second of audio equals 48.000 samples taken for one second.
1s = 48.000 samples
0.1s = 100ms = 4800 samples
The default sample length of a single cycle in a Hive wavetable is 2048 samples, that's a little over 42ms for a single frame in a wavetable if you were to play it back like regular audio (don't know what note that would be in Hive though, I assume a lower note).
So 3-7 frames of a wavetable could already cover those 100-300ms of attack phase, again given the playback speed of a regular audio file.
In summary, it's certainly possible but the results may not sound like smooth precise instrument attack phases, as Hive doesn't have regular sample playback.
Viktor
- KVRAF
- Topic Starter
- 7060 posts since 19 Apr, 2002 from Utah
This is very useful! Thank you! I had no idea that a single cycle could be 2048 samples! I simply thought that a cycle = a sample. 2048 samples * 2048 frames is A LOT more to work with than I thought there was.Viktor [TUC] wrote: Tue Nov 07, 2023 5:25 pmThe main hurdle (for me) would be that a wavetable isn't usually played back like x number of subsequent frames, one after the other, so that the result sounds like the full audio file played back. In the wavetable, each frame (that's 2048 samples in Hive's case) is looped until the synth crossfades (or hard-cuts) to the next looped frame. The result can sound grainy, choppy, with artifacts similar to old timestretch algorithms.audiojunkie wrote: Tue Nov 07, 2023 4:28 pm Almost every wavetable I've ever seen contains synthesizer single cycle samples that create some sort of morphing sweep. I haven't seen any wavetables that contain just the attack phase of an acoustic instrument.
That may or may not sound interesting, but it certainly deviates somewhat from the original source material.
(Also, perhaps your terminology is a bit mixed-up - a single frame in a Hive wavetable uses 2048 samples. A wavetable with 2048 frames, each with 2048 samples, that would be over a minute of audio, at regular audio playback speed, so that's perhaps not what meant.)
Some math:
Take a 48kHz sample rate for your project, that means one second of audio equals 48.000 samples taken for one second.
1s = 48.000 samples
0.1s = 100ms = 4800 samples
The default sample length of a single cycle in a Hive wavetable is 2048 samples, that's a little over 42ms for a single frame in a wavetable if you were to play it back like regular audio (don't know what note that would be in Hive though, I assume a lower note).
So 3-7 frames of a wavetable could already cover those 100-300ms of attack phase, again given the playback speed of a regular audio file.
In summary, it's certainly possible but the results may not sound like smooth precise instrument attack phases, as Hive doesn't have regular sample playback.
Viktor
So, if I understand correctly, you are saying that problem is not the a limitation of data storage within the wavetable, but rather a limitation of the playback of the sweep through the frames. The playback would be similar to the oldest of samplers where the note interpolation is done through increasing the frequency of the sample, rather than filling in the missing data through the transposition process using high grade interpolation. So in short, it would likely result in the chipmunk effect? Supposedly, Hive has the best interpolation of all of the wavetable synths, so it seemed reasonable that it would transition from frame to frame better than other synths.
Am I understanding the problem correctly now? The further I am from the root note of the wavetable, the wavetable will play back faster than the speed it was recorded on, despite the control of LFOs?
Vendor‑Dependent Copy Protection: Customers lose. Pirates win.
(Also: I'm Accused of lying about Linux—it boots, runs my pro audio workflow, stays stable, updates--though yearly dismissed as “niche”. Yet I'm the deluded one.)
(Also: I'm Accused of lying about Linux—it boots, runs my pro audio workflow, stays stable, updates--though yearly dismissed as “niche”. Yet I'm the deluded one.)
-
- KVRian
- 814 posts since 18 May, 2007 from Berlin
Not just the oldest of samples, all modern samplers do that too, that's the standard way for how you get different pitches from a sample. Unless you employ some fancy CPU-heavy pitch manipulation algorithms, but I have no idea how these work.audiojunkie wrote: Tue Nov 07, 2023 6:06 pm So, if I understand correctly, you are saying that problem is not the a limitation of data storage within the wavetable, but rather a limitation of the playback of the sweep through the frames. The playback would be similar to the oldest of samplers where the note interpolation is done through increasing the frequency of the sample, rather than filling in the missing data through the transposition process using high grade interpolation. So in short, it would likely result in the chipmunk effect? Supposedly, Hive has the best interpolation of all of the wavetable synths, so it seemed reasonable that it would transition from frame to frame better than other synths.
Am I understanding the problem correctly now? The further I am from the root note of the wavetable, the wavetable will play back faster than the speed it was recorded on, despite the control of LFOs?
Hive just doesn't have regular sample playback. It'll read your WAV as a series of single cycle frames of 2048 samples, each single cycle loop continuously until you tell the oscillator to move on to the next single cycle frame.
One such frame, played back as a continuously looping single cycle, may not even loop smoothly if the audio material is a short noisy burst of information. Instrument attack phases contain all manner of non-periodic material, odd overtones, noise bits, fast pitch movements, etc.
Hive can blend smoothly between single cycles but it'll play back the material truthfully, so clicky uneven single cycle loops will sound like that too.
Now if you have one clicky uneven single cycle always looping then blend into the next, then into the next - while that'll give you an idea of what the original material sounded like, you'll hear all these overlapping uneven looping artifacts from the tiny loops, like you would in any wavetable engine from any synth. I'm just not sure that wavetable playback is the way to go for what you want to achieve, unless you can live with the aforementioned artifacts of course. It'll just not be the same as playing back the whole sample in one go.
Viktor
-
- KVRian
- 814 posts since 18 May, 2007 from Berlin
I should add, I heard someone do a flute type sound that way by adding a short recording of them blowing into a recorder, then using that as a wavetable in Hive 2 and it sounded pretty usable! There were no edits in the sample to make the tiny singly cycles smoother for looping, so some small artefacts were discernible.
Maybe just try it, see if you like the results.
Viktor
Maybe just try it, see if you like the results.
Viktor
- KVRAF
- 26953 posts since 3 Feb, 2005 from in the wilds
Synths like Icarus and Serum can convert audio samples to wavetables.audiojunkie wrote: Tue Nov 07, 2023 4:28 pm
I would like to do something like the Roland D50 did with LA Synthesis (PCM attack phase coupled with a sustain phase), except use one of Hives oscillators for the attack phase with a custom wave file, and the sustain phase using the second oscillator.
Is this possible with Wavetables? Can a 2048 frame wavetable contain enough audio information to achieve this?
As one example, I sometimes convert vocal sounds and words to wavetables. As long as you are playing them at or near the original pitch, they work well enough. That's long enough for transient samples too. Just don't expect a wide pitch range of multiple octaves. My experience doing this sort of stuff is 1 octave is about the best you can get in Hive.
The process of converting samples to wavetables is not automatically great sounding. I prefer Icarus for doing it and it takes some experience to get results that are free enough of artifacts that it wont be noticed.
Also, note that in converting samples to wavetables, any pitch data is lost. So if the sample depends on pitch changes for its character, you have to add that back in manually once it's a wavetable.
- KVRAF
- Topic Starter
- 7060 posts since 19 Apr, 2002 from Utah
This is all useful information! Thank you!
Vendor‑Dependent Copy Protection: Customers lose. Pirates win.
(Also: I'm Accused of lying about Linux—it boots, runs my pro audio workflow, stays stable, updates--though yearly dismissed as “niche”. Yet I'm the deluded one.)
(Also: I'm Accused of lying about Linux—it boots, runs my pro audio workflow, stays stable, updates--though yearly dismissed as “niche”. Yet I'm the deluded one.)
- KVRAF
- Topic Starter
- 7060 posts since 19 Apr, 2002 from Utah
I suspect that in order for me to pull this off, I'll have to use TAL-Sampler instead. TAL normally only has a global ADSR envelope, but I believe I can use ENV3 (Mod envelope) to modulate the Layer 2 volume. I was just hoping I wouldn't have to create multisamples for a process such as this. I guess I'll have to experiment with both to see what works best to get the job done. 
Vendor‑Dependent Copy Protection: Customers lose. Pirates win.
(Also: I'm Accused of lying about Linux—it boots, runs my pro audio workflow, stays stable, updates--though yearly dismissed as “niche”. Yet I'm the deluded one.)
(Also: I'm Accused of lying about Linux—it boots, runs my pro audio workflow, stays stable, updates--though yearly dismissed as “niche”. Yet I'm the deluded one.)
- KVRAF
- Topic Starter
- 7060 posts since 19 Apr, 2002 from Utah
Yes, it's definitely worth a try. It would be nice if Urs added a simple one shot audio playback oscillator option. I can't imagine it would be too much additional work, and it would really open up options for lots of new sounds for Hive 2.Viktor [TUC] wrote: Tue Nov 07, 2023 7:40 pm I should add, I heard someone do a flute type sound that way by adding a short recording of them blowing into a recorder, then using that as a wavetable in Hive 2 and it sounded pretty usable! There were no edits in the sample to make the tiny singly cycles smoother for looping, so some small artefacts were discernible.
Maybe just try it, see if you like the results.
Viktor
Would that be a possible option for Hive 2 Urs?
Vendor‑Dependent Copy Protection: Customers lose. Pirates win.
(Also: I'm Accused of lying about Linux—it boots, runs my pro audio workflow, stays stable, updates--though yearly dismissed as “niche”. Yet I'm the deluded one.)
(Also: I'm Accused of lying about Linux—it boots, runs my pro audio workflow, stays stable, updates--though yearly dismissed as “niche”. Yet I'm the deluded one.)
- KVRian
- 544 posts since 1 Jan, 2013 from Saint-Petersburg, Russia
In wavetables, the frame size of 2048 samples is simply a resolution of a single waveform cycle, stored in that frame. Hive supports wavetables with up to 256 frames, so you can store up to 524288 (2048*256) samples of data in a single wavetable. Which is around 11 seconds of 48kHz audio. 2048 sample long frame, when played in cycle, will give you a pitch of around F0 (if I remember it right). So for every note you play above F1 the will be pitched up. And if the frame stores not a cycle of a simple waveform but some sort of a transient, then we'll get a chipmunk effect at higher pitches. Similar to when working with samples. To avoid this, we need to split that transient and fit it into several frames, and ideally, take care of fades at the edges of each frame to remove unnecessary clicks. Then we would need to find a right speed at which to scan through such wavetable to avoid chipmunk effect, and then tune the oscillator to the right pitch. In short, it's doable but it will require some effort.audiojunkie wrote: Tue Nov 07, 2023 4:28 pm Does a 2048 frame wavetable contain enough audio information in single cycles to create the attack phase of a real acoustic instrument if swept through the whole wavetable?
I haven't seen any wavetables contain this kind of information, so that's why I am asking. I asked about this subject here:
viewtopic.php?p=8782365#p8782365
But, I am thinking it may be better for me to go straight to the source to see what is possible.
As I understand things, it takes 100-300 milliseconds of audio for the human brain to recognize a particular sound (such as an acoustic instrument--guitar pluck, blowing a horn, hitting a bell, etc). If I'm not mistaken, 2048 frames only allow for somewhere around 40 milliseconds of single cycle audio data. It seems reasonable that if a person sweeps through these cycles slow enough to, for example play each single cycle 10 times before interpolating to the next single cycle, the output would end up being around roughly 400 milliseconds, which should allow the attack phase of an acoustic instrument to be recognizable as the instrument.
Almost every wavetable I've ever seen contains synthesizer single cycle samples that create some sort of morphing sweep. I haven't seen any wavetables that contain just the attack phase of an acoustic instrument.
I would like to do something like the Roland D50 did with LA Synthesis (PCM attack phase coupled with a sustain phase), except use one of Hives oscillators for the attack phase with a custom wave file, and the sustain phase using the second oscillator.
Is this possible with Wavetables? Can a 2048 frame wavetable contain enough audio information to achieve this?
Thanks in advance!
Great thing about Hive, is that it has the multitable feature, which technically allows us to store several transients in a single wavetable, and then morph or hard switch between them for different pitches, velocities etc. That would be an interesting direction to explore.
- KVRAF
- Topic Starter
- 7060 posts since 19 Apr, 2002 from Utah
Great info! Thanks! I agree, it would be an interesting direction to explore!drzhnn wrote: Tue Nov 07, 2023 8:25 pmIn wavetables, the frame size of 2048 samples is simply a resolution of a single waveform cycle, stored in that frame. Hive supports wavetables with up to 256 frames, so you can store up to 524288 (2048*256) samples of data in a single wavetable. Which is around 11 seconds of 48kHz audio. 2048 sample long frame, when played in cycle, will give you a pitch of around F0 (if I remember it right). So for every note you play above F1 the will be pitched up. And if the frame stores not a cycle of a simple waveform but some sort of a transient, then we'll get a chipmunk effect at higher pitches. Similar to when working with samples. To avoid this, we need to split that transient and fit it into several frames, and ideally, take care of fades at the edges of each frame to remove unnecessary clicks. Then we would need to find a right speed at which to scan through such wavetable to avoid chipmunk effect, and then tune the oscillator to the right pitch. In short, it's doable but it will require some effort.audiojunkie wrote: Tue Nov 07, 2023 4:28 pm Does a 2048 frame wavetable contain enough audio information in single cycles to create the attack phase of a real acoustic instrument if swept through the whole wavetable?
I haven't seen any wavetables contain this kind of information, so that's why I am asking. I asked about this subject here:
viewtopic.php?p=8782365#p8782365
But, I am thinking it may be better for me to go straight to the source to see what is possible.
As I understand things, it takes 100-300 milliseconds of audio for the human brain to recognize a particular sound (such as an acoustic instrument--guitar pluck, blowing a horn, hitting a bell, etc). If I'm not mistaken, 2048 frames only allow for somewhere around 40 milliseconds of single cycle audio data. It seems reasonable that if a person sweeps through these cycles slow enough to, for example play each single cycle 10 times before interpolating to the next single cycle, the output would end up being around roughly 400 milliseconds, which should allow the attack phase of an acoustic instrument to be recognizable as the instrument.
Almost every wavetable I've ever seen contains synthesizer single cycle samples that create some sort of morphing sweep. I haven't seen any wavetables that contain just the attack phase of an acoustic instrument.
I would like to do something like the Roland D50 did with LA Synthesis (PCM attack phase coupled with a sustain phase), except use one of Hives oscillators for the attack phase with a custom wave file, and the sustain phase using the second oscillator.
Is this possible with Wavetables? Can a 2048 frame wavetable contain enough audio information to achieve this?
Thanks in advance!
Great thing about Hive, is that it has the multitable feature, which technically allows us to store several transients in a single wavetable, and then morph or hard switch between them for different pitches, velocities etc. That would be an interesting direction to explore.
Vendor‑Dependent Copy Protection: Customers lose. Pirates win.
(Also: I'm Accused of lying about Linux—it boots, runs my pro audio workflow, stays stable, updates--though yearly dismissed as “niche”. Yet I'm the deluded one.)
(Also: I'm Accused of lying about Linux—it boots, runs my pro audio workflow, stays stable, updates--though yearly dismissed as “niche”. Yet I'm the deluded one.)
