From the original SynthMaker forum (2004–2014), with its members’ names and dates.
sambean ·
Hey chaps, another offering..
It's the graphical end of a spline curve waveshaper, still need to do the audio stuff.
The tooltips tell you how to use it. If you notice any strange behaviour let me know, it's been prone in the past to do odd things eg points move when not clicked etc..
The output is two float arrays, the X coords and the Y coords both between 0 and 1.
If anyone can devise a way to get the curve into a wavetable either as interpolated data or splines as well, then we can have some fancy curves for our distortion, compressors, oscillators, etc. etc.
Enjoy!
Sam
Shifrin ·
Cheers sam, this looks really cool - if only I had more time tonight to look at it's innards! 😉
Shif.
dasdeck ·
another thing you made that makes me want to use it 😀
thanks sambean
I'll make a velocity mapper out of it if its possible.mmh.. seems not? the wavetable is nessesarry mhh?
(i assume you dont mind?)
D3CK
sambean ·
Cheers folks 🙂
(i assume you dont mind?)
Not at all, feel free to do with it what you please..
It may a bit fiddley mapping an arbitrary x value to a y value, just trying to think of a way to that now myself..
Sam
sambean ·
One step closer to audio.. 😀
Have managed to reduce the XY coordinates into a single array, 512 elements wide.. Should be good now for midi FX dasdeck.. 🙂
Just need some kind of way to copy the array into a mem or have some sort of array to stream.. [:hint:]
[edit]It's still a bit buggy.. It'll crash sometimes when you change the resolution.. Something to do with the module that converts it to an array.. Still works without changing reso..[/edit]
[edit]Updated download to new version[/edit]
infuzion ·
neato sambean!
2 suggestions:
* some way to delete a dot
* a way to disern what dots are after eachother (since you can't move a dot past others), eg dots get lighter to the right
Shifrin ·
That's looking so cool, I have a few ideas for this sort of thing! Shame I'll not be able to look at the schematic for a few days (at g/f's for the weekend) 😉
Shif.
dasdeck ·
infuzion wrote: neato sambean!
2 suggestions:
* some way to delete a dot
just drag the dot out of the visible area, then it will get deleted 😉
D3CK
sambean ·
infuzion wrote: neato sambean!
2 suggestions:
* some way to delete a dot
* a way to disern what dots are after eachother (since you can't move a dot past others), eg dots get lighter to the right
Cheers Infuzion, it would be quite easy to have the point colours in a gradient and have the option in the properties.. I'll try it out..
Fixed the bug in the last release.. Here's an updated version which is more stable (I had made a sort of thread retrigger using a loop in the last version..)
sambean wrote: If anyone can devise a way to get the curve into a wavetable either as interpolated data or splines as well, then we can have some fancy curves for our distortion, compressors, oscillators, etc. etc.
Hmm, just thinking loud -not tried yet. FloatArray could be transformed into Graph data using looped FloatArrayGetAt and GraphCreate. Then there is this GraphToPoly module.
I have no idea wether GraphToPoly does bandlimiting though.
To store data persistently maybe a VSTParameterArray could be used between the FloatArrayGetAt and GraphCreate modules.
New features:
Osc Mode: With frequency and phase inputs. What you draw is the waveform, no bandlimiting so you'll get a fair bit of aliasing in the top end.
Spline curves optional: so you can just use it as a normal waveshaper with hard edges.
Optional guide lines.
More property options.
Still to do presets..
🙂
Sam
Shifrin ·
Wow, this thing just gets better and better sam 😀
As always, many thanks!
Shif.
lalo ·
great great great 🙂
maybe i'll learn spline math 😍
fritzman ·
Boah Sam!
Thanx a lot, this is soooo cooool!!! 😍 😍 😍
All the best, FRitz
infuzion ·
crazy!
With all this spline stuff, perhaps you should help code Inkscape 😉
sambean ·
Thanks for the support chaps!
Latest upgrade..
Very slight miscalculation in data array corrected
X/Y Quantize option & resolution properties, allows you to design more 'rigid' shapes
Slightly neater layout (sorry no comments yet!)
TODO:
Rename wireless connections (SM.WS.blahdeeblah), to prevent clashes with other wireless links..
btw mods: can this be moved to 'sound' now, it started as a graphical thread but now is more relevant there..
sambean ·
A couple of last minute quick fixes just thought of.. 😉
Turn off insert/delete points: If you want to fix the number of points for an application this is now possible..
Points fixed to screen: You can no longer drag points off screen, they are still deleted though in the same way (drag outside mouse area then release..)
Quantization fix: There was a slight alignment issue with the last release
Don't suppose the devs could host the file?! I cannot use Rapidshare, am always told my download session is invalid regardless of what I try 😕
Shif.
stefan ·
[old link]
Sambean: let me know if you want it removed or something.
sambean ·
Thanks chaps!
it's cool there.. Need to sort out new webspace soon..
😀
infuzion ·
sambean wrote: Need to sort out new webspace soon..
😀
Might be cheaper if we all pitch in & get a bulk-"webmaster" account somewhere, since I & others here need space.
Tom7777 ·
Thanks sambean, great update 🙂
Shifrin ·
stefan wrote: http://www.synthmaker.com/docs/uploads/2006/feb/21/Sambean_Waveshaper_22.osm
Cheers 😉
Shif.
lalo ·
Hi guys and sambean!
this is a very beautiful thing... 😍
would be very nice to have a tutorial to reverse-engineer this one..
seems very interesting both math-wise and sm-wise....and incredibly complex... 😮
would you like to do a tutorial sam....?
...inside there's some ASM too 😮 😮
MyCo ·
I guess I found a SM-Bug which only happens with this module. When I delete the Wave-Shaper, the spline thing stays on the front panel. You can move it like normal. I found to ways to go around that bug:
1. When I save my OSM and reload it.
2. When I cut & paste my whole VST-Module.
The strange is, it is only with this module.
sambean ·
lalo wrote: Hi guys and sambean!
this is a very beautiful thing... 😍
would be very nice to have a tutorial to reverse-engineer this one..
seems very interesting both math-wise and sm-wise....and incredibly complex... 😮
would you like to do a tutorial sam....?
...inside there's some ASM too 😮 😮
ermmmmm..
It's probably a good lesson to myself to keep better comments, I'm not sure myself whats going on in there 😉. I would actually like to go through it though, making it more efficient, and perhaps making a tutorial on the way, alas time is very limited at the mo'.. But saying that, I've managed to squeeze in a quick update:
The custom osc has been replaced with the wonderful new wavetable osc+writer, so the wave of the osc mode is now bandlimited..
[old link]
Thanks chaps,
Sam
stefan ·
Oooh, me likey 🙂
Shifrin ·
stefan wrote: Oooh, me likey 🙂
Moi aussi!
Shif.
global goon ·
this is rad!
i used it in my synth (.osm in the early adopters area) : hope that's ok!
sambean ·
Of course!
It's great seeing them being put to use..
edit: Just realised you done a bit of 'hacking' too, even better! I should perhaps make that a feature, fixing the end points..
andyg84 ·
Hey sambean, was wondering if you were going to make the waveshaper change with different presets, like go back to a default each time to be set up again? I'm using it in my amp sim for my uni project (which will be coming up soon for testing) and when I change the wave form it would just stay in the same postion as before.
sambean ·
Hey Andy..
This seems to be working now, the devs must have updated something.. Try this out:
http://magalov.myweb.hinet.net/waveshap ... per_27.osm
Added:
Preset saving (both number of points and point positions..)
The presets seem to be working. I've not tried it out in a host, so you'd better test it for robustness. It's advisable to thouroughly test this out in yours or more importantly your examiners host.. I'd hate there to be some bug that crops up on the final day!
Let me know how it runs..
Sam
andyg84 ·
Cheers thats great will let ya know how I get on.
AngularMomentum ·
Most excellent, this will mean I can finally use the Clas enhancer properly in my produce! 😉
andyg84 ·
Hey sambean, have been trying it out there seems to be a bug when i change my presets the blue wave doesn't change effecting the sound, the points do though
to get it to fit the point line you need to move 1 of the points a little this seems to change it. Do have any thoughts?
Andy
sambean ·
Forgot to mention that, thanks Andy..
In you're preset manager, you need to add a 'module wileless out' module, force it's type to 'int' (right click on the connector), rename the connector "SM.WS.PresetChange" and connect this to the 'current program index' of the preset manager..
This send a trigger into the spline designer to redraw the spline..
Also, in the 'spline designer' module connect the "SM.WS.PresetChange" wireless input to the 'LUp update' input of the selector. This should trigger the redraw if you're using the cpu friendly mode..
I'll update the schematic in a bit..
Cheers
Sam
angstrom ·
in Sam's preset manager you should have a wireless send called "SM.WS.PresetChange" connected to the Int output of the program index, that should trigger the redraw of those points. You'll notice its partner in the spline designer connected to the "Create B-spline array"
Other good thing : hooray that the presets work for this! 😀
Other bad thing : "drag out to delete a point" doesn't seem to work for me
its a wonderful thing though, I've been using a version of platinum ears compressor based on this (plus a little sideband addition) for a while, very handy to control compressor knees
sambean ·
Too slow!
Have you got 'insert/delete on/off' selected in the properties? You also have to drag a little outside the area to get a point to delete(to stop accidentally removing edge points..)
Thanks for the support!
Sam
angstrom ·
sambean wrote: Have you got 'insert/delete on/off' selected in the properties? You also have to drag a little outside the area to get a point to delete(to stop accidentally removing edge points..)
insert/delete is ticked and I tried dragging everywhere from 'a little' outside to 'a lot' 😉
but no luck, hmmm. 😕
this was on waveshaper27 BTW, so you can check against your own version easy enough. Has SM changed the way drag outside Marea is handled?
I guess if it works for you it is human error on this end.
very common !
andyg84 ·
sambean wrote: Forgot to mention that, thanks Andy..
In you're preset manager, you need to add a 'module wileless out' module, force it's type to 'int' (right click on the connector), rename the connector "SM.WS.PresetChange" and connect this to the 'current program index' of the preset manager..
This send a trigger into the spline designer to redraw the spline..
Also, in the 'spline designer' module connect the "SM.WS.PresetChange" wireless input to the 'LUp update' input of the selector. This should trigger the redraw if you're using the cpu friendly mode..
I'll update the schematic in a bit..
Cheers
Sam
Cheers i'll give it a try 2moz when hopefully I have my own PC back woo! I might wait until your update too as I'm a wee bit unsure but I'm sure all will be well.
Hmmm.. strange about the points not deleting, just downloaded the last version and seems to be working here.. Can you add points?
angstrom ·
I can add points OK
to debug a little I put a MouseMove in the schematic and the values do track outside the V area, so your 'special' MouseArea with expanded borders is OK. It must be something specific to the way I am doing things. very odd.
Yet it should be simple, left click and drag on a red point - when the mouse is outside the V area the point should delete. I can't think where I am going wrong. Especially as we are both looking at the same OSM.
hmm, my capacity for human error must be grater than I thought!
sambean ·
Are you releasing the mouse outside the area? 😉
angstrom ·
heh,
releasing the mouse you say...
*cough*
erm, yes, it all works fine now. Well at least I was on target with where the problem lay !
I must have another spline based app that requires merely to drag out, so my meat-matrix had imprinted that behaviour.
🙂
sambean ·
Adobe Audition per chance?
This has happened to me before too.. 😉
Tom7777 ·
The link for Waveshaper_28.osm was not working for me 🙁
sambean ·
Ropey server probs, keep trying!
Tom7777 ·
Yeah, i just got it though but it took a few clicks 🙂
sambean ·
Apologies folks!
Due to a slight oversight the waveshaper was providing uber-foldback distortion when on either of the waveshaping modes.. This has now been fixed..
If you were quite partial to the sound it should be failrly straightforward to draw a similar distortion yourself.. 😉
Sam
andyg84 ·
I'm having the same trouble with new preset modlue not adjusting the spline wave line with the user dragging line. I tryed put the wireless out into the preset manager as you can see from the pic but it didn't seem to work. Could you help me?
Cheers Andy
oddson ·
... the wireless output primitive only transmits up one level and then downward through sister modules. It can't send a signal up multiple levels...
...apologies if that's old news to you.
andyg84 ·
Cheers I didn't realsie that. Do you have any ideas as I'm having the same trouble as before, when I first posted about this? Or would I just be best to stick with the other preset manager?
skOre ·
oddson wrote: ... the wireless output primitive only transmits up one level and then downward through sister modules. It can't send a signal up multiple levels...
To specify: he's talking about the wireless module transmit. The normal wireless output is even more restrictive and can only transmit downwards.
sambean ·
Wireless types need to match I->I, F->F etc etc, check the type of the reciever, it's probably a trigger, if it's so, you can right click on the transmitter you have highlighted and select trigger..
Sam
Wrote something here? To have a post removed or your name hidden, write to [email protected].