Go Back   AudioPioneers.Net > Sound Design
Register FAQ Members List Calendar Search Today's Posts Mark Forums Read


Reply
 
Thread Tools
  #31  
Old 03-04-2008
Xavier Xavier is offline
0, 1, 1, 2, 3, 5, 8, 13..
 
Join Date: Jul 2007
Location: Japan
Posts: 22
Send a message via AIM to Xavier Send a message via MSN to Xavier
Quote:
Originally Posted by everyMan View Post
Why don't you use a richer wavetable for lower notes ?
I(xmidiman) and others have found a bug with the wavetables in synthmaker.
I've tried 512, 1024, 2048, 4096, and even 8192 and it didnt help. I believe it might have to do with the bandlimiting it does on the wavetables.

http://synthmaker.co.uk/forum/viewtopic.php?t=5032

Devs posted back "Don't worry this hasn't been forgotton - still looking into it. Thanks for your patience."

Since there is the new FL Synthmaker version, they haven't really been active(it seems) on the forums
Reply With Quote
  #32  
Old 03-05-2008
everyMan everyMan is offline
Entice
 
Join Date: Jun 2005
Location: Paris
Age: 26
Posts: 251
Bandlimiting is one thing, oversampling is another.
It seems that you only provide a single, big oversampled wavetable playing a low note and you let synthmaker generate the other notes for you, is that right ?
I assume the original wavetable is already bandlimited ? Because if it aliases, you will get aliasing whatever processing synthmaker will do on it.

What I do is generating a bandlimited wavetable for each 128 midi notes. Like this I can play higher notes without aliasing and also lower notes without loosing too much high frequencies. The lower the note, the bigger the wavetable, and the richer the harmonics.
Each wavetable is oversampled X2 at the moment.

I still have some bugs due to hermite interpolation when resampling from the wavetables but I think they will soon be fixed.
Reply With Quote
  #33  
Old 03-05-2008
Xavier Xavier is offline
0, 1, 1, 2, 3, 5, 8, 13..
 
Join Date: Jul 2007
Location: Japan
Posts: 22
Send a message via AIM to Xavier Send a message via MSN to Xavier
Quote:
Originally Posted by everyMan View Post
Bandlimiting is one thing, oversampling is another.
It seems that you only provide a single, big oversampled wavetable playing a low note and you let synthmaker generate the other notes for you, is that right ?
I assume the original wavetable is already bandlimited ? Because if it aliases, you will get aliasing whatever processing synthmaker will do on it.

What I do is generating a bandlimited wavetable for each 128 midi notes. Like this I can play higher notes without aliasing and also lower notes without loosing too much high frequencies. The lower the note, the bigger the wavetable, and the richer the harmonics.
Each wavetable is oversampled X2 at the moment.

I still have some bugs due to hermite interpolation when resampling from the wavetables but I think they will soon be fixed.
Synthmaker's way is bandlimiting. For the wavetables, if you decide to make your own, it is represented by x(wavetable size) Float Array points between -1 & +1 and you save it in a txt file. From the PDF on their website(this is old info BTW, they have since changed it to multiples of 2, so 512, 1024 etc...):
"The Wave Table componet will take any 256 sample wave and create a bandlimited wavetable. This allows you to define your own waveform and turn it into a playable sound source which does not alias. The componet uses FFT analysis to remove unwanted frequencies from the wave and creates 256 bandlimited tables which can be read using the Wave Table Read component."

So basically when I need to make a 1024 size wavetable, I make the waveform 1024 samples long, you can't really go by low notes, it has to fit inside the amount of samples. This is why its represented in Float Array instead, no matter what frequency you sample the waveform at, it will always retain its same shape, only the frequency changes and also the amount of samples. A sawtooth at C7 *should* look the same as C2, but the amount of samples required to "capture" a single cycle is higher the lower the frequency. I guess the Array size of samples also is a way to describe the resolution of how it represents the original wave form in float points.

You know I just read everything I wrote and I confused myself, so I will probably edit this when I get home!

Last edited by Xavier : 03-06-2008 at 07:34 AM. Reason: information not applicable to reply
Reply With Quote
  #34  
Old 03-07-2008
everyMan everyMan is offline
Entice
 
Join Date: Jun 2005
Location: Paris
Age: 26
Posts: 251
Quote:
Originally Posted by Xavier View Post
"The Wave Table componet will take any 256 sample wave and create a bandlimited wavetable."
This assumes that the 1024 wave data you provide in input is alias-free. There is no magic way to remove aliasing from a discrete signal if there is already some. But I think you record the JP so there is no problem with that.

Quote:
I make the waveform 1024 samples long
How do you proceed ? Using resampling fonction in an audio editor over a recorded JP osc ? If so, how much the resampling amount is (it should be really low) ?
The recorded sample in itself does not contain aliasing because AD converters of your sound card bandlimits the input signal (it filters frequencies above sampling frequency divided by 2 also know as Nyquist or Shannon).
When resampling faster than the original sound, the frequencies are shifted up and alias. It could be avoided by filtering the sound just before resampling. I hope every audio editor do this whith their resampling fonction.
When resampling lower, frequencies are shifted down so they don't alias, but there is no way to reintroduce the very high frequencies just before Nyquist. The data is lost and the sound can lack some high frequencies.

Quote:
This is why its represented in Float Array instead
instead of what ? The wavetables I make are also float arrays, as it is the VST standard representation for signals/sounds.

Quote:
The component uses FFT analysis to remove unwanted frequencies from the wave and creates 256 bandlimited tables which can be read using the Wave Table Read component
Ok, in fact, we do the same with different method. I also create a lot of tables, each bandlimited, but I provide them ready in a binary file (not text). It takes a lot more disk space but it loads very fast when the synth is launch as Synthmaker needs to process the wave to build all the tables. But I should go that way too, as it would remove the need to attach big wavetables data into a separate directory...

Quote:
the amount of samples required to "capture" a single cycle is higher the lower the frequency
True, obviously.

Quote:
I guess the Array size of samples also is a way to describe the resolution of how it represents the original wave form in float points.
There is something I don't get. Ok, you must provide a power of 2 sized array of samples, but when do you tell synthmaker the sampling frequency used ? Because it can't do anything without this information. Is this imposed ?

EDIT : In fact you are right, it seems to be be possible to FFT and remove high freqs without even knowing the incoming samplerate.

Quote:
no matter what frequency you sample the waveform at, it will always retain its same shape, only the frequency changes and also the amount of samples. A sawtooth at C7 *should* look the same as C2
I understand what you mean and i agree, but, to be correct, it is wrong :
the shape of a waveform is directly binded to its frenquency spectrum. If you add or remove some frequencies, you will get a different shape.
Synthmaker make bandlimited tables, that means they remove frequencies before doing a resampling operation.
A bandlimited sawtooth played at a very low note will look like a sharp edged sawtooth modulo some gibbs phenomenon whereas a very high note bandlimited sawtooth will look like a sine because all the above frequencies were removed before the shift to get rid of aliasing.
In that sense, the resulting shape of the wave is changing.

Quote:
You know I just read everything I wrote and I confused myself, so I will probably edit this when I get home!
DSP is a very complex world as it introduces lot of non trivials notions. *Headaches* But it is also very fun when you get results!

Last edited by everyMan : 03-09-2008 at 12:16 PM.
Reply With Quote
  #35  
Old 03-14-2008
Xavier Xavier is offline
0, 1, 1, 2, 3, 5, 8, 13..
 
Join Date: Jul 2007
Location: Japan
Posts: 22
Send a message via AIM to Xavier Send a message via MSN to Xavier
Quote:
Originally Posted by everyMan View Post
This assumes that the 1024 wave data you provide in input is alias-free. There is no magic way to remove aliasing from a discrete signal if there is already some. But I think you record the JP so there is no problem with that.

How do you proceed ? Using resampling fonction in an audio editor over a recorded JP osc ? If so, how much the resampling amount is (it should be really low) ?
The recorded sample in itself does not contain aliasing because AD converters of your sound card bandlimits the input signal (it filters frequencies above sampling frequency divided by 2 also know as Nyquist or Shannon).
When resampling faster than the original sound, the frequencies are shifted up and alias. It could be avoided by filtering the sound just before resampling. I hope every audio editor do this whith their resampling fonction.
When resampling lower, frequencies are shifted down so they don't alias, but there is no way to reintroduce the very high frequencies just before Nyquist. The data is lost and the sound can lack some high frequencies.
Thank you for you response.
The main problem, headache I was getting from my last post was I was confused with how I have things set up now, compared to how I originally started out with the wavetables.
BEFORE: I have never sampled the supersaw waveform and used it in a wavetable(you can't), however I was testing the sawtooth/square oscs which were 2048 sample size, 189.4khz and I forget what note(F#1 maybe). This whole project with the JP's sawtooth and square waves was ended because there didn't seem to be any benifit in quality, since they appeared(and sounded) like normal waveforms. I am not trying to do a JP80x0 clone, that was never my project, but I am trying to use things I like from it and try to emulate them.(This is in my first post) The reason for trying out the JP's saw/square waveforms out was just for a reference.

NOW: All the osc I am using, are wavetables that their float arrays came from either code, or code that drew the waveform for me, like starting from -1 and interpolating to +1 over however many samples to make a sawtooth for example. So the source is not a recorded sample, its I guess pure ALIASING in its raw form, however once the bandlimiting is done, everything is normal. If your not familar with wave draw or wavetables (without recording anything), I do not know how to explain it without recommending you try Synthmaker.

Quote:
instead of what ? The wavetables I make are also float arrays, as it is the VST standard representation for signals/sounds.
My ignorance to your knowledge of VSTs or coding should not require sarcastic remarks!

Quote:
There is something I don't get. Ok, you must provide a power of 2 sized array of samples, but when do you tell synthmaker the sampling frequency used ? Because it can't do anything without this information. Is this imposed ?

EDIT : In fact you are right, it seems to be be possible to FFT and remove high freqs without even knowing the incoming samplerate.
I had figured this was possible because your only dealing with samples and in synthmaker your defining how many samples you will be using.

Quote:
I understand what you mean and i agree, but, to be correct, it is wrong :
the shape of a waveform is directly binded to its frenquency spectrum. If you add or remove some frequencies, you will get a different shape.
Synthmaker make bandlimited tables, that means they remove frequencies before doing a resampling operation.
A bandlimited sawtooth played at a very low note will look like a sharp edged sawtooth modulo some gibbs phenomenon whereas a very high note bandlimited sawtooth will look like a sine because all the above frequencies were removed before the shift to get rid of aliasing.
In that sense, the resulting shape of the wave is changing.
I thought my asterisks would take care of this one, but I knew you might take a stab.
I guess I was thinking more along the lines of how I am used to messing with raw waveforms, not recorded single cycle files.

Quote:
DSP is a very complex world as it introduces lot of non trivials notions. *Headaches* But it is also very fun when you get results!
Work 18 hours overtime dealing with RF 5-750Mhz and come home and try to talk about DSP online I guess you can't be too mad at me I'm bound to get the 2 confused once in awhile.

OK I hope you don't do the 10 chop quotes again cuz it took me about 30 mins to reply to you!!!
Reply With Quote
  #36  
Old 08-08-2008
Xavier Xavier is offline
0, 1, 1, 2, 3, 5, 8, 13..
 
Join Date: Jul 2007
Location: Japan
Posts: 22
Send a message via AIM to Xavier Send a message via MSN to Xavier
Hi,

I didn't give up on this project just yet... Very busy but still have been trying to find all the bugs and add new things as I go...
I have a couple of samples from different builds of the synth as I've been going... the latest being XO_DUMB_01f-Maxiums.mp3.
I was trying out Maxiums since I don't have all my tools install on my new PC for that file and I think the kick may be a little too loud for my tastes.

These are not exactly only supersaw-ish sounds, some bass stuff or strange stuff too with a usual filter sweep somewhere in it testing.
Also sorry about all the levels in these, can't really remember what I did to them.

XO_NEWBEATS_01c2+brightplucklead.mp3 = only bass is my synth
XO_SS_SM_091_TEST3 Cygnus X - Superstringfix.mp3 = OLD version...only put this one here because I previously posted this same one but there was a bug i fixed that had it sounding too thin...you can always compare for yourself.

Thanks,
Xavier
Attached Files
File Type: mp3 XO_0094il_test_01.mp3 (1.05 MB, 21 views)
File Type: mp3 XO_0094ij_test_01.mp3 (2.36 MB, 18 views)
File Type: mp3 XO_AGAINST_ALL_ODDS_01.mp3 (1.71 MB, 21 views)
File Type: mp3 XO_NEWBEATS_01c2+brightplucklead.mp3 (581.7 KB, 28 views)
File Type: mp3 XO_SS_SM_091_TEST3 Cygnus X - Superstringfix.mp3 (1,020.4 KB, 23 views)
File Type: mp3 XO_DUMB_01f-Maxiums.mp3 (1.57 MB, 22 views)
Reply With Quote
  #37  
Old 08-08-2008
Eliran Haliva Eliran Haliva is offline
I've proved my worth.
 
Join Date: Nov 2006
Location: Israel
Age: 23
Posts: 22
Send a message via MSN to Eliran Haliva
Quote:
Originally Posted by Xavier View Post
Hi,

I didn't give up on this project just yet... Very busy but still have been trying to find all the bugs and add new things as I go...
I have a couple of samples from different builds of the synth as I've been going... the latest being XO_DUMB_01f-Maxiums.mp3.
I was trying out Maxiums since I don't have all my tools install on my new PC for that file and I think the kick may be a little too loud for my tastes.

These are not exactly only supersaw-ish sounds, some bass stuff or strange stuff too with a usual filter sweep somewhere in it testing.
Also sorry about all the levels in these, can't really remember what I did to them.

XO_NEWBEATS_01c2+brightplucklead.mp3 = only bass is my synth
XO_SS_SM_091_TEST3 Cygnus X - Superstringfix.mp3 = OLD version...only put this one here because I previously posted this same one but there was a bug i fixed that had it sounding too thin...you can always compare for yourself.

Thanks,
Xavier

so daaam good samplesss so good sounddd i love it mate keep it up
Reply With Quote
  #38  
Old 12-08-2008
Xavier Xavier is offline
0, 1, 1, 2, 3, 5, 8, 13..
 
Join Date: Jul 2007
Location: Japan
Posts: 22
Send a message via AIM to Xavier Send a message via MSN to Xavier
Lightbulb

Updated GUI(still far from finished) and 1 quick sample.
Not sure if the "glow" look on the sliders is better...
But here is what they looked like before without the glow.
Attached Images
File Type: png XO_SimpleSupersaw0094jk_new_sliders_.png (204.4 KB, 52 views)
Attached Files
File Type: mp3 XO_M256_01.mp3 (1.22 MB, 26 views)
Reply With Quote
  #39  
Old 12-09-2008
Luke Terry Luke Terry is offline
Supersaw <3
 
Join Date: Mar 2004
Location: Newcastle, UK
Age: 24
Posts: 63
Send a message via MSN to Luke Terry
Great stuff. Might be able to put my JP away again soon then as there's not really enough room for it in here lol!
Reply With Quote
  #40  
Old 01-11-2009
Icone's Avatar
Icone Icone is offline
In Orbit
 
Join Date: Mar 2004
Location: Belgium
Age: 29
Posts: 730
Send a message via MSN to Icone
Looks really neat so far... looking forward to more!
__________________
Icone / Van Gelder / Blue Manta / The Elemental

Icone Home
Icone Store
Icone MySpace

Reply With Quote
  #41  
Old 01-12-2009
Crik Crik is offline
I've proved my worth.
 
Join Date: Oct 2007
Location: UK
Posts: 81
Quality My Friend Really looking forward to this. Any release date planned???
Reply With Quote
  #42  
Old 02-05-2009
Xavier Xavier is offline
0, 1, 1, 2, 3, 5, 8, 13..
 
Join Date: Jul 2007
Location: Japan
Posts: 22
Send a message via AIM to Xavier Send a message via MSN to Xavier
Lightbulb

Quote:
Quality My Friend Really looking forward to this. Any release date planned???
I really wish I could say...But there are several bugs in Synthmaker that are preventing me from really making this sound the way I want.
I don't really consider myself a good "preset" designer, so I will be looking out for some guru's on here for some help... maybe in a alpha/beta release.
I know the little sample screenshots don't show much now, but I'm slowing trying to get all the things I would want in a synth in there and more. I am very open to ideas if you guys have any.

Things I have planned:
Lower CPU
Less memory usage
Better quality wavetable(s)
Velocity controlled --> (anything) This already works with the filter
Modular/routing matrix --> I did this before but it became buggy with SM's bus system
*FX routing --> ex Delay --> Reverb --> Chorus or Reverb --> Delay --> Chorus... Not sure if anyone would use this but I just think someone might want to have control over that.
Bit crusher FX
Better sounding Reverb
Portamento in poly mode (all notes slide to next chord / SM wont let you do this right now)
Full user control over the gui colors/sizes
Animated controllers when changing presets (doesnt seem to work in SM right now)
MAYBE add the JP filter (Audesi has a very good emulation that I might "borrow" from him) The only problem with that is I wasn't shooting for a JP80x0 emulation, I was shooting for the supersaw emulation + anything better.
A lot more, but I'm not going to shoot myself in the foot just yet.

New very simple "demo" I came up with the other night...
Used 4 instantces of my synth, NO external FXs and only a tiny bit of limiting.
Attached Files
File Type: mp3 XO_SEPARATION_01a.mp3 (1.89 MB, 14 views)
__________________
Octava Records
www.octavarecords.com
Reply With Quote
  #43  
Old 04-27-2010
Xavier Xavier is offline
0, 1, 1, 2, 3, 5, 8, 13..
 
Join Date: Jul 2007
Location: Japan
Posts: 22
Send a message via AIM to Xavier Send a message via MSN to Xavier
Some newer demos... But one has some timing/rendering issues, not sure if its me or the software yet.
(EDIT: I fixed it, it was stupid FL offset patterns, re-uploaded XO_SS0094Lx.mp3)
These are all spread out over time and all volume/bass/etc all are out of wack, but they still sound cool.
(EDIT: Some of these now include the JP filter emulation, thanks to Audesi!)
Attached Files
File Type: mp3 XO_SS0094Lt_01b.mp3 (1.13 MB, 7 views)
File Type: mp3 XO_PARTYTIME_01g.mp3 (1.09 MB, 8 views)
File Type: mp3 XO_NETURAL_01a.mp3 (1.60 MB, 8 views)
File Type: mp3 XO_SS0094Lx.mp3 (3.67 MB, 8 views)
__________________
Octava Records
www.octavarecords.com

Last edited by Xavier : 04-27-2010 at 11:17 AM.
Reply With Quote
  #44  
Old 05-03-2010
Dreamchaser's Avatar
Dreamchaser Dreamchaser is offline
mys
 
Join Date: Oct 2005
Location: Stockholm, Sweden
Age: 20
Posts: 1,054
Send a message via MSN to Dreamchaser
Great sounds in there mate! Would definately be great with some ultra phat progressive house kinda plucks. Keeps it from becoming a supersaw trance head synth and creates a very modern use for it
__________________
Reply With Quote
  #45  
Old 05-05-2010
madstation madstation is offline
Junior Member
 
Join Date: Mar 2004
Location: Montreal, Canada
Age: 28
Posts: 497
Send a message via MSN to madstation
Gotta agree!
Well done.
__________________
Reply With Quote
Reply


Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
JP-8000 hidden in Sytrus / Quest to making perfect supersaw Adamtrance Sound Design 50 02-20-2007 01:45 PM
Supersaw VST Updated to v06 rb2k1 Instruments Effects and EQ 45 02-04-2006 06:11 PM
supersaw reaktor rb2k1 Instruments Effects and EQ 27 10-05-2005 05:51 PM
Soundset for RB2K1 SuperSaw v2 cYrus Sound Design 5 09-20-2005 04:33 PM
Synthic Supersaw Lead - Tudorial Dj Zero Sound Design 1 06-28-2004 01:02 PM


All times are GMT -4. The time now is 06:54 AM.


Theme by Ross B.  Valid: XHTML and CSS.
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2010, Jelsoft Enterprises Ltd.
All Content Copyright ©2004 - 2008, AudioPioneers.net - All Rights Reserved.