About this project
Vult is a simple, powerful language for programming high-performance algorithms that can run on small microprocessors or microcontrollers. It is especially aimed at Digital Signal Processing (DSP) work such as audio effects and synthesizers.
The Vult compiler is a transcompiler: it takes Vult source and emits plain C/C++ that can be built on any platform with a C/C++ compiler, for example Arduino or Teensy boards using fixed-point arithmetic. It can also generate JavaScript for direct browser execution, or C/C++ suitable for compiling as Pure Data externals.
Key capabilities described in the README:
- Command-line compiler `vultc` producing `.h`/`.cpp` output, with runtime files `runtime/vultin.h` and `runtime/vultin.cpp` needed for linking.
- Floating-point or fixed-point arithmetic (`-real fixed`, q16 format: 16 integer bits, 16 fractional bits), useful on processors without an FPU such as AVR Arduinos, Teensy 3.2 and Raspberry Pi Pico.
- Templates for targets including Teensy Audio Library and Pure Data externals; example repositories cover PicoADK, WebAudio, Pure Data and Teensy Audio.
- Language features such as functions acting as complete processing units, per-instance `mem` state variables, compile-time lookup tables (`@[table(...)]`) and embedding wav files with or without interpolation.
- Distribution options: native executables, an npm-installed `vultc` (noted as about 4x slower than native), a node.js library (`vultlib`), and a browser-embedded compiler script.
- Editor support via a Sublime Text syntax file and a Visual Studio Code extension.
- Building from source with OCaml/Opam, `make`, `make jscompiler` and `make test`.
The README states that DSP code for Vult VCV Rack and Vult Eurorack modules is written in the Vult language. Documentation, a tutorial, a language reference and command-line options are available on the project site and wiki.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.