Об этом проекте
Vult — это простой и мощный язык для программирования высокопроизводительных алгоритмов, которые могут работать на небольших микропроцессорах или микроконтроллерах. Он особенно ориентирован на цифровую обработку сигналов (DSP), такую как аудиоэффекты и синтезаторы.
Компилятор Vult является транспилятором: он принимает исходный код на Vult и генерирует обычный C/C++, который можно собрать на любой платформе с компилятором C/C++, например, на платах Arduino или Teensy с использованием арифметики с фиксированной точкой. Он также может генерировать JavaScript для непосредственного выполнения в браузере или C/C++, пригодный для компиляции в качестве внешних модулей Pure Data.
Ключевые возможности, описанные в README:
- Компилятор командной строки `vultc`, создающий выходные файлы `.h`/`.cpp`, с файлами времени выполнения `runtime/vultin.h` и `runtime/vultin.cpp`, необходимыми для компоновки.
- Арифметика с плавающей или фиксированной точкой (`-real fixed`, формат q16: 16 целых бит, 16 дробных бит), полезная на процессорах без FPU, таких как AVR Arduino, Teensy 3.2 и Raspberry Pi Pico.
- Шаблоны для целевых платформ, включая Teensy Audio Library и внешние модули Pure Data; примеры репозиториев охватывают PicoADK, WebAudio, Pure Data и Teensy Audio.
- Возможности языка, такие как функции, действующие как полные блоки обработки, переменные состояния `mem` для каждого экземпляра, таблицы поиска времени компиляции (`@[table(...)]`) и встраивание wav-файлов с интерполяцией или без нее.
- Варианты распространения: нативные исполняемые файлы, `vultc`, устанавливаемый через npm (отмечено, что примерно в 4 раза медленнее нативного), библиотека node.js (`vultlib`) и скрипт компилятора, встраиваемый в браузер.
- Поддержка редакторов через файл синтаксиса Sublime Text и расширение Visual Studio Code.
- Сборка из исходного кода с помощью OCaml/Opam, `make`, `make jscompiler` и `make test`.
В README указано, что DSP-код для модулей Vult VCV Rack и Vult Eurorack написан на языке Vult. Документация, учебное пособие, справочник по языку и параметры командной строки доступны на сайте проекта и в вики.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.