A beautiful terminal-based player for SomaFM internet radio with stream buffering support, 20+ color themes, and intuitive TUI controls
Combined channel list and playback in split-screen layout for efficient navigation and monitoring.
Choose from 5 light and 15 dark themes with alternative background mode for personalized experience.
Always up-to-date with the latest SomaFM channel list fetched automatically.
Vim-style keys (hjkl) and arrow key support for seamless navigation and control.
Built-in buffering ensures uninterrupted playback even with unstable connections.
Real-time metadata and playback history to never miss your favorite tracks.
somafm_tui comes with 20 built-in color themes to match your terminal preferences. Here are some examples of the dark themes available:
Classic green terminal
Dark purple accents
Vibrant color scheme
Arctic-inspired palette
Plus 16 more themes including light themes like GitHub Light and Solarized Light
For Arch Linux users, you can install somafm_tui directly from the AUR:
# Using yay
yay -S somafm_tui
# Using paru
paru -S somafm_tui
# Manual installation from AUR
git clone https://aur.archlinux.org/somafm_tui.git
cd somafm_tui
makepkg -si
Install system dependencies and then the application:
# Install system dependencies
sudo apt-get update
sudo apt-get install mpv python3 python3-pip
# Clone the repository
git clone https://github.com/zsh-ncursed/somafm_tui.git
cd somafm_tui
# Create and activate virtual environment (optional but recommended)
python3 -m venv venv
source venv/bin/activate
# Install Python dependencies
pip install -r requirements.txt
# Run the application
python somafm.py
Install system dependencies and then the application:
# Install system dependencies
sudo dnf install mpv python3 python3-pip
# Clone the repository
git clone https://github.com/zsh-ncursed/somafm_tui.git
cd somafm_tui
# Create and activate virtual environment (optional but recommended)
python3 -m venv venv
source venv/bin/activate
# Install Python dependencies
pip install -r requirements.txt
# Run the application
python somafm.py
For other Linux distributions or manual installation:
# Install system dependencies (adjust for your distro)
# You need: mpv, python 3.7+, pip
# Clone the repository
git clone https://github.com/zsh-ncursed/somafm_tui.git
cd somafm_tui
# Create and activate virtual environment (optional but recommended)
python3 -m venv venv
source venv/bin/activate
# Install Python dependencies
pip install -r requirements.txt
# Run the application
python somafm.py
Customize your somafm_tui experience with the configuration file and understand where data is stored.
~/.somafm_tui/somafm.cfg
Setting | Description | Default Value |
---|---|---|
buffer_minutes |
Duration of audio buffering in minutes | 5 |
buffer_size_mb |
Maximum size of buffer in megabytes | 50 |
theme |
Color theme for the interface | default |
alternative_bg_mode |
Use pure black background instead of dark gray | false |
File | Description |
---|---|
~/.somafm_tui/somafm.cfg |
Configuration file |
~/.somafm_tui/channel_favorites.json |
Favorite channels list |
~/.somafm_tui/channel_usage.json |
Channel usage statistics |
~/.somafm_tui/favorites.list |
Favorite tracks list |
/tmp/.somafmtmp/ |
Temporary files directory |
/tmp/.somafmtmp/somafm.log |
Log file for debugging |
Enjoy your favorite internet radio stations without leaving the comfort of your terminal. With 20+ themes, intuitive controls, and robust buffering, somafm_tui provides the perfect listening experience for terminal enthusiasts.