.forgejo/workflows | ||
.old | ||
bin | ||
engine | ||
examples | ||
layout | ||
rust-jack@d09788959f | ||
src | ||
suil | ||
.dockerignore | ||
.gitignore | ||
.gitmodules | ||
.scratch.rs | ||
architecture.svg | ||
Cargo.lock | ||
Cargo.toml | ||
Justfile | ||
LICENSE | ||
README.md | ||
shell.nix |
tek 
a music making program for 24-bit unicode terminals.
written in rust with ratatui on crossterm for jack and pipewire.
tek is available as source, statically linked binaries, and on the aur.
this codebase produces the following binaries:
tek_sequencer
is a single-track, multi-pattern MIDI sequencer with properly tempo-synced pattern switchtek_groovebox
connects the sequencer to a sampler, so that you can sample while you sequencetek_arranger
is a multi-track sequencer based on a familiar clip launching UItek_transport
is a JACK transport controllertek_sampler
is a MIDI-controlled samplertek_plugin
is an audio plugin host.tek_channel
is a standalone channel striptek_mixer
is an audio mixer.
some of these are currently work in progress.
the project roadmap is at https://codeberg.org/unspeaker/tek/milestones
getting started
- requirements: linux; jack or pipewire; 24-bit terminal (i use
kitty
) - recommended: midi controller; samples in wav format; lv2 plugins.
arch linux
tek is available as a package in the AUR.
you can install it using an AUR helper (e.g. paru
):
paru -S tek
downloads
see the releases page.
building from source
you'll need a Rust toolchain and various system libraries.
you can obtain the former using rustup
and the latter using nix-shell
.
there's a shell.nix
provided with the project.
from there, use the commands in the Justfile
, e.g.:
just arranger
design goals
lightweight
- pop-up scratchpad for musical ideas
- low resource consumption, can stay open in background
- advanced toolset allows quickly expanding on compositions
flexible
- inspired by trackers and hardware sequencers
- able to record while playing!
programmable
- human-readable project format
- command architecture allows for scripting and remapping
Note
Your moral support means a lot to me. Feel free to contact me on Mastodon![^0]
Love, 🤫 (a rogue knowledge worker in a cyberpunk dystopia)