Blamsoft and eXode present: eXpanse - Hyperwave Synthesizer

This forum is for discussing Rack Extensions. Devs are all welcome to show off their goods.
User avatar
Loque
Moderator
Posts: 11213
Joined: 28 Dec 2015

27 Jan 2017

eXode wrote:
manisnotabird wrote:Is there a best way to share homemade wavetables with other users? Also, I assume a patch you've created with a wavetable saves the wavetable with the patch?
You have to share the sample, just like the NN-19 or similar. The wavetable is not saved with the patch. You should be able to make custom wavetables and presets and save these into a ReFill, but I haven't tried this myself yet actually. :)
I just noticed, that the samples are not saved within the patch. Do you know, if this will change in the near future (guess due to SDK changes)?
Reason12, Win10

User avatar
eXode
Posts: 838
Joined: 11 Feb 2015

27 Jan 2017

Loque wrote:
eXode wrote:
manisnotabird wrote:Is there a best way to share homemade wavetables with other users? Also, I assume a patch you've created with a wavetable saves the wavetable with the patch?
You have to share the sample, just like the NN-19 or similar. The wavetable is not saved with the patch. You should be able to make custom wavetables and presets and save these into a ReFill, but I haven't tried this myself yet actually. :)
I just noticed, that the samples are not saved within the patch. Do you know, if this will change in the near future (guess due to SDK changes)?
I do not know to be honest, but a guess would be no because that's how all the other devices (including Reason's own devices) currently operate.

scratchnsnifff
Posts: 1423
Joined: 21 Sep 2016

27 Jan 2017

eXode wrote:
Loque wrote:
eXode wrote:
manisnotabird wrote:Is there a best way to share homemade wavetables with other users? Also, I assume a patch you've created with a wavetable saves the wavetable with the patch?
You have to share the sample, just like the NN-19 or similar. The wavetable is not saved with the patch. You should be able to make custom wavetables and presets and save these into a ReFill, but I haven't tried this myself yet actually. :)
I just noticed, that the samples are not saved within the patch. Do you know, if this will change in the near future (guess due to SDK changes)?
I do not know to be honest, but a guess would be no because that's how all the other devices (including Reason's own devices) currently operate.

Tested it last night, it saved a RE patch file but when I looked for it in my browser it wasn't there so yeah I'd say you have to refill it and have the sample with it like the NNXT or 19 patches hey exode, i was thinking and had a question is making a sound processing it bouncing it and then throwing it back into expanse and re modifying it and processing it considered resampling? Or would this be considered resynthesis? And the new update does it actually playback the audio for some wavetables or does it essentially recreate the wavetables using harmonics and other WTs that expanse already has just wondering and hope ya get what I mean :p
Mayor of plucktown :evil:

User avatar
eXode
Posts: 838
Joined: 11 Feb 2015

27 Jan 2017

scratchnsnifff wrote:hey exode, i was thinking and had a question is making a sound processing it bouncing it and then throwing it back into expanse and re modifying it and processing it considered resampling? Or would this be considered resynthesis? And the new update does it actually playback the audio for some wavetables or does it essentially recreate the wavetables using harmonics and other WTs that expanse already has just wondering and hope ya get what I mean :p
Not sure I understand completely, and not sure I can explain completely. :)

Simply put, the wavetable is a sample of a low note, you can either have 256 frames that make up a full table, or you could have just 4 or 5 frames that are morphed smoothly with the fade or morph algorithms. But yes, Expanse loads the actual sample that you throw at it, otherwise we wouldn't have the problem with the patch not saving the sample that the table is based on. It's quite similar to Serum in that sense, as far as I understand.

I don't know if this was posted yet but here's another tutorial for creating wavetables: Expanse - Creating Wavetables | Blamsoft

It is important to remember though that you will get better or worse results depending on the source material. A snippet of music that has several pitches etc will not work as well as i.e. a sustained note with some sort of mod sweep or varying waveforms with a constant pitch.

User avatar
riemac
Posts: 577
Joined: 21 Jan 2015
Location: Germany

27 Jan 2017

