LT Displaced Bezier Curves: A New Method for Wavetable Design

DSP, Plugin and Host development discussion.
Post Reply New Topic
RELATED
PRODUCTS

Post

AUTO-ADMIN: Non-MP3, WAV, OGG, SoundCloud, YouTube, Vimeo, Twitter and Facebook links in this post have been protected automatically. Once the member reaches 5 posts the links will function as normal.
Hi everyone,

I’d like to share a new concept I discovered by accident while developing a wavetable drawing tool. It’s a simple but effective waveform shaping technique that mimics filter behavior — without actually using any DSP filters.

---

## 🎯 What is Displaced Bézier Curves(DBC)?

DBC is a technique where you:

1. Draw a Bézier curve as your wavetable base.
2. Apply an intentional **displacement** (offset) to its control points.
3. Pass the distorted curve through a **smoothing algorithm** (like Gaussian blur, Savitzky–Golay, etc).

The result is a **waveform with filter-like characteristics**, achieved purely during the shape generation process — no real-time DSP involved.

---

## 🎧 What does it sound like?

Demo video here:
🎥

You’ll hear how the curves exhibit tone shaping reminiscent of filtering, even though it’s just Bézier curve manipulation + smoothing.

---

## 📘 GitHub (Concept Only)

You can find a written explanation and visual examples here:
🔗 GitHub: https://github.com/niuniu502/LiTao_Disp ... ier_Curves (https://github.com/niuniu502/LiTao_DisplacedBezier_Curves)

Note: There’s no code yet — this is just a **theory/concept repo**. I plan to implement it in a future plugin and wanted to share the core idea first.

---

## 💡 Why share this?

- I haven’t seen this technique described elsewhere.
- It could be useful in wavetable generation, tone design, or new synthesis methods.
- I'd love to hear feedback — has anyone seen something similar? Could it be extended?

---

Thanks for checking it out! Looking forward to discussion.

– OP

Post

niuniu502 wrote: Wed Jun 11, 2025 3:12 am Hi everyone,

I’d like to share a new concept I discovered by accident while developing a wavetable drawing tool. It’s a simple but effective waveform shaping technique that mimics filter behavior — without actually using any DSP filters.
Cool...

Isn't this somewhat similar to what u-he is up to with Zebralette 3? That is, morphing Bezier curves applied to the spectral harmonics of a wavetable?

Post

JustinJ wrote: Wed Jun 11, 2025 10:28 am
niuniu502 wrote: Wed Jun 11, 2025 3:12 am Hi everyone,

I’d like to share a new concept I discovered by accident while developing a wavetable drawing tool. It’s a simple but effective waveform shaping technique that mimics filter behavior — without actually using any DSP filters.
Cool...

Isn't this somewhat similar to what u-he is up to with Zebralette 3? That is, morphing Bezier curves applied to the spectral harmonics of a wavetable?
Yes, it’s similar in the sense that both involve curve-based wavetable shaping. But the core idea of DBC is quite different — it simulates a kind of nonlinear filtering effect by using a damaged Bézier curve. It operates directly in the time domain, which makes it extremely simple and efficient.

Interestingly , I actually discovered it by accident due to a bug :clown: — and it just happened to sound really good. :phones:

Post

niuniu502 wrote: Wed Jun 11, 2025 3:12 am 3. Pass the distorted curve through a **smoothing algorithm** (like Gaussian blur, Savitzky–Golay, etc).
Smoothing algorithms (at least those that are linear) and low-pass filters are essentially the same thing. Usually when we're discussing "smoothing filters" it is implied that the criteria to optimize is that of time-domain smoothness of the resulting waveform, where as when we're discussing "low-pass filters" it is usually implied that we want a certain spectrum and are less concerned about time-domain behaviour... but "smooth time-domain waveform" generally implies some amount of low-pass filtering and low-pass filtering implies smoothing in the time-domain (although we might cause some ringing) and then there's situations where you might want to design a filter that tries to strike a trade-off between the two, so you can't really meaningfully separate smoothing and low-pass filters except by application domain.

That said... yeah, you can pre-filter wavetables to avoid doing it at playback time, that's fairly common thing to do.

Post

AUTO-ADMIN: Non-MP3, WAV, OGG, SoundCloud, YouTube, Vimeo, Twitter and Facebook links in this post have been protected automatically. Once the member reaches 5 posts the links will function as normal.
mystran wrote: Wed Jun 11, 2025 1:57 pm
niuniu502 wrote: Wed Jun 11, 2025 3:12 am 3. Pass the distorted curve through a **smoothing algorithm** (like Gaussian blur, Savitzky–Golay, etc).
Smoothing algorithms (at least those that are linear) and low-pass filters are essentially the same thing. Usually when we're discussing "smoothing filters" it is implied that the criteria to optimize is that of time-domain smoothness of the resulting waveform, where as when we're discussing "low-pass filters" it is usually implied that we want a certain spectrum and are less concerned about time-domain behaviour... but "smooth time-domain waveform" generally implies some amount of low-pass filtering and low-pass filtering implies smoothing in the time-domain (although we might cause some ringing) and then there's situations where you might want to design a filter that tries to strike a trade-off between the two, so you can't really meaningfully separate smoothing and low-pass filters except by application domain.

That said... yeah, you can pre-filter wavetables to avoid doing it at playback time, that's fairly common thing to do.
Thanks! :) You're absolutely right — smoothing and low-pass filtering are indeed conceptually intertwined, especially when viewed from the frequency domain.

In my case, though, I actually didn’t approach this from a spectral or filter-design perspective. My goal was purely visual and intuitive: to make a jagged Bézier-based waveform appear smoother in shape. I wasn’t targeting any specific frequency response or harmonic content at the time — just visual curvature.

Interestingly, this purely visual tweak ended up creating a unique sound. You can see an example here:
----------------------------
https://github.com/niuniu502/LiTao_Disp ... -bellX.jpg (https://github.com/niuniu502/LiTao_DisplacedBezier_Curves/blob/main/Square-bellX.jpg)
---------------------------
This reference image demonstrates how displaced control points can offer intuitive, real-time visual waveform editing. Just as you pointed out, I also completely set aside the frequency-domain perspective and focused purely on the visual and time-domain aspects. Thank you very much for your feedback — to be honest, my understanding of filters is quite limited. :dog:

Post Reply

Return to “DSP and Plugin Development”