Welcome to %s forums

BrainModular Users Forum

Login Register

New Waveshaper User Module

General Discussion about whatever fits..
Post Reply
caco
Member
Posts: 306
Contact:

Unread post by caco » 19 Sep 2010, 15:48

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.

Image

Download here

23fx23
Member
Posts: 2545
Contact:

Unread post by 23fx23 » 19 Sep 2010, 16:34

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!

ethnix73
Member
Posts: 604
Location: France, Caen
Contact:

Unread post by ethnix73 » 19 Sep 2010, 18:19

Thanks caco!

As said 23fx23, a great contribution!
Seb.Dub

User avatar
senso
Site Admin
Posts: 4424
Location: France
Contact:

Unread post by senso » 21 Sep 2010, 19:02

it's great!!!

caco
Member
Posts: 306
Contact:

Unread post by caco » 23 Sep 2010, 11:05

Since nobody has reported any bugs I have uploaded Waveshaper to the add-on section and written a wiki page :)

bsork
Site Admin
Posts: 1334
Location: Asker, Norway
Contact:

Unread post by bsork » 23 Sep 2010, 11:34

Thanks, Caco!
Bjørn S

User avatar
nay-seven
Site Admin
Posts: 5684
Location: rennes France
Contact:

Unread post by nay-seven » 23 Sep 2010, 12:08

Thanks caco, great one !
maybe some oscillators one day..?

caco
Member
Posts: 306
Contact:

Unread post by caco » 23 Sep 2010, 12:43

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.

User avatar
nay-seven
Site Admin
Posts: 5684
Location: rennes France
Contact:

Unread post by nay-seven » 23 Sep 2010, 17:39

of course , no hurry , was just a question...

User avatar
cmodica
Member
Posts: 606
Location: Pélissanne
Contact:

Unread post by cmodica » 23 Sep 2010, 18:23

I try it today. It sounds very good.

Really good work !
Thank you.

User avatar
senso
Site Admin
Posts: 4424
Location: France
Contact:

Unread post by senso » 23 Sep 2010, 21:25

great caco!

caco
Member
Posts: 306
Contact:

Unread post by caco » 24 Sep 2010, 09:17

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!

User avatar
nay-seven
Site Admin
Posts: 5684
Location: rennes France
Contact:

Unread post by nay-seven » 24 Sep 2010, 10:12

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...

multiphone
Member
Posts: 303
Contact:

Unread post by multiphone » 24 Sep 2010, 13:22

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.
HB

Lines / Points / Squares

http://www.hervebirolini.com/

caco
Member
Posts: 306
Contact:

Unread post by caco » 16 Aug 2011, 09:35

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

User avatar
senso
Site Admin
Posts: 4424
Location: France
Contact:

Unread post by senso » 16 Aug 2011, 09:41

supra cool++++


headphoner
Member
Posts: 225
Contact:

Unread post by headphoner » 16 Aug 2011, 11:36

Hi,

doesn't work for me

the module appear "invalid"


" Error:Create procedure failed in :"

caco
Member
Posts: 306
Contact:

Unread post by caco » 16 Aug 2011, 13:16

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?

User avatar
senso
Site Admin
Posts: 4424
Location: France
Contact:

Unread post by senso » 16 Aug 2011, 13:29

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?


User avatar
nay-seven
Site Admin
Posts: 5684
Location: rennes France
Contact:

Unread post by nay-seven » 16 Aug 2011, 13:32

yep, invalid here too,
processor = Intel Core 2 Duo E4300, support of MMX, SSE, SSE2, SSE3, SSSE3, Intel 64

caco
Member
Posts: 306
Contact:

Unread post by caco » 16 Aug 2011, 13:58

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...

User avatar
senso
Site Admin
Posts: 4424
Location: France
Contact:

Unread post by senso » 16 Aug 2011, 14:19

unfortunately, still doesn't work:(
(same error msg)

caco
Member
Posts: 306
Contact:

Unread post by caco » 16 Aug 2011, 14:46

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 :)

User avatar
senso
Site Admin
Posts: 4424
Location: France
Contact:

Unread post by senso » 16 Aug 2011, 14:59

ok works now!!!

User avatar
nay-seven
Site Admin
Posts: 5684
Location: rennes France
Contact:

Unread post by nay-seven » 16 Aug 2011, 15:01

yes, open correctly now here too

Floego
Member
Posts: 319
Location: Venezuela
Contact:

Unread post by Floego » 16 Aug 2011, 15:15

working perfect!



caco
Member
Posts: 306
Contact:

Unread post by caco » 16 Aug 2011, 16:00

Great news :)

User avatar
senso
Site Admin
Posts: 4424
Location: France
Contact:

Unread post by senso » 29 Sep 2011, 11:35

I found something strange on the waveshaper2:
it works great but the input vu meter stays at -inf db.
Maybe it's my config?

caco
Member
Posts: 306
Contact:

Unread post by caco » 29 Sep 2011, 11:48

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??

caco
Member
Posts: 306
Contact:

Unread post by caco » 29 Sep 2011, 11:56

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?

User avatar
senso
Site Admin
Posts: 4424
Location: France
Contact:

Unread post by senso » 29 Sep 2011, 12:19

@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
}

caco
Member
Posts: 306
Contact:

Unread post by caco » 29 Sep 2011, 13:02

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 :)

caco
Member
Posts: 306
Contact:

Unread post by caco » 30 Sep 2011, 09:34

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.

Post Reply

Who is online

Users browsing this forum: No registered users and 74 guests