Anti-aliased saw without traditional techniques (now with 2nd demo)
-
Smashed Transistors Smashed Transistors https://www.kvraudio.com/forum/memberlist.php?mode=viewprofile&u=339459
- KVRist
- 142 posts since 10 Oct, 2014
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).
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).
-
Smashed Transistors Smashed Transistors https://www.kvraudio.com/forum/memberlist.php?mode=viewprofile&u=339459
- KVRist
- 142 posts since 10 Oct, 2014
- KVRAF
- Topic Starter
- 3417 posts since 28 Jan, 2006 from Phoenix, AZ
Smashed Transistor, i want to make a VST whatever that is you're doing in those audio demos. Code examples?
- KVRAF
- Topic Starter
- 3417 posts since 28 Jan, 2006 from Phoenix, AZ
-
Smashed Transistors Smashed Transistors https://www.kvraudio.com/forum/memberlist.php?mode=viewprofile&u=339459
- KVRist
- 142 posts since 10 Oct, 2014
Some time ago i used to make jsfx plugins but I switched to the Axoloti a few months ago.Architeuthis wrote:Smashed Transistor, i want to make a VST whatever that is you're doing in those audio demos. Code examples?
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":
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.
-
Smashed Transistors Smashed Transistors https://www.kvraudio.com/forum/memberlist.php?mode=viewprofile&u=339459
- KVRist
- 142 posts since 10 Oct, 2014
He he, Architeuthis, it is somewhat more interesting than an anti aliased sawArchiteuthis wrote:Smashed Transistors, you inspried me:
https://soundcloud.com/soundemote/elan- ... asic-osc-1
https://soundcloud.com/soundemote/elan- ... -basic-osc
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...
- KVRAF
- Topic Starter
- 3417 posts since 28 Jan, 2006 from Phoenix, AZ
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".
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".
-
Smashed Transistors Smashed Transistors https://www.kvraudio.com/forum/memberlist.php?mode=viewprofile&u=339459
- KVRist
- 142 posts since 10 Oct, 2014
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 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 !
- KVRAF
- Topic Starter
- 3417 posts since 28 Jan, 2006 from Phoenix, AZ
For your axoloti patch, what are the three numbers on each allpass?
Edit: And what made you choose those numbers?
Edit: And what made you choose those numbers?
-
Smashed Transistors Smashed Transistors https://www.kvraudio.com/forum/memberlist.php?mode=viewprofile&u=339459
- KVRist
- 142 posts since 10 Oct, 2014
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".
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".