EchoMind is a colorful and animated CLI voice recorder built in Go. It provides a visually engaging "mini-app" experience right inside your terminal, featuring real-time waveforms, smooth animations, and interactive configuration.
- 🚀 Animated Startup: A lively initialization sequence with progress bars.
- 🎙️ Real-time Recording: Capture audio with a live blinking indicator and timer.
- 📊 Dynamic Waveform: Visual feedback based on actual microphone input levels.
- ⚙️ Interactive Config: Easily set your default recording format and save directory.
- 🌈 Styled UI: Beautiful terminal interface powered by Bubble Tea and Lipgloss.
- 💾 Auto-Naming: Files are saved with precise timestamps for easy organization.
- Windows Users: You must have a C compiler installed (like Mingw-w64 or via MSYS2) because the audio engine uses CGO.
-
Clone the repository:
git clone https://github.com/your-repo/echomind.git cd echomind -
Build the executable:
go build -o echomind.exe main.go
-
Run EchoMind:
./echomind.exe record
-
(Optional) Add to Path: Move
echomind.exeto a folder in your system's PATH to run it from anywhere.
cmd/: Command definitions using Cobra.internal/audio/: Audio capture logic using malgo (miniaudio wrapper) and go-audio.internal/ui/: Terminal UI components using Bubble Tea and Lipgloss.internal/config/: JSON-based preference management.
-
Install Dependencies:
go mod download
-
Running in Debug Mode: Since Bubble Tea takes over the terminal, use
fmt.Fprintf(os.Stderr, ...)or log to a file for debugging. -
CGO Requirements: This project requires
CGO_ENABLED=1. On Windows, ensuregccis in your environment variables.
To prepare a release for multiple platforms:
-
Windows (Primary Focus):
go build -ldflags="-s -w" -o dist/echomind-windows-amd64.exe main.go -
Cross-Compilation: Note that because this uses
malgo(CGO), cross-compiling requires a cross-compiler for the target OS (e.g.,x86_64-linux-gnu-gccfor Linux). -
Versioning: Tag your releases in Git:
git tag -a v1.0.0 -m "Initial release" git push origin v1.0.0
- Add MP3/FLAC encoding support (requires additional C libraries).
- Implement a
historycommand to browse past recordings. - Add audio playback within the CLI.
echomind record(orem recordafter install): Start a recording session.echomind config: Change your default save path, format, and quality.echomind history: View a log of your past recordings.echomind install: Automatically add EchoMind to your Windows PATH and create anemshorthand.echomind --help: See all available options.
- Enter: Stop recording / Confirm save.
- Arrows: Navigate fields in the save menu.
- 'o': Open the saved recording in your default app.
- 'r': Start a new recording session immediately after saving.
- 'q': Quit the application.
Enjoy your digital voice journaling! 🚀