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.

update readme

+107
+107
README.md
··· 1 + # rv — voice recorder 2 + 3 + A terminal voice recorder with a unified TUI for recording, browsing, playing, renaming, and deleting recordings. 4 + 5 + Recordings are saved as MP3 files organised by date under the directory set in `$VOICE_NOTES`. 6 + 7 + ## Requirements 8 + 9 + - Rust (stable) — [install via rustup](https://rustup.rs) 10 + - ALSA development headers (Linux) 11 + 12 + ```bash 13 + # Fedora / RHEL 14 + sudo dnf install alsa-lib-devel 15 + 16 + # Debian / Ubuntu 17 + sudo apt install libasound2-dev 18 + ``` 19 + 20 + ## Build 21 + 22 + ```bash 23 + git clone <repo> 24 + cd rust_voice 25 + cargo build --release 26 + ``` 27 + 28 + The binary is at `target/release/rv`. 29 + 30 + ## Install 31 + 32 + ```bash 33 + cargo install --path . 34 + ``` 35 + 36 + This places `rv` in `~/.cargo/bin/`. Make sure that directory is on your `PATH`: 37 + 38 + ```bash 39 + # add to ~/.zshrc or ~/.bashrc if not already present 40 + export PATH="$HOME/.cargo/bin:$PATH" 41 + ``` 42 + 43 + ## Setup 44 + 45 + Set the `VOICE_NOTES` environment variable to the directory where recordings should be saved: 46 + 47 + ```bash 48 + export VOICE_NOTES=~/voice-notes 49 + ``` 50 + 51 + Add it to your shell config to make it permanent. 52 + 53 + ## Usage 54 + 55 + ```bash 56 + rv 57 + ``` 58 + 59 + Recordings are saved as `$VOICE_NOTES/YYYY-MM-DD/practice-N.mp3`. 60 + 61 + ## Keybindings 62 + 63 + ### Browsing 64 + 65 + | Key | Action | 66 + |-----|--------| 67 + | `Space` | start recording | 68 + | `Enter` / `o` | play selected | 69 + | `j` / `k` | navigate down / up | 70 + | `gg` | jump to first recording | 71 + | `G` | jump to last recording | 72 + | `r` | rename selected | 73 + | `d` | delete selected (with confirmation) | 74 + | `q` | quit | 75 + 76 + ### Recording 77 + 78 + | Key | Action | 79 + |-----|--------| 80 + | `Space` / `s` / `Enter` | stop and save | 81 + | `Esc` | cancel (discard) | 82 + | `q` | stop, save, and quit | 83 + 84 + ### Playback 85 + 86 + | Key | Action | 87 + |-----|--------| 88 + | `Space` | pause / resume | 89 + | `s` / `Esc` | stop | 90 + | `q` | quit | 91 + 92 + ### Rename 93 + 94 + | Key | Action | 95 + |-----|--------| 96 + | `Enter` | confirm | 97 + | `Esc` | cancel | 98 + | `←` / `→` | move cursor | 99 + | `Backspace` / `Delete` | delete character | 100 + | `Home` / `End` | jump to start / end | 101 + 102 + ### Delete confirmation 103 + 104 + | Key | Action | 105 + |-----|--------| 106 + | `y` / `Enter` | confirm delete | 107 + | any other key | cancel |