What is really fantastic, is that you can record a sample with a filtersweep and load that in Expanse as a wavetable.
Then you can disable the filter and use an envelope to modify the wavetable position. The result sounds exactly like the real filter was used,
as if the original filterresponse is imprinted in the wavetable. One additional benefit is, that it is more cpu efficient, because the filter is deactivated.

User avatar
alex
Posts: 397
Joined: 16 Jan 2015
Location: Italy
Contact:

27 Jan 2017

Stunning upgrade @eXdode and @Blamsoft! :thumbs_up:
I can see myself spending the whole weekend having fun by sampling wavetables out of Parsec and use them inside eXpanse! Or Imagine to use Uhbik-G or Echobode to create weird evolving synth sounds and then process them with the eXpanse modifiers. Or use vocoded phrases as wavetable and apply full stereo unison... and .... well, just mind blowing!!! Once you start you simply can't stop! :D
The best things happen after reading the manual. ;)
:reason: :re: :refill: :ignition:

scratchnsnifff
Posts: 1423
Joined: 21 Sep 2016

27 Jan 2017

eXode wrote:
scratchnsnifff wrote:hey exode, i was thinking and had a question is making a sound processing it bouncing it and then throwing it back into expanse and re modifying it and processing it considered resampling? Or would this be considered resynthesis? And the new update does it actually playback the audio for some wavetables or does it essentially recreate the wavetables using harmonics and other WTs that expanse already has just wondering and hope ya get what I mean :p
Not sure I understand completely, and not sure I can explain completely. :)

Simply put, the wavetable is a sample of a low note, you can either have 256 frames that make up a full table, or you could have just 4 or 5 frames that are morphed smoothly with the fade or morph algorithms. But yes, Expanse loads the actual sample that you throw at it, otherwise we wouldn't have the problem with the patch not saving the sample that the table is based on. It's quite similar to Serum in that sense, as far as I understand.

I don't know if this was posted yet but here's another tutorial for creating wavetables: Expanse - Creating Wavetables | Blamsoft

It is important to remember though that you will get better or worse results depending on the source material. A snippet of music that has several pitches etc will not work as well as i.e. a sustained note with some sort of mod sweep or varying waveforms with a constant pitch.

Gotchya, yeah I saw in a Steve Duda/seamless interview that sounds that have no pitch modulation and sustained notes work the best and your answer makes sense to me, I just remember learning about FL harmor and how it can take an input sound and recreate it using its oscillators/using harmonics didn't know if this was the same concept but anyways thanks and you guys have unlocked so much potential with expanse and it has helped my music so much can't wait to release these bombs
Mayor of plucktown :evil:

User avatar
Exowildebeest
Posts: 1553
Joined: 16 Jan 2015

27 Jan 2017

scratchnsnifff wrote:
eXode wrote:
scratchnsnifff wrote:hey exode, i was thinking and had a question is making a sound processing it bouncing it and then throwing it back into expanse and re modifying it and processing it considered resampling? Or would this be considered resynthesis? And the new update does it actually playback the audio for some wavetables or does it essentially recreate the wavetables using harmonics and other WTs that expanse already has just wondering and hope ya get what I mean :p
Not sure I understand completely, and not sure I can explain completely. :)

Simply put, the wavetable is a sample of a low note, you can either have 256 frames that make up a full table, or you could have just 4 or 5 frames that are morphed smoothly with the fade or morph algorithms. But yes, Expanse loads the actual sample that you throw at it, otherwise we wouldn't have the problem with the patch not saving the sample that the table is based on. It's quite similar to Serum in that sense, as far as I understand.

I don't know if this was posted yet but here's another tutorial for creating wavetables: Expanse - Creating Wavetables | Blamsoft

It is important to remember though that you will get better or worse results depending on the source material. A snippet of music that has several pitches etc will not work as well as i.e. a sustained note with some sort of mod sweep or varying waveforms with a constant pitch.

