A terminal app to allow for easy voice recording
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

Rust 100.0%
9 1 0

Clone this repository

https://tangled.org/cyrave.net/TermVoice https://tangled.org/did:plc:u6jsazt54og7kx25yqvgmcox/TermVoice
git@tangled.org:cyrave.net/TermVoice git@tangled.org:did:plc:u6jsazt54og7kx25yqvgmcox/TermVoice

For self-hosted knots, clone URLs may differ based on your setup.

Download tar.gz
README.md

TermVoice - Terminal Voice Recorder#

A terminal voice recorder with a unified TUI for recording, browsing, playing, renaming, and deleting recordings.

Recordings are saved as MP3 files organised by date under the directory set in $VOICE_NOTES.

This is primarily a way for me to practice rust while also creating something mildly useful for myself. Feel free to use it if you find it useful or want to contribute.

Requirements#

# Fedora / RHEL
sudo dnf install alsa-lib-devel

# Debian / Ubuntu
sudo apt install libasound2-dev

Build#

git clone ssh://git@codeberg.org/CyRav1ck/TermVoice.git
cd TermVoice
cargo build --release

The binary is at target/release/rv.

Install#

cargo install --path .

This places rv in ~/.cargo/bin/. Make sure that directory is on your PATH:

# add to ~/.zshrc or ~/.bashrc if not already present
export PATH="$HOME/.cargo/bin:$PATH"

Setup#

Set the VOICE_NOTES environment variable to the directory where recordings should be saved:

export VOICE_NOTES=~/voice-notes

Add it to your shell config to make it permanent.

Usage#

rec

Recordings are saved as $VOICE_NOTES/YYYY-MM-DD/practice-N.mp3.

Keybindings#

Browsing#

Key Action
Space start recording
Enter / o play selected
j / k navigate down / up
gg jump to first recording
G jump to last recording
r rename selected
d delete selected (with confirmation)
q quit

Recording#

Key Action
Space / s / Enter stop and save
Esc cancel (discard)
q stop, save, and quit

Playback#

Key Action
Space pause / resume
s / Esc stop
q quit

Rename#

Key Action
Enter confirm
Esc cancel
/ move cursor
Backspace / Delete delete character
Home / End jump to start / end

Delete confirmation#

Key Action
y / Enter confirm delete
any other key cancel