Skip to content
Switch branches/tags

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time
Jul 18, 2018
Sep 27, 2020
Mar 30, 2020
Mar 30, 2020
Mar 30, 2020
Mar 30, 2020
Mar 30, 2020
Mar 30, 2020

SomaFM Build Status

Play & record SomaFM radio channels



With yarn:

$ yarn global add somafm

or with npm:

$ npm install --global somafm

Playing a channel requires MPlayer or mpv on your system. Please make sure you have at least one of them installed and the mplayer or mpv command can be run within your shell.

To record a channel, you need Streamripper and its executable streamripper.

On Linux, the xclip package is needed to enable copying the current song title to the clipboard.



$ somafm

Interactive mode. Choose a channel to play from the list.

$ somafm list [<keywords>]

Show a list of all SomaFM channels. You can filter by one or more keywords.

$ somafm play <channel> | random

Play a channel. To specify a channel, use the ID from the channel list (lower-case, no spaces), e.g. beatblender. Use random to play any channel.

$ somafm info <channel>

Get channel information.

$ somafm record <channel>

Record a channel. Tracks are saved into a directory containing channel name, date and time, e.g. SomaFM Groove Salad/20171011_213324. It is automatically created in the current working directory.

$ somafm list-favourites [<keywords>]

List your favourite songs. You can filter by one or more keywords in song title and channel name.

$ somafm edit-favourites

Edit your favourites songs file.

Command aliases

All commands have short aliases for faster typing.

Command Alias
list ls
play p
info i
record r
list-favourites lf
edit-favourites ef



Don't show desktop notifications.

Keyboard shortcuts

While playing, the following keyboard shortcuts are available:

Description Key
Copy current song title to clipboard c
Add current song to favourites + or f
Remove current song from favourites - or u
Increase volume* * or 0
Decrease volume* / or 9
Mute/unmute* m
Enable desktop notifications d
Disable desktop notifications n
Stop playback & quit application q or esc

* MPlayer only