Gotchya, yeah I saw in a Steve Duda/seamless interview that sounds that have no pitch modulation and sustained notes work the best and your answer makes sense to me, I just remember learning about FL harmor and how it can take an input sound and recreate it using its oscillators/using harmonics didn't know if this was the same concept but anyways thanks and you guys have unlocked so much potential with expanse and it has helped my music so much can't wait to release these bombs
As I understand it, in Expanse it's Wavetable -> Additive (the partial editor) -> Subtractive (the filters).

I have no experience with Harmor, but that one might be Additive -> Subtractive. In this case FFT would be used to extract harmonics from a sample.

pinton
Posts: 17
Joined: 13 May 2015

28 Jan 2017

Hi,

I'm having a lot of fun creating my own wave tables in Python2, so I thought I'd send you guys my little script. Currently it creates a nice FM4 style wave morphing between 1 and 2 humps. Sounds nice in Expanse. Its fun to play around with the maths on line 19 and see what happens!!

Code: Select all

#!/usr/bin/python

import wave
import struct
import math

FRAME_COUNT = 256
FRAME_SIZE = 2048
FILENAME = "wave_table.wav"

WAV_FILE = wave.open(FILENAME, 'w')
WAV_FILE.setparams((1, 2, 44100, FRAME_COUNT, 'NONE', 'not compressed'))

VALUES = ""

for i in xrange(FRAME_COUNT):
    for ii in xrange(FRAME_SIZE):

        VALUE = math.sin((float(ii)/FRAME_SIZE) * (i+128)/256 * 2 * math.pi) * 65535 

        if VALUE < 0:
            VALUE = 0

        VALUE -= 32768

        VALUES += struct.pack('h', VALUE)

WAV_FILE.writeframes(VALUES)
WAV_FILE.close()

print "Created " + FILENAME

User avatar
Shokstar
Posts: 371
Joined: 15 Jan 2015
Contact:

28 Jan 2017

I guess there is a bug in Expanse.

I created a wavetable of one of my growl basses and the first works it well with Expanse via drag and drop. But on a second try with the same sample was the sample shown as a flat line and it wasn't audible anymore. The same result after deleting the device and using a new one.

User avatar
eXode
Posts: 838
Joined: 11 Feb 2015

28 Jan 2017

Shokstar wrote:I guess there is a bug in Expanse.

I created a wavetable of one of my growl basses and the first works it well with Expanse via drag and drop. But on a second try with the same sample was the sample shown as a flat line and it wasn't audible anymore. The same result after deleting the device and using a new one.
It's not too clear what you have done or what you're trying to achieve. Could you elaborate a little on how to reproduce the error, perhaps provide the file in question? :)

User avatar
dvdrtldg
Posts: 2402
Joined: 17 Jan 2015

28 Jan 2017

^^^ I'm having a similar issue. I created a bunch of 10-second samples, each one a low note (F1) from a Parsec pad. Some of them load and play in eXpanse with no problem, others show up in the waveform window as a flat line and silence

User avatar
eXode
Posts: 838
Joined: 11 Feb 2015

28 Jan 2017

Shokstar wrote:I guess there is a bug in Expanse.

I created a wavetable of one of my growl basses and the first works it well with Expanse via drag and drop. But on a second try with the same sample was the sample shown as a flat line and it wasn't audible anymore. The same result after deleting the device and using a new one.
dvdrtldg wrote:^^^ I'm having a similar issue. I created a bunch of 10-second samples, each one a low note (F1) from a Parsec pad. Some of them load and play in eXpanse with no problem, others show up in the waveform window as a flat line and silence
Please send possible bug findings to info@blamsoft.com and we'll take it from there.

User avatar
Emian
Posts: 712
Joined: 16 Jan 2015

28 Jan 2017

i have one question : on the back panel, there's the global pitch CV-in ... does it do the same as the OSC-pitch CV-in on the back of Subtractor?


"i might be established, but i'll never be establishement "
- Dave Clarke -www.soundcloud.com/emian

User avatar
eXode
Posts: 838
Joined: 11 Feb 2015

28 Jan 2017

Emian wrote:i have one question : on the back panel, there's the global pitch CV-in ... does it do the same as the OSC-pitch CV-in on the back of Subtractor?
It's a global pitch to control the pitch of all oscillators simultaneously. There are individual pitch CV inputs for each oscillator as well. It's not intended for sequencing though, there's a note input for that.

User avatar
Emian
Posts: 712
Joined: 16 Jan 2015

28 Jan 2017

eXode wrote:
Emian wrote:i have one question : on the back panel, there's the global pitch CV-in ... does it do the same as the OSC-pitch CV-in on the back of Subtractor?
It's a global pitch to control the pitch of all oscillators simultaneously. There are individual pitch CV inputs for each oscillator as well. It's not intended for sequencing though, there's a note input for that.
thx for the fast reply Exode ! my question was not intended for note input, more to do something like i questioned here : viewtopic.php?f=5&t=7498077&p=299468&hi ... ng#p299468


"i might be established, but i'll never be establishement "
- Dave Clarke -www.soundcloud.com/emian

User avatar
teddymcw
Posts: 432
Joined: 13 May 2016

28 Jan 2017

pinton wrote:Hi,

I'm having a lot of fun creating my own wave tables in Python2, so I thought I'd send you guys my little script. Currently it creates a nice FM4 style wave morphing between 1 and 2 humps. Sounds nice in Expanse. Its fun to play around with the maths on line 19 and see what happens!!

Wow, awesome. Thank you!

User avatar
alex
Posts: 397
Joined: 16 Jan 2015
Location: Italy
Contact:

28 Jan 2017

pinton wrote:Hi,

I'm having a lot of fun creating my own wave tables in Python2, so I thought I'd send you guys my little script. Currently it creates a nice FM4 style wave morphing between 1 and 2 humps. Sounds nice in Expanse. Its fun to play around with the maths on line 19 and see what happens!!

Code: Select all

#!/usr/bin/python

import wave
import struct
import math

FRAME_COUNT = 256
FRAME_SIZE = 2048
FILENAME = "wave_table.wav"

WAV_FILE = wave.open(FILENAME, 'w')
WAV_FILE.setparams((1, 2, 44100, FRAME_COUNT, 'NONE', 'not compressed'))

VALUES = ""

for i in xrange(FRAME_COUNT):
    for ii in xrange(FRAME_SIZE):

        VALUE = math.sin((float(ii)/FRAME_SIZE) * (i+128)/256 * 2 * math.pi) * 65535 

        if VALUE < 0:
            VALUE = 0

        VALUE -= 32768

        VALUES += struct.pack('h', VALUE)

WAV_FILE.writeframes(VALUES)
WAV_FILE.close()

print "Created " + FILENAME
Thanks for sharing man! Amazing script, python is an extremely elegant and coincise language.
I wish I had some math skills to understand that line 19... :( but I'll start randomly changing the numbers as you suggest :puf_smile:
The best things happen after reading the manual. ;)
:reason: :re: :refill: :ignition:

User avatar
tiker01
Moderator
Posts: 1424
Joined: 16 Jan 2015

28 Jan 2017

alex wrote:
pinton wrote:Hi,

I'm having a lot of fun creating my own wave tables in Python2, so I thought I'd send you guys my little script. Currently it creates a nice FM4 style wave morphing between 1 and 2 humps. Sounds nice in Expanse. Its fun to play around with the maths on line 19 and see what happens!!

Code: Select all

#!/usr/bin/python

import wave
import struct
import math

FRAME_COUNT = 256
FRAME_SIZE = 2048
FILENAME = "wave_table.wav"

WAV_FILE = wave.open(FILENAME, 'w')
WAV_FILE.setparams((1, 2, 44100, FRAME_COUNT, 'NONE', 'not compressed'))

VALUES = ""

for i in xrange(FRAME_COUNT):
    for ii in xrange(FRAME_SIZE):

        VALUE = math.sin((float(ii)/FRAME_SIZE) * (i+128)/256 * 2 * math.pi) * 65535 

        if VALUE < 0:
            VALUE = 0

        VALUE -= 32768

        VALUES += struct.pack('h', VALUE)

WAV_FILE.writeframes(VALUES)
WAV_FILE.close()

print "Created " + FILENAME
Thanks for sharing man! Amazing script, python is an extremely elegant and coincise language.
I wish I had some math skills to understand that line 19... :( but I'll start randomly changing the numbers as you suggest :puf_smile:
I am not sure it is necessary to this outside of eXpanse as it has a handful algorithm even morphing. Check the article on Reasontalk.com for the linked Blamsoft tutorial.
    
Budapest, Hungary
Reason 11 Suite
Lenovo ThinkPad e520 Win10x64 8GB RAM Intel i5-2520M 2,5-3,2 GHz and AMD 6630M with 1GB of memory.
:rt: :reason: :essentials: :re: :refill: :PUF_balance: :ignition: :PUF_figure:

User avatar
FGL
Posts: 412
Joined: 23 Jan 2015

07 Feb 2017

Some Notes after work deeper with Expanse. Wavetables are much fun but not that different from the things you can do with the inbuild tables and the modulation possibilitys.

I found a Bug because I do some Folder Organisation for my selfmade Wavetables. If you made a Patch with some Wavetable, the Wavetable is always stored in the Patch. If you switch back an make a Patch out of some Patch with a User-Wavetable the Device don't delete it and will always ask for this Wavetable. There is no possibilty to delete it.

Also I have serious Problems to use Expanse with the Matrix. Tied Notes are not playing like in other Devices. Not good for the Workflow if you have stored many Synthpatterns in the Matrix and like to use the Matrix for Patch making. You cant do longer Notes and check Pads if it works like this.

User avatar
eXode
Posts: 838
Joined: 11 Feb 2015

07 Feb 2017

FGL wrote:Some Notes after work deeper with Expanse. Wavetables are much fun but not that different from the things you can do with the inbuild tables and the modulation possibilitys.

I found a Bug because I do some Folder Organisation for my selfmade Wavetables. If you made a Patch with some Wavetable, the Wavetable is always stored in the Patch. If you switch back an make a Patch out of some Patch with a User-Wavetable the Device don't delete it and will always ask for this Wavetable. There is no possibilty to delete it.

Also I have serious Problems to use Expanse with the Matrix. Tied Notes are not playing like in other Devices. Not good for the Workflow if you have stored many Synthpatterns in the Matrix and like to use the Matrix for Patch making. You cant do longer Notes and check Pads if it works like this.
Like always, mail any suspected bugs to info@blamsoft.com if you haven't already. :)

User avatar
theshoemaker
Posts: 595
Joined: 21 Nov 2015
Location: Germany
Contact:

07 Feb 2017

riemac wrote:What is really fantastic, is that you can record a sample with a filtersweep and load that in Expanse as a wavetable.
Then you can disable the filter and use an envelope to modify the wavetable position. The result sounds exactly like the real filter was used,
as if the original filterresponse is imprinted in the wavetable. One additional benefit is, that it is more cpu efficient, because the filter is deactivated.
Try that with any other effect like convolution reverb for example or whatever comes into your mind ;)
:PUF_figure: latest :reason: V12 on MacOS Ventura

User avatar
FGL
Posts: 412
Joined: 23 Jan 2015

07 Feb 2017

Thanks. I hoped also for some workarounds. If I am the only one who notice something, it always possible that it is me and not the Device. But now I send it to Blamesoft.

User avatar
tiker01
Moderator
Posts: 1424
Joined: 16 Jan 2015

07 Feb 2017

FGL wrote: Blamesoft.
:D :D :D
    
Budapest, Hungary
Reason 11 Suite
Lenovo ThinkPad e520 Win10x64 8GB RAM Intel i5-2520M 2,5-3,2 GHz and AMD 6630M with 1GB of memory.
:rt: :reason: :essentials: :re: :refill: :PUF_balance: :ignition: :PUF_figure:

User avatar
FGL
Posts: 412
Joined: 23 Jan 2015

07 Feb 2017

Hehe. Blam!

Post Reply
  • Information
  • Who is online

    Users browsing this forum: No registered users and 7 guests