Dev needed for custom synth waveforms
-
- KVRist
- Topic Starter
- 150 posts since 21 Apr, 2011 from Alexandria, VA
I've created a JS synth using the Web Audio API. It currently uses the Web Audio API's built in subtractive waveforms, but I'd like to add a handful of less common waveforms. The kind you might find in the wavetables of synths like Serum, Massive, etc.
I managed to use the Web Audio API's PeriodicWave class to create a pulse wave with variable pulse width. But anything beyond that is above my head.
I'd like to hire someone to do this. No JS or Web Audio API experience is needed. This is pure DSP, as I just need algorithms to plug into the PeriodicWave. Here's a bit of info on the PeriodicWave class with a simple example: https://developer.mozilla.org/en-US/doc ... riodicWave
PM if interested!
I managed to use the Web Audio API's PeriodicWave class to create a pulse wave with variable pulse width. But anything beyond that is above my head.
I'd like to hire someone to do this. No JS or Web Audio API experience is needed. This is pure DSP, as I just need algorithms to plug into the PeriodicWave. Here's a bit of info on the PeriodicWave class with a simple example: https://developer.mozilla.org/en-US/doc ... riodicWave
PM if interested!
Interactive training apps for modern musicians
Building Blocks – DAW-Based Composition and Music Theory http://bit.ly/2OoU99N
Syntorial – Synthesis - http://bit.ly/2LPwD3E
Building Blocks – DAW-Based Composition and Music Theory http://bit.ly/2OoU99N
Syntorial – Synthesis - http://bit.ly/2LPwD3E
-
- KVRian
- 853 posts since 13 Mar, 2012
To give some hint how you can do it by yourself:
Create an array of floats, like 2048 of float values.
Draw you waveform into that array (pad with 0 after the waveform ends).
Then do a FFT on that waveform (i.e. https://github.com/dntj/jsfft)
The FFT will convert waveform from time-domain (that are sample values) into frequency domain (this are frequency values). PeriodicWave input is what the FFT outputs: an array of real und imag values, describing the cos/sin frequencies that compose your custom waveform.
Create an array of floats, like 2048 of float values.
Draw you waveform into that array (pad with 0 after the waveform ends).
Then do a FFT on that waveform (i.e. https://github.com/dntj/jsfft)
The FFT will convert waveform from time-domain (that are sample values) into frequency domain (this are frequency values). PeriodicWave input is what the FFT outputs: an array of real und imag values, describing the cos/sin frequencies that compose your custom waveform.
~~ ॐ http://soundcloud.com/mfr ॐ ~~
-
- KVRist
- Topic Starter
- 150 posts since 21 Apr, 2011 from Alexandria, VA
Thanks for the tip PurpleSunray. The development work for my company has grown beyond the point that I can do everything myself, so I'm in hiring mode now. A year ago I would've gladly figured this out on my own but now's a different story.PurpleSunray wrote:To give some hint how you can do it by yourself:
Create an array of floats, like 2048 of float values.
Draw you waveform into that array (pad with 0 after the waveform ends).
Then do a FFT on that waveform (i.e. https://github.com/dntj/jsfft)
The FFT will convert waveform from time-domain (that are sample values) into frequency domain (this are frequency values). PeriodicWave input is what the FFT outputs: an array of real und imag values, describing the cos/sin frequencies that compose your custom waveform.
Interactive training apps for modern musicians
Building Blocks – DAW-Based Composition and Music Theory http://bit.ly/2OoU99N
Syntorial – Synthesis - http://bit.ly/2LPwD3E
Building Blocks – DAW-Based Composition and Music Theory http://bit.ly/2OoU99N
Syntorial – Synthesis - http://bit.ly/2LPwD3E
- KVRAF
- 2621 posts since 12 Sep, 2008
Hi,
Please see here:
http://www.galbanum.com/products/archit ... eforms2010
Here is a partial listing of previous clients for such things and there are actually many more:
http://www.galbanum.com/services/techlicensing/
http://www.galbanum.com/network/alliances/
Please send me an email if you like, and I'd be happy to help.
-Andrew
Please see here:
http://www.galbanum.com/products/archit ... eforms2010
Here is a partial listing of previous clients for such things and there are actually many more:
http://www.galbanum.com/services/techlicensing/
http://www.galbanum.com/network/alliances/
Please send me an email if you like, and I'd be happy to help.
-Andrew
-
- KVRist
- Topic Starter
- 150 posts since 21 Apr, 2011 from Alexandria, VA
Thanks Andrew. Will take a look.Galbanum wrote:Hi,
Please see here:
http://www.galbanum.com/products/archit ... eforms2010
Here is a partial listing of previous clients for such things and there are actually many more:
http://www.galbanum.com/services/techlicensing/
http://www.galbanum.com/network/alliances/
Please send me an email if you like, and I'd be happy to help.
-Andrew
Interactive training apps for modern musicians
Building Blocks – DAW-Based Composition and Music Theory http://bit.ly/2OoU99N
Syntorial – Synthesis - http://bit.ly/2LPwD3E
Building Blocks – DAW-Based Composition and Music Theory http://bit.ly/2OoU99N
Syntorial – Synthesis - http://bit.ly/2LPwD3E
-
Leslie Sanford Leslie Sanford https://www.kvraudio.com/forum/memberlist.php?mode=viewprofile&u=131095
- KVRAF
- 1596 posts since 4 Dec, 2006
https://developer.mozilla.org/en-US/doc ... riodicWave
Hey, that's pretty cool.
It looks like you're asking for the amplitudes of sines and cosines in order to build waveforms through additive synthesis? Am I right in concluding that these are single cycle waveforms?
Hey, that's pretty cool.
It looks like you're asking for the amplitudes of sines and cosines in order to build waveforms through additive synthesis? Am I right in concluding that these are single cycle waveforms?
-
- KVRist
- Topic Starter
- 150 posts since 21 Apr, 2011 from Alexandria, VA
Yes single cycle. And I ended up taking PurpleSunray's advice after all (I couldn't help myself). So you can take any single cycle wav file, upload it, use the Web Audio API to decode it into an array of floats, use jsfft to convert that to real/imag FFT outputs, and then plug those new values into the PeriodicWave, and bam. Custom waveforms for your oscillator. Much easier than I initially realized.Leslie Sanford wrote:https://developer.mozilla.org/en-US/doc ... riodicWave
Hey, that's pretty cool.
It looks like you're asking for the amplitudes of sines and cosines in order to build waveforms through additive synthesis? Am I right in concluding that these are single cycle waveforms?
Interactive training apps for modern musicians
Building Blocks – DAW-Based Composition and Music Theory http://bit.ly/2OoU99N
Syntorial – Synthesis - http://bit.ly/2LPwD3E
Building Blocks – DAW-Based Composition and Music Theory http://bit.ly/2OoU99N
Syntorial – Synthesis - http://bit.ly/2LPwD3E