https://github.com/nicarl/somafm
CLI application to listen to SomaFM stations
https://github.com/nicarl/somafm
cli music
Last synced: 3 months ago
JSON representation
CLI application to listen to SomaFM stations
- Host: GitHub
- URL: https://github.com/nicarl/somafm
- Owner: nicarl
- License: apache-2.0
- Created: 2022-08-29T18:01:59.000Z (almost 4 years ago)
- Default Branch: main
- Last Pushed: 2026-03-22T16:28:20.000Z (3 months ago)
- Last Synced: 2026-03-23T06:45:01.591Z (3 months ago)
- Topics: cli, music
- Language: Go
- Homepage:
- Size: 2.7 MB
- Stars: 7
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# somafm
> TUI application to listen to SomaFM stations
If you enjoy listening to [SomaFM](https://somafm.com/) please support SomaFM by donating.

## Features
- Browse and play all SomaFM channels
- Pause/resume playback
- Volume control
- Filter channels by name or genre
- Now-playing indicator
- Cross-platform (Linux, macOS, Windows)
## Installation
### Homebrew (macOS & Linux)
```sh
brew tap nicarl/somafm
brew install somafm
```
### Install manually from release
[Download the latest release for your platform](https://github.com/nicarl/somafm/releases) and place the binary in your `$PATH`.
### Install manually from source
Requires Go 1.24+ and platform audio headers (e.g. `libasound2-dev` on Linux).
```sh
git clone https://github.com/nicarl/somafm.git
cd somafm
go build ./cmd/somafm.go
```
## Usage
```sh
somafm
```
### Keyboard Shortcuts
| Key | Action |
|-----|--------|
| `enter` | Play selected channel |
| `space` | Pause / resume |
| `+` / `-` | Volume up / down |
| `/` | Filter channels |
| `esc` | Clear filter |
| `j` / `down` | Move cursor down |
| `k` / `up` | Move cursor up |
| `q` | Quit |