mirror of
https://codeberg.org/unspeaker/tek.git
synced 2025-05-13 02:00:14 +02:00
91 lines
3 KiB
Markdown
91 lines
3 KiB
Markdown
# tek [](https://nogithub.codeberg.page)
|
|
|
|
a music making program for [24-bit unicode terminals](https://sw.kovidgoyal.net/kitty/).
|
|
|
|
written in [rust](https://www.rust-lang.org/)
|
|
with [ratatui](https://ratatui.rs/) on [crossterm](https://docs.rs/crossterm/latest/crossterm/)
|
|
for [jack](https://jackaudio.org/) and [pipewire](https://www.pipewire.org/).
|
|
|
|
**tek** is available as [source](https://codeberg.org/unspeaker/tek#building-from-source),
|
|
[statically linked binaries](https://codeberg.org/unspeaker/tek/releases), and on the
|
|
[aur](https://codeberg.org/unspeaker/tek#arch-linux).
|
|
|
|
author is reachable via [**mastodon** `@unspeaker@mastodon.social`](https://mastodon.social/@unspeaker)
|
|
or [**matrix** `@unspeaker:matrix.org`](https://matrix.to/#/@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
|
|
|
|
* Arranger:
|
|
* [x] arrows: navigate
|
|
* [x] tab: enter editor
|
|
* [x] `q`: enqueue clip
|
|
* [x] space: play/pause
|
|
* Editor:
|
|
* [x] arrows: navigate
|
|
* [x] `,` / `.`: change note length
|
|
* [x] enter: write note
|
|
* [x] `-` / `=`: zoom midi editor
|
|
* [ ] `z`: zoom lock/unlock
|
|
* [ ] del: delete
|
|
* Global:
|
|
* [x] esc: options menu
|
|
* [x] f1: help/command list
|
|
* [ ] f2: rename
|
|
* [ ] f6: save
|
|
* [ ] f9: load
|
|
|
|
## installation
|
|
|
|
### binary download
|
|
|
|
you can download [tek 0.2.0 "almost static"](https://codeberg.org/unspeaker/tek/releases/tag/0.2.0)
|
|
from codeberg releases. this standalone binary release, should work on any glibc-based system.
|
|
|
|
### from distro repositories
|
|
|
|
[](https://repology.org/project/tek/versions)
|
|
|
|
#### arch linux
|
|
|
|
[tek 0.2.0-rc7](https://aur.archlinux.org/packages/tek) is available as a package in the AUR.
|
|
you can install it using your preferred AUR helper (e.g. `paru`):
|
|
|
|
```sh
|
|
paru -S tek
|
|
```
|
|
|
|
### building from source
|
|
|
|
requires docker.
|
|
|
|
```
|
|
git clone --recursive -b 0.2 https://codeberg.org/unspeaker/tek
|
|
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.
|