Page 1 of 1
Posted: 19 Sep 2010, 15:48
by caco
Don't know if this is any use to anyone but I made a new user module for myself with the SDK containing a variety of waveshaper algorithms. The first few types are quite subtle and then get progressively noisier, be careful of your ears!! Plus also added optional 2x oversampling using 8th order polyphase allpass filters and a display showing the effect of the waveshaping so you can visually see its effect on your sound. If it is useful for Usine then I will upload to the add-on section and do a wiki page
Let me know if you spot any bugs or have any comments.
Download here
Posted: 19 Sep 2010, 16:34
by 23fx23
just tied it and it sounds good! lot of cool types also. cool to bring some fatness and distortion simply.Me like it.
thanks a lot caco, one more great contribution

you are fast at pgming!
Posted: 19 Sep 2010, 18:19
by ethnix73
Thanks caco!
As said 23fx23, a great contribution!
Posted: 21 Sep 2010, 19:02
by senso
it's great!!!
Posted: 23 Sep 2010, 11:05
by caco
Since nobody has reported any bugs I have uploaded Waveshaper to the add-on section and written a wiki page

Posted: 23 Sep 2010, 11:34
by bsork
Thanks, Caco!
Posted: 23 Sep 2010, 12:08
by nay-seven
Thanks caco, great one !
maybe some oscillators one day..?
Posted: 23 Sep 2010, 12:43
by caco
nay-seven wrote:Thanks caco, great one !
maybe some oscillators one day..?
Well I do have an LFO planned that will morph between shapes but that is a few projects off, I still have a few other Usine and non-Usine projects to complete first.
Posted: 23 Sep 2010, 17:39
by nay-seven
of course , no hurry , was just a question...
Posted: 23 Sep 2010, 18:23
by cmodica
I try it today. It sounds very good.
Really good work !
Thank you.
Posted: 23 Sep 2010, 21:25
by senso
great caco!
Posted: 24 Sep 2010, 09:17
by caco
nay-seven wrote:of course , no hurry , was just a question...
At the moment I have been building modules for myeslf that will help me move projects over from the previous programs I was using and do everything in Usine. But creating new user modules is quite quick due to Martignasse's nice SDK so I am open to suggestions for new modules to expand Usine. Oscillators are a good idea and are on my list
I also want to do some modules for myself to manipulate strings further, maybe update the fliter pack to provide the bins as an array for drawing, I have a couple more waveshaping ideas to investigate, a very cool math module on the way and more! By then I hope to finish building my arduinome and start building OSC/monome controlled patches. I wish the days lasted longer, 24 hours isn't enough to do everything I want
Usine is awesome, it can do so much!
Posted: 24 Sep 2010, 10:12
by nay-seven
really cool news
and yes i know what you feel about length days !
and I'm sure that we are a few in the same case...
Posted: 24 Sep 2010, 13:22
by multiphone
Hello Martin,
I'm totally agree with you : The days was to short !
It's really mad the possibility of the SDK and Script, Senso with the help of Martignasse had a good vision. I'm working hard for understand how that works... but for now, I'm running on the queue of the race, but I did not say my last word
The filters, the wave shaper and the other will become a best off !! I'm very curious and listening about your further projects.
Thanks for your work.
Posted: 16 Aug 2011, 09:35
by caco
If anyone is interested, I have uploaded a test version of the waveshaper module. It now comes with nice smooth anti-aliased graphics for the transfer function. The new graphics should also hopefully prevent the occasional CPU spike occurring from the drawing code.
The DSP has also been optimized, using around 4x less CPU now. The cost of this though is that you must now have an SSE compatible processor otherwise the module will crash..
If it works okay I can perhaps use some of the same SSE optimizations, improved graphics in other modules etc.
Download here
Posted: 16 Aug 2011, 09:41
by senso
supra cool++++
Posted: 16 Aug 2011, 11:01
by ErotiCore SteNch
nice will test it
Posted: 16 Aug 2011, 11:36
by headphoner
Hi,
doesn't work for me
the module appear "invalid"
" Error:Create procedure failed in :"
Posted: 16 Aug 2011, 13:16
by caco
headphoner wrote:Hi,
doesn't work for me
the module appear "invalid"
" Error:Create procedure failed in :"
Oh dear, it is working fine on both computers I tested it on here. Do you know if your processor supports SSE?
Posted: 16 Aug 2011, 13:29
by senso
When I try to open this module I have a message like
"can't find libstdc++-6.dll on your computer".
Maybe something wrong with compilation/link option in your c++ module project?
Posted: 16 Aug 2011, 13:31
by headphoner
Hi,
Yes my processor supports sse
Posted: 16 Aug 2011, 13:32
by nay-seven
yep, invalid here too,
processor = Intel Core 2 Duo E4300, support of MMX, SSE, SSE2, SSE3, SSSE3, Intel 64
Posted: 16 Aug 2011, 13:58
by caco
senso wrote:When I try to open this module I have a message like
"can't find libstdc++-6.dll on your computer".
Maybe something wrong with compilation/link option in your c++ module project?
Ahh I have updated to a new version of mingw and it seems it doesn't statically link to the mingw libraries by default anymore. I uploaded a new version that should fix that particular bug.
If that doesn't work then back to the drawing board for this one...
Posted: 16 Aug 2011, 14:19
by senso
unfortunately, still doesn't work:(
(same error msg)
Posted: 16 Aug 2011, 14:46
by caco
senso wrote:unfortunately, still doesn't work:(
(same error msg)
Fixed now. Turns out there is a few libraries mingw no longer links to statically by default but I think I have finaly got them all

Posted: 16 Aug 2011, 14:59
by senso
ok works now!!!
Posted: 16 Aug 2011, 15:01
by nay-seven
yes, open correctly now here too
Posted: 16 Aug 2011, 15:15
by Floego
working perfect!
Posted: 16 Aug 2011, 15:20
by ErotiCore SteNch
works here 2
Posted: 16 Aug 2011, 15:56
by headphoner
Ok for me!
Nice work
Posted: 16 Aug 2011, 16:00
by caco
Great news

Posted: 29 Sep 2011, 11:35
by senso
I found something strange on the waveshaper2:
it works great but the input vu meter stays at -inf db.
Maybe it's my config?
Posted: 29 Sep 2011, 11:48
by caco
It seems to be working okay for me but I have seen this problem with my new Csound module I am working on. Sometime the input vu meter just displays -inf even though the audio is working correctly. Any idea if this is this a Usine problem, SDK problem or my problem??
Posted: 29 Sep 2011, 11:56
by caco
Okay found the problem
Senso - at the end of my Process function I zero the input buffer. Presumably Usine's vu meters are called after my module's Process by which time I have already cleared the buffer?? Who is responsible for clearing the input buffer, me or Usine? Previously I had problems if I did not clear it if the cable to the module's audio input was deleted as the input buffer would stay stuck with its previous contents causing a horrible glitchy noise as the same block got processed over and over again. Has this behaviour changed now, am I safe to stop zeroing the input buffers?
Posted: 29 Sep 2011, 12:19
by senso
@caco
Normally Usine clears audio flows on disconnection by calling setEVTSize(Input,0);
Maybe somewhere in your code you can do something like:
Code: Select all
SetEvtSize(output,GetEvtSize(input)); // means output.EVT.len = Input.EVT.len;
or
Code: Select all
if GetEvtSize(input)==0
{
SetEvtSize(output,0); // means output.EVT.len = Input.EVT.len;
}
else
{
// process
}
Posted: 29 Sep 2011, 13:02
by caco
Thanks for the tip senso, I didn't realize input size was set to zero when cables were disconnected. This is very useful as I can now turn the dsp processing off entirely when the audio cable is deleted. I will also add a check as to whether a stop/pass module is connected too so that I can turn my modules processing off when the data flow is blocked to save my CPU

Posted: 30 Sep 2011, 09:34
by caco
Okay have updated the waveshaper so that the input vu should now work correctly. Also, when there is no audio input connected the audio processing is bypassed saving CPU usage.