| .forgejo/workflows | ||
| .old | ||
| build | ||
| crates | ||
| deps | ||
| .dockerignore | ||
| .gitignore | ||
| .gitmodules | ||
| .scratch.rs | ||
| architecture.svg | ||
| Cargo.lock | ||
| Cargo.toml | ||
| CONTRIBUTING.md | ||
| Justfile | ||
| LICENSE | ||
| README.md | ||
| shell.nix | ||
| tek.rs | ||
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.
author is reachable via mastodon @unspeaker@mastodon.social
or matrix @unspeaker:matrix.org
![]() |
usage
- requirements: linux; jack or pipewire; 24-bit terminal (i use
kitty) - recommended: midi controller; samples in wav format; lv2 plugins.
keymaps
arrows/wasd: navigatetab: toggle editorenter: write notez: unlock zoom-/=: zoom midi editor- space: play/pause
- esc: options
- f1: help/command list
- f2: rename
- f6: save
- f9: load
installation
from distro repositories
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
building from source
requires docker
git clone https://codeberg.org/unspeaker/tek # obtain source
cd tek # enter directory
cat bin/release-glibc.sh # preview build script
sudo bin/release-glibc.sh # run build script
sudo cp bin/tek /usr/local/bin/tek # install
design goals
-
inspired by trackers and hardware sequencers, but with the critical feature that 90s samplers lack: able to resample, i.e. record while playing!
-
pop-up scratchpad for musical ideas. low resource consumption, can stay open in background. but flexible enough to allow expanding on compositions
-
human- and machine- readable project format simple representation for project data enable scripting and remapping.
