2 releases
Uses new Rust 2024
| 0.1.1 | Dec 21, 2025 |
|---|---|
| 0.1.0 | Dec 21, 2025 |
#69 in Video
215KB
5.5K
SLoC
Strix

Strix is an emulation of Hydra Synth for terminal emulators (Linux / MacOS / Windows). Forget everything you know about GLSL and high-definition rendering, you are going to see a lot of pixels. Strix runs good enough on modern terminal emulators. I've strived to reach feature parity with the base implementation, at least for the core set of functions and operators. This is a small personal project that I've been developing for fun and learning purposes. It's not intended to be a production-ready tool, but rather a way to explore the capabilities of terminal emulators and learn more about Rust and graphics programming. I do plan to use it for my own live performances :) I am following a simple philosophy for the development of this tool:
- emulate Hydra good enough (core syntax/semantics, core functions/operators)
- add goodies for my own enjoyment and/or comfort.
⚠️ Warning ⚠️: Despite my reluctance to support global capitalism and thereby finance a grimmer future, I have used a Large Language Model (Claude) to review and assist in writing some of the low-level code in this program. If you believe this program to be nefarious, please don't install it and blame me for using such tools. Rest assured that I personally do not align with what big AI companies and big tech want for our collective future. I am open to discussion about the ethics of using AI in the real of software development. I resort to LLMs for (bad?) pragmatic reasons: absence of funding for my work, lack of expertise/time in certain situations, debugging, curiosity, etc. I try to be as cautious and conscious about the potential impact of using such tools on society and the environment as can be. I am committed to using AI as responsibly and ethically as can be, and I encourage others to do the same. Never use an AI if you care to learn or build the future with integrity.
Features
Strix comes with the following set of features:
- Core Hydra library: sources, colors, blend modes, etc.
- Support for live webcam input and image import from disk.
- Persistent memory, with 9 workspaces to switch between.
- Integrated reference / documentation with live preview.
- Ableton Link integration and tap tempo for beatmatching.
- Headless mode: just type an expression and run it in the terminal.
Prerequisites
To run Strix, you need to install the Rust toolchain. You will also need a decent terminal emulator with true color support and graphic acceleration:
| Terminal | Platform | URL |
|---|---|---|
| WezTerm | Linux, macOS, Windows | https://wezterm.org/ |
| Ghostty | Linux, macOS | https://ghostty.org/ |
| iTerm2 | macOS | https://iterm2.com/ |
| Kitty | Linux, macOS | https://sw.kovidgoyal.net/kitty/ |
| Alacritty | Linux, macOS, Windows | https://alacritty.org/ |
Because of the rusty_link crate, you will also need some C++ development tools to compile the program:
- CMake 3.14+
- Git (for submodules)
On MacOS:
- Xcode Command Line Tools (
xcode-select --install)
On Linux:
build-essentiallibclang-devlibasound2-devpkg-config
On Windows:
- MSVC Build Tools (Visual Studio)
- LLVM/Clang
Installation
You can install Strix on your system using the following command. Rust needs to be pre-installed:
cargo install --git https://github.com/Bubobubobubobubo/strix
Usage
Global
| Key | Action |
|---|---|
Ctrl+D |
Open/close menu |
F1...F9 |
Switch between workspaces |
Screen (default view)
| Key | Action |
|---|---|
Enter or e |
Open editor |
Esc |
Close popups |
Space |
Tap tempo |
0...3 |
Switch output display |
Editor (Emacs bindings)
| Key | Action |
|---|---|
Ctrl+E |
Evaluate code |
Esc |
Close editor |
Ctrl+U |
Undo |
Standard Emacs navigation applies (Ctrl+A, Ctrl+E, Ctrl+K, etc.).
Menu
| Key | Action |
|---|---|
j / k or arrows |
Navigate |
h / l or arrows |
Adjust value |
Enter |
Select |
Esc |
Close |
Reference Panel
| Key | Action |
|---|---|
j / k or arrows |
Navigate entries |
h / l or arrows |
Switch category |
Enter |
Insert into editor |
Esc |
Close |
Headless Mode
Run with --eval "formula" for headless operation.
| Key | Action |
|---|---|
q / Esc / Ctrl+C |
Quit |
0...3 |
Switch output display |
Contributing
Strix is not perfect, and will probably never be. If you feel like you want to contribute, please open an issue or submit a pull request. Your feedback and contributions are welcome! Contributions are not only code contributions, we warmly welcome:
- Bug reports and feature requests.
- Documentation improvements.
- Tutorials and examples.
- Testing on various platforms.
- Community support (helping others).
Read CONTRIBUTING to learn more about the rules we use for code contributions.
Acknowledgments
Strix is inspired by Hydra, created by Olivia Jack. Hydra is a live coding environment for visual synthesis that runs in the browser. Consider supporting the Hydra project. Many thanks to the global live coding community for their amazing work.
License
This software is licensed under an A-GPLv3 license.
Dependencies
~27–44MB
~708K SLoC