https://github.com/mwhyte/rig
rig.fm
https://github.com/mwhyte/rig
bubble-tea bubbletea cli go golang internet-radio mpv radio terminal terminal-app tui
Last synced: 4 days ago
JSON representation
rig.fm
- Host: GitHub
- URL: https://github.com/mwhyte/rig
- Owner: MWhyte
- License: agpl-3.0
- Created: 2026-01-06T00:13:01.000Z (5 months ago)
- Default Branch: main
- Last Pushed: 2026-05-29T23:22:40.000Z (5 days ago)
- Last Synced: 2026-05-30T00:08:05.442Z (5 days ago)
- Topics: bubble-tea, bubbletea, cli, go, golang, internet-radio, mpv, radio, terminal, terminal-app, tui
- Language: Go
- Homepage: https://rig.fm/
- Size: 1.84 MB
- Stars: 3
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README
# 📻 rig.fm
**Internet radio in your terminal. Beautiful, fast, and keyboard-driven.**
[](https://github.com/MWhyte/rig/actions/workflows/pages/pages-build-deployment)
[](https://github.com/MWhyte/rig/actions/workflows/release.yml)
[](https://github.com/MWhyte/rig/actions/workflows/lint.yml)
[](https://goreportcard.com/report/github.com/MWhyte/rig)
[](LICENSE)
[Website](https://rig.fm) | [Install](#installation) | [Features](#features) | [Usage](#usage) | [Contributing](CONTRIBUTING.md) | [License](#license)
## What is rig.fm?
rig.fm is a terminal radio player that lets you browse, search, and listen to thousands of internet radio stations without leaving the command line. Powered by the [Radio Browser](https://www.radio-browser.info/) directory, it gives you access to stations from around the world, all wrapped in a beautiful TUI built with [Bubble Tea](https://github.com/charmbracelet/bubbletea).
No accounts. No ads. Just radio.
## Features
- 🌍 Browse thousands of radio stations worldwide
- 🔍 Search by genre, country, language, or station name
- 🎨 Beautiful terminal UI with multiple themes
- ⌨️ Keyboard-driven interface for fast navigation
- ⭐ Save your favourite stations
- 🎤 Identify the playing track with one keypress — Shazam-style, no API key required
- 🎵 Now playing display with station metadata
### Search and play

### Themes

### Favourites

### Identify the playing track
Press `i` while a station is playing. rig taps the audio, fingerprints it locally in pure Go, and asks Shazam to identify it. Press `o` to open the track on shazam.com.

## Installation
rig.fm requires [mpv](https://mpv.io/) for audio playback. Homebrew installs it automatically. For other install methods, make sure mpv is available on your system.
### Homebrew (macOS and Linux)
```bash
brew install mwhyte/tap/rig
```
### Download binary
Grab the latest release for your platform from the [releases page](https://github.com/MWhyte/rig/releases).
### Go install
```bash
go install github.com/mrwhyte/rig/cmd/rig@latest
```
Requires Go 1.25 or later.
### Build from source
```bash
git clone https://github.com/MWhyte/rig.git
cd rig
go build -o rig ./cmd/rig
./rig
```
## Usage
```bash
rig
```
### Keyboard controls
| Key | Action |
|-----|--------|
| `Tab` | Switch between panels |
| `Up/Down` | Navigate station list |
| `Enter` | Play selected station |
| `Space` | Pause/Resume |
| `+` / `-` | Volume up/down |
| `s` | Search stations |
| `i` | Identify the playing track |
| `o` | Open identified track on shazam.com |
| `?` | Help |
| `q` | Quit |
## Contributing
Contributions are welcome. See [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines on how to get started.
## Sponsors
If you find rig.fm useful, consider sponsoring its development: [github.com/sponsors/MWhyte](https://github.com/sponsors/MWhyte)
## License
GNU Affero General Public License v3.0. See [LICENSE](LICENSE) for details.