[dev] Suckless Discrete Fourier Transform and Singing Voice Synthesizer

From: QueueSevenM <queuesevenm_AT_disroot.org>
Date: Fri, 03 Jul 2026 21:08:27 -0400

Hello, I am wondering if suckless would be interested in a simple
Discrete Fourier Transform implementation. I've already implemented
this, so I can contribute it right away. It exclusively uses static
memory. Of course, this imposes a limit on the DFT size. But usually,
you are already know a fixed window size, or can set a reasonable limit.
The maximum size is configured at compile time. It implements the basic
radix-2 FFT algorithm, and uses Bluestein's algorithm/the chirp
z-transform for non-power-of-two window sizes.

It also implements the common functions surrounding the DFT/FFT (e.g.
shifting, STFT, reconstructing the negative frequency half of the
spectrum of the positive one, etc.). It can also do the Discrete Time
Fourier Transform and real-sized windows also using the chirp
z-transform. Since it uses static memory, it comes in two variants: a
C99 singled-threaded-only version and one that support multithreaded
applications using C11's thread-local storage. The code is only about
300 lines.

I've also been working on a singing voice synthesizer program written in
C.
Received on Sat Jul 04 2026 - 03:08:27 CEST

This archive was generated by hypermail 2.3.0 : Sat Jul 04 2026 - 03:12:09 CEST