digital audio workstation experimentation
- Zig 100%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
| src | ||
| .gitignore | ||
| build.zig | ||
| build.zig.zon | ||
| LICENSE | ||
| README.md | ||
DAW Project
Digital audio workstation experimentation.
Status
Basic text rendering using Vulkan and libxcb (X11).
Building from Source
zig build run
On NixOS, I had to add these to my shell:
buildInputs = [
vulkan-loader
vulkan-validation-layers
xorg.libxcb # if you use -fsys=x11
wayland # if you use -fsys=wayland
];
VK_LAYER_PATH="${pkgs.vulkan-validation-layers}/share/vulkan/explicit_layer.d";
Design Decisions
- This project is just for fun.
- No C++ dependencies, no exceptions, not even harfbuzz. Only Zig and C dependencies allowed.
- No dependencies on system-installed plugins. No VST support. No LADSPA support. Actively sabotage the ability to interact with proprietary interfaces. Projects made with this application depend only on this software, no third parties.
Short-Term Roadmap
- sample browser
Medium-Term Roadmap
- drum sequencer
- reallocating when the shared memory runs out
- a way to visualize debug sounds, waveform/freq
- convert from using pixels as unit of measurement to ems
- allow adjusting DPI
- detect default DPI
Long-Term Roadmap
- don't hardcode stereo
- cross-platform and safe effects and generator plugins via wasm JIT
- peer-to-peer multiplayer editing
- plugin, project, and sample sharing with a built-in community component