프로젝트 소개

Vult는 소형 마이크로프로세서나 마이크로컨트롤러에서 실행할 수 있는 고성능 알고리즘을 프로그래밍하기 위한 간단하고 강력한 언어입니다. 특히 오디오 이펙트와 신시사이저 같은 디지털 신호 처리(DSP) 작업을 목표로 합니다. Vult 컴파일러는 트랜스컴파일러입니다. Vult 소스를 받아 C/C++ 컴파일러가 있는 모든 플랫폼에서 빌드할 수 있는 순수 C/C++를 출력합니다. 예를 들어 고정소수점 연산을 사용하는 Arduino 또는 Teensy 보드용으로 사용할 수 있습니다. 또한 브라우저에서 직접 실행할 수 있는 JavaScript를 생성하거나 Pure Data 외부 객체로 컴파일하기에 적합한 C/C++를 생성할 수도 있습니다. README에 설명된 주요 기능: - `.h`/`.cpp` 출력을 생성하는 명령줄 컴파일러 `vultc`. 링크에는 런타임 파일 `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 파일을 임베드하는 기능 같은 언어 기능. - 배포 옵션: 네이티브 실행 파일, npm으로 설치하는 `vultc`(네이티브보다 약 4배 느리다고 명시됨), node.js 라이브러리(`vultlib`), 브라우저에 임베드된 컴파일러 스크립트. - Sublime Text 구문 파일과 Visual Studio Code 확장을 통한 편집기 지원. - OCaml/Opam, `make`, `make jscompiler`, `make test`를 사용한 소스 빌드. README에는 Vult VCV Rack 및 Vult Eurorack 모듈용 DSP 코드가 Vult 언어로 작성되었다고 나와 있습니다. 문서, 튜토리얼, 언어 레퍼런스, 명령줄 옵션은 프로젝트 사이트와 위키에서 확인할 수 있습니다.