À propos du projet
Vult est un langage simple et puissant pour programmer des algorithmes haute performance pouvant fonctionner sur de petits microprocesseurs ou microcontrôleurs. Il est particulièrement destiné au traitement numérique du signal (DSP), comme les effets audio et les synthétiseurs.
Le compilateur Vult est un transcompilateur : il prend du code source Vult et émet du C/C++ pur qui peut être compilé sur n'importe quelle plateforme avec un compilateur C/C++, par exemple les cartes Arduino ou Teensy utilisant l'arithmétique en virgule fixe. Il peut également générer du JavaScript pour une exécution directe dans le navigateur, ou du C/C++ adapté à la compilation comme externals Pure Data.
Capacités clés décrites dans le README :
- Compilateur en ligne de commande `vultc` produisant des fichiers `.h`/`.cpp`, avec les fichiers runtime `runtime/vultin.h` et `runtime/vultin.cpp` nécessaires pour la liaison.
- Arithmétique en virgule flottante ou fixe (`-real fixed`, format q16 : 16 bits entiers, 16 bits fractionnaires), utile sur les processeurs sans FPU comme les AVR Arduino, Teensy 3.2 et Raspberry Pi Pico.
- Modèles pour cibles incluant Teensy Audio Library et Pure Data externals ; des exemples de dépôts couvrent PicoADK, WebAudio, Pure Data et Teensy Audio.
- Fonctionnalités du langage telles que des fonctions agissant comme unités de traitement complètes, des variables d'état `mem` par instance, des tables de consultation au moment de la compilation (`@[table(...)]`) et l'intégration de fichiers wav avec ou sans interpolation.
- Options de distribution : exécutables natifs, `vultc` installé via npm (noté environ 4 fois plus lent que le natif), une bibliothèque node.js (`vultlib`) et un script compilateur intégré au navigateur.
- Support d'éditeur via un fichier de syntaxe Sublime Text et une extension Visual Studio Code.
- Construction à partir des sources avec OCaml/Opam, `make`, `make jscompiler` et `make test`.
Le README indique que le code DSP pour les modules Vult VCV Rack et Vult Eurorack est écrit dans le langage Vult. La documentation, un tutoriel, une référence du langage et les options de ligne de commande sont disponibles sur le site du projet et le wiki.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.