New tool(3.4.2): Mosquito

So is Lua capable of dsp synthesis ( non realtime that is ) ?

Woww , just found out about all your tools , these are seriously impressive

2 Likes

I’ve been shouting about ‘em for the past few months :grinning:

2 Likes

DSP involves complex math that to populate a sample buffer; this is a very simplistic way to describe it. For example one could use a sine equation that uses the sample rate and time variables to generate a sine wave into a sample of a certain length.

2 Likes

I am aware of the general gist of dsp synthesis ( been using reaktor and supercollider for a long time ) but I never knew that lua ( which is a scripting language ) was capable to do that
Still not totally convinced about Mosquito , feedback on a modulator with a double ratio (mod-carrier 2-1) should give us a square wave as a result ( phase modulation )

Lua is like any proper programming language able to do DSP code. It is after all just signal math, and calculating things is something in the core of every programming language. This is what this tool probably does, it renders the synth sounds for you to use with lua math - or with a loaded c++ module or the like, but you can also do it in lua, it is just a little slower.

Lua can also be used for realtime synthesis I believe…if it is properly compiled with a JIT compiler which I think renoise does not do (yet), there is for example an old plugin called “protoplug” in which you can live code a synth or effect with lua. It is also a little slower/heavier to the CPU than a compiled plugin would be, but interesting for fiddling around with dsp code in a daw without having to compile it.

2 Likes

As you said " it’s signal math after all " but it has to be able to calculate that on a per sample basis , which I had no idea LUA could do .

Lua can do simpler things with the creation of sounds.
Unfortunately, for heavier caliber such as FFT and more complex DSP, at least LuaJIT would be needed.
A lot also depends on code optimization.
‘x = x / 2.0’ this is perhaps much slower than this ‘x = x * 0.5’ etc. etc.
I try most things in VCVRack in the ‘LUA’ module.
It uses LuaJIT and the CPU is also quite high :frowning:

1 Like

Mosquito is in 002B version.
Added midi mapping for some values so far.
I’m trying to put all midi events into a FIFO queue, which will be executed when Renoise has time and desire for them :slight_smile:

4 Likes

Could you please look into the feedback of the modulator , it’ is not behaving as expected
Here’s plogueops 7 , simepl ratio 2-1 mod carrier with feedback on mode , resulting in a square wave

No square wave whatsoever in
Also confused why modulator harmonics slider is essential doing fm index , typo perhaps ?

@martblek if you do decide to change this, could it be as an ‘option’? I really dig the original tonality of this synth, versus the accuracy of an FM/PM waveform by Yamaha. @gentleclockdivider, there’s also MorphSynth (and I’ll bet you dollars to doughnuts you know this already), if you want the perfect FM waveforms.

It’s not about accuracy , it’s about termnology
Why the mod harmonics slider affect fm depth etc…

1 Like

Hello,
Maybe ‘harm’ is just a stupid name for option,
but this slider only affects how much percentage the modulator will affect the carrier(0 … 100%).

As for modulator feedback.
The feedback modulator is re-added to the input every time,
so of course the wave changes over time from sine to square and further to chaos
at such a speed as the incorrectly named slider is set together with the percentage addition of feedback.
If I put a loop somewhere on the created sample, it can be seen.
Fortunately, FM is so comprehensive that everyone can choose what they like.

3 Likes

Hi there, GCD!

OT, but could you please tell me what theme you are using here? Looks nice, and easy on the eyes.

Thanks!

Self made
Here you go
GCD1.xrnc (5.0 KB)

1 Like

Thank you very much!