Other waveforms with MinBLEPs ?
- KVRist
- 102 posts since 21 Sep, 2004
I tried the minblep code from the archive for generating bandlimited saw and square waveforms. Works excellent.
Now, can anyone explain how to generate other waveforms than saw and square, e.g., invsaw, super-saw and triangle (with pw) with this code ?
Thanks a bunch !
- KarmaFX
Now, can anyone explain how to generate other waveforms than saw and square, e.g., invsaw, super-saw and triangle (with pw) with this code ?
Thanks a bunch !
- KarmaFX
-
- KVRAF
- 4737 posts since 20 Feb, 2004 from Gothenburg, Sweden
Supersaw is just a bunch of detuned saws added up together.
Apart from that, can't you basicly make any "function based" (out = waveform(time) kinda) bandlimited using minbleps at the discontinuites?
Apart from that, can't you basicly make any "function based" (out = waveform(time) kinda) bandlimited using minbleps at the discontinuites?
Stefan H Singer
https://dropshotaudio.com/
https://dropshotaudio.com/
- KVRist
- Topic Starter
- 102 posts since 21 Sep, 2004
Maybe...my guess is that it is really simple... but since I don't know how blep's work, I don't know how ? Any code or explanation appreciatedstefancrs wrote:...can't you basicly make any "function based" (out = waveform(time) kinda) bandlimited using minbleps at the discontinuites?
Thanks.
-
- KVRAF
- 4737 posts since 20 Feb, 2004 from Gothenburg, Sweden
Basicly, what you do when you use minbleps is that you apply those in the discontinuities of the waveform to "simulate" a discontinuity in the analouge realm (they don't exist, I'm just trying to explain here). Hence you remove the aliasing a normal, "ugly", signal step would introduce.
Do I make any sense? Otherwise I guess you'd have to read the papers better, or check out the previous thread on the subject:
http://www.kvr-vst.com/forum/viewtopic.php?t=45778
Do I make any sense? Otherwise I guess you'd have to read the papers better, or check out the previous thread on the subject:
http://www.kvr-vst.com/forum/viewtopic.php?t=45778
Stefan H Singer
https://dropshotaudio.com/
https://dropshotaudio.com/
- KVRist
- Topic Starter
- 102 posts since 21 Sep, 2004
Cool, so this means that is is possible to produce "bandlimited" versions of any kind of signal...even presampled stuff,e.g. in a wavetable ?
Is this easy to derive from the code in the archive...I'll have a look at the paper now...but I'm not really sure what discontinuities you are referring to ?
Thanks!
Is this easy to derive from the code in the archive...I'll have a look at the paper now...but I'm not really sure what discontinuities you are referring to ?
Thanks!
-
- KVRAF
- 4737 posts since 20 Feb, 2004 from Gothenburg, Sweden
A discontinuity = a step, as when the square wave suddenly goes from -1 to 1. A perfect square wave does this in zero time, hence it has an infinite spectra, this will cause aliasing so you have to use lowpass filtered steps instead. That's what the minBleps are.
Read, and understand, http://www-2.cs.cmu.edu/~eli/papers/icmc01-hardsync.pdf

No, you can not use it on sampled waveforms since you have no idea about the derivatives etc.
Read, and understand, http://www-2.cs.cmu.edu/~eli/papers/icmc01-hardsync.pdf
No, you can not use it on sampled waveforms since you have no idea about the derivatives etc.
Stefan H Singer
https://dropshotaudio.com/
https://dropshotaudio.com/
- KVRist
- Topic Starter
- 102 posts since 21 Sep, 2004
Okay, I'll read the paper !
Though, I guess I was hoping for a "do-this-and-it-will-work" kinda answer
But hopefully I'll learn something new in the process.
Thanks again, stefan.
Though, I guess I was hoping for a "do-this-and-it-will-work" kinda answer
But hopefully I'll learn something new in the process.
Thanks again, stefan.
-
- KVRian
- 922 posts since 26 Mar, 2003 from Guildford, England
Would it work to integrate a bandlimited square wave in order to generate a bandlimited triangle?
-
- KVRAF
- 1907 posts since 29 Oct, 2003
hey, karmafx, your delay sounds lovely! simple and nice, clean sound.
- KVRist
- Topic Starter
- 102 posts since 21 Sep, 2004
Thanks, Yes I'm guessing it would... I seem to recall reading that somewhere too...but I dont know how to do that ?! Any thoughts ?texture wrote:Would it work to integrate a bandlimited square wave in order to generate a bandlimited triangle?
- KVRist
- Topic Starter
- 102 posts since 21 Sep, 2004
Thanks man! Glad you like itmauseoleum wrote:hey, karmafx, your delay sounds lovely! simple and nice, clean sound.
- KVRist
- Topic Starter
- 102 posts since 21 Sep, 2004
texture:
Okay, I just tried what I think you suggested. I simply sum the square wave contribution for each getsample iteration and output that (scaled) as triangle output, and resetting the sum when resetting the phase.
I get something that looks somewhat like a triangle, but not quite... the result sounds like it is bandlimited though - which I guess makes sense.
Has anyone tried this ? and got good results ???
stefan:
I read the (slightly confusing
) paper...but think I grasped the general idea, however, I'm still not sure where to add bleps for a triangle wave... I mean saw and square waves have big discontinuites, but the triangle does not. Any hints anyone ?
Okay, I just tried what I think you suggested. I simply sum the square wave contribution for each getsample iteration and output that (scaled) as triangle output, and resetting the sum when resetting the phase.
I get something that looks somewhat like a triangle, but not quite... the result sounds like it is bandlimited though - which I guess makes sense.
Has anyone tried this ? and got good results ???
stefan:
I read the (slightly confusing
-
- KVRAF
- 4737 posts since 20 Feb, 2004 from Gothenburg, Sweden
But the triangle too has discontinuites, every time it "changes direction". As far as I understand the paper, you have to pretend to switch between ramps instead.
The interpolation method works so-so. When resetting the sum value you produce a discontinuity, hence it will alias.
I'd go for solving a duty cycle ("symmetry") modifiable triangle wave instead, then you'd "automagically" have the sawtooth covered as well. It is doable with ramps and so on.
Note: I have never coded anything with minBLEP's. So I'm no expert in any way at all.
The interpolation method works so-so. When resetting the sum value you produce a discontinuity, hence it will alias.
I'd go for solving a duty cycle ("symmetry") modifiable triangle wave instead, then you'd "automagically" have the sawtooth covered as well. It is doable with ramps and so on.
Note: I have never coded anything with minBLEP's. So I'm no expert in any way at all.
Stefan H Singer
https://dropshotaudio.com/
https://dropshotaudio.com/
-
- KVRist
- 32 posts since 22 Sep, 2004 from Melbourne, Australia
I have code for generating MinBLEPs posted on my site at http://experimentalscene.com/dsp/minbleps.phpkarmafx wrote:Maybe...my guess is that it is really simple... but since I don't know how blep's work, I don't know how ? Any code or explanation appreciated
Thanks.
Enjoy
- KVRist
- Topic Starter
- 102 posts since 21 Sep, 2004
Yes, I visited your site yesterday actuallydwerner wrote: I have code for generating MinBLEPs posted on my site at http://experimentalscene.com/dsp/minbleps.php
Enjoy
Do you have code snippet that generates that ?
Eli talks about it in the end of his paper, but does not go into detail.
Also, I'm curious.... in the text you write that you add minbleps on both side of the discountiuity... but (as far as I can see) the MinBLEP code in the archive only adds a single blep. Is the code in the archive wrong, or am I missing something ?
Thanks.

