What is this? / これは何か?
A real-time additive synthesis engine implemented on FPGA (A project to port the implementation from the Terasic C5G to the Terasic DE10-nano and Cyclone V SoC in 2020), running 10,240 independent sinusoidal oscillators simultaneously with:
- 1-sample output latency (~20 µs at 48 kHz)
- 0.001 Hz frequency resolution per bin
- Constant compute load — silence and a full orchestral scene require identical processing (~10 billion ops/sec)
FPGA(2020年にTerasic C5Gへの実装からTerasic DE10-nano, Cyclone V SoCへの移植プロジェクト)上に実装されたリアルタイム加算合成エンジン。10,240本の独立正弦波オシレータを同時駆動し、1サンプル遅延・ビンあたり0.001Hz分解能・常時一定の演算負荷(秒間約100億演算)を実現する。
The Core Insight / 核心的な洞察
By controlling only the bin parameters (frequency, amplitude, phase) of an iDFT engine, every known synthesis paradigm becomes a special case.
iDFTエンジンのビンパラメータ(周波数・振幅・位相)の与え方だけで、あらゆる既知の合成パラダイムを包含できる——FM・加算・ポリゴナル・スペクトルフラクタルがすべて同一ハードウェアの特殊ケースとなる。
| Synthesis Method | Bin Frequency | Bin Amplitude |
|---|---|---|
| FM Synthesis | ωc ± nωm | Jₙ(β) |
| Polygonal + Bessel | (kN+1)ω₀ − nωm | cₖ(N)·Jₙ(kNβ) |
| Geometric / Fractal | f₀·rᵏ | r^(−αk) |
| Cantor Spectrum | Cantor set positions | Cantor measure |
| 1/fᵅ Noise | Log-spaced | fₖ^(−α/2) |
| Shepard Tone | f₀·2ᵏ | Bell envelope |
| Physical Model | Mode frequencies | Modal amplitudes |
The FM Connection / FMとの接続
The Chowning FM equation:
sin(ωct + β·sin ωmt) = Σ Jₙ(β)·sin[(ωc + nωm)t]
means FM sideband amplitudes are Bessel function values Jₙ(β). In this engine, those amplitudes are set directly — FM becomes one special case of a far more general spectral control system.
ChowningのFM方程式は、FM側波帯振幅がベッセル関数値Jₙ(β)であることを意味する。本エンジンではその振幅を直接設定できるため、FMはより汎用的なスペクトル制御系の特殊ケースとなる。
Hardware / ハードウェア
| Item | Spec |
|---|---|
| Board | Terasic DE10-nano (Cyclone V SoC 5CSEBA6U23I7) |
| FPGA Fabric | 110k LEs, 112 DSP blocks |
| ARM HPS | Dual Cortex-A9 @ 800 MHz |
| Sample Rate | 48 kHz |
| Bin Count | 10,240 (2,048 bins × 5 parallel modules) |
| Clock | 100 MHz per module |
| Output | 24-bit DAC via I²S |
| Control I/F | Gigabit Ethernet (UDP), AXI bridge ARM↔FPGA |
The physical layer was first verified on a Terasic C5G board in autumn 2020 as an 80-voice polyphonic additive synthesizer (128 bins, MIDI-CC controlled from MAX8). That prototype validated the core compute architecture. Detailed account in Build Log #2.
物理層は2020年秋、...
Read more »
Tsuneo.Ohnaka







ralferoo
STEAL-THIS-HARDWARE
Bruce Land
Tristan Ross