Anti-aliased saw without traditional techniques (now with 2nd demo)

DSP, Plugin and Host development discussion.
RELATED
PRODUCTS

Post

The self PM sine (or cosine) oscillator has a strong fundamental. You can use a pitch tracked first order HPF to tweak it.

With a simple one pole "anti hunting" LP in the feedback loop à la "y = 0.5 * (x + y)" the aliasing can be greatly reduced.

The methods suggested by mystran are rock solid and well documented for clean anti aliased saw tooth generation.

On the other hand, I totally agree with you architeuthis on the fact that shaping aliasing can be an interesting method. Some methods can lead to something totally different that sawteeth.

Here is an example of what can be obtained with feedback through a series of allpass "Schroeder" filters :
https://soundcloud.com/thierry-rocheboi ... isty-patch
with after touch controlled feedback.

You can also consider to use distortions in the feedback and/or modulate something else than a sine/cosine... (in which case aliasing can be limited by integration/differentiation combined with oversampling.)

I believe - even if it can be complicated - it is worth exploring.

https://soundcloud.com/thierry-rocheboi ... i-feedback
(beware loud "experimental" noise).
See you here and there... Youtube, Google Play, SoundCloud...

Post

Oops, i almost forgotten this patent from Yamaha :wink: :

www.google.fr/patents/US4249447
See you here and there... Youtube, Google Play, SoundCloud...

Post

Smashed Transistor, i want to make a VST whatever that is you're doing in those audio demos. Code examples?

Post


Post

Architeuthis wrote:Smashed Transistor, i want to make a VST whatever that is you're doing in those audio demos. Code examples?
Some time ago i used to make jsfx plugins but I switched to the Axoloti a few months ago.
The Axoloti is a little electronic board that allows to build little synths. It is based on C++ and modular synthesis "a la Nord Modular".

http://www.axoloti.com/

So... here is the patch for the "Misty trumpet":

Image

The PM sine oscillator is in the top right corner, in front of it you see the (beefed up) feedback loop including, saturation, filters and all pass. The blue signals are control signals from the keyboard and aftertouch.
See you here and there... Youtube, Google Play, SoundCloud...

Post

He he, Architeuthis, it is somewhat more interesting than an anti aliased saw :tu:


I think that this scheme - that consist in complicated feedback loops - can be more practical than waveg-uide "physical modelling" based on non linearities fed back with tuned delay lines.

Technically, designing a nice tuned delay line (i.e. lossless interpolated and glitchless modulated) is quite difficult and/or cpu intensive (oversampling or/and high degree interpolator or carefully xfaded fractional all-pass delays... :? ).

With the feedback PM scheme, the tuning is ensured by the pitch control of the oscillator (not by the delay lines). The feedback through filters and delay lines / Schroeder all-passes seems to provide timbre variations/instabilities quite similar to rigorous "physical modelling".

And it is really fun and entertaining to experiment with...
You know when you are in the endless "What if ?..." mode till 3 in the morning... :roll:
See you here and there... Youtube, Google Play, SoundCloud...

Post

Wow, so your patch really just involves simple series of allpass filters?

I have a strange thought... and a realization. Firstly, chaotic patches will sometimes exhibit a phenomenon where the frequency jumps some multiple or division of its fundamental as you sweep the frequency. Axoloti Feedback exhibits this as 0:24. My Basic Osc Chainsaw exhibits this as well at 0:20. The difference between Axoloti and Basic Osc is that Axoloti has allpass filters within the feedback path, Basic Osc does not. This means the frequency jumps are smoothed out and become ringing microphone-feedback-like warbling whereas without those allpass filters, you get instant frequency lock. Wow.

The strange thought is... what if the same could be said about something like Lorenz Attractor? If maybe you put some delays in its feedback equation, maybe it would smooth out its tendency to sound grainy. The harmonic jumps tend to be so fast and random it sounds noisy/grainy/digital/"quantizy".

Post

Even in a fully analog (no quantification of time nor value) system, a non linear feedback can exhibit such hysteretic jumps from one "orbit" to another.

See for example an analog Chua oscillator at 3:06 :
https://youtu.be/WRXP0ZeIrlM?t=3m6s

Adding delay lines (in the form of all pass Schroeder units) is like adding lots of state variables to the system, it gives it "memory", it's behaviour is related to past events (note and modulation depth changes) in quite complicated ways, I'm not sure how it is "smoothing" the system behaviour... Let's investigate and play !
See you here and there... Youtube, Google Play, SoundCloud...

Post

For your axoloti patch, what are the three numbers on each allpass?

Edit: And what made you choose those numbers?

Post

Hi @Architeutis,

the numbers are the internal sample delay values (the Axoloti sample rate being 48kHz).
This values are purely empirical. I chose them to limit the "screams".
See you here and there... Youtube, Google Play, SoundCloud...

Post Reply

Return to “DSP and Plugin Development”