Unofficial player for FIP internet radio (13 stations), the world's most eclectic radio.
Explore new music, uncover hidden gems, and sync tracks to Spotify playlists with one click.
Available for Windows and Linux.
Five spots player is an independent desktop player for FIP radio, and is not affiliated with, endorsed by, or sponsored by Radio France or FIP. All trademarks, logos, and audio content remain the property of their respective owners. Audio streams are delivered directly from Radio France servers. This application does not store, retransmit, or modify these streams.
- Listen to 13 FIP stations: FIP, Jazz, Rock, Groove, World, New Releases, Reggae, Electro, Metal, Pop, Hip-Hop, Sacré Français, Cultes
- Sync to Spotify: like the currently playing track and sync it to a private Spotify playlist (one global playlist or one per station)
- Like: liked tracks are saved locally in a JSON file
- Streaming quality : AAC 192 kbps or midfi MP3
- Download the last release for your OS from here : https://github.com/serialiser/five_spots_player/releases
- Unzip
- Add a .env file in the root folder with your api keys (see below)
- Enjoy!
- VLC media player installed on your system
- Recommended : a Radiofrance API key (to display covers and metadata) - see below
- Optional : A Spotify client ID (to sync live songs with playlists) - see below
To display covers and metadata from Radiofrance API, you need an API key.
To request an API key:
- Go to the developer portal: Radio France Developers
- Create an account.
- Then, in the "My Account" section, click "Request an API Key".
Create a .env file in the root folder next to five-spots-player.exe and copy this, replacing your-radiofrance-api-token by your API key:
RADIOFRANCE_API_TOKEN=your-radiofrance-api-token
To use the Spotify playlists synchronization features, you need to get your own Spotify Client ID. This is free and only takes a few minutes.
- Open the page: https://developer.spotify.com/dashboard. Log in with your Spotify account.
- Click Create app, then fill in the fields:
- App name: the name of your choice (for example
Radio player) - App description: Radio player
- Redirect URI: use the following URL:
http://127.0.0.1:8080 - Once the application is created, copy the Client ID value.
Open the .env file (or create one if it not exists) in the root folder next to five-spots-player.exe and replace your-spotify-client-id by your Spotify client id:
RADIOFRANCE_API_TOKEN=your-radiofrance-api-token
SPOTIPY_CLIENT_ID=your-spotify-client-id
Then you can toggle on "Connect to Spotify" in the Settings screen and restart the app.
| Setting | Description |
|---|---|
| Spotify sync | Connect your Spotify account to sync liked tracks to playlists and fetch album covers |
| Unique playlist | Use a single global playlist instead of one per station |
| Hi-fi | Toggle between AAC 192 kbps (hifi) and MP3 (midfi) |
Create a virtual environment and install the dependencies.
pip install -r requirements.txtpython main.pyRequires VLC media player (64-bit) installed and PyInstaller:
pip install pyinstaller
pyinstaller five_spots_player.specvenv/bin/pip install pyinstaller
venv/bin/pyinstaller --clean -y five_spots_player.specThe output is in dist/five-spots-player/.
The Dockerfile at the root builds the Linux release from any OS (Windows included), in a clean Ubuntu 22.04 / Python 3.12 image — it only produces the bundle, it does not run the app.
docker build -t five-spots-build .Extract the bundle and copy:
docker run --name fsp-pack five-spots-build sh -c 'cd /app/dist && tar czf /tmp/fsp.tar.gz five-spots-player-1.0.0'
docker cp fsp-pack:/tmp/fsp.tar.gz ./dist/five-spots-player-1.0.0-linux-x86_64.tar.gz
docker rm fsp-packRuns on any distribution whose glibc is ≥ 2.35. On every distribution, VLC must be installed (libvlc is intentionally not bundled) and a graphical session (X11/Wayland) is required.
Ubuntu 22.04 LTS, Debian 12, Linux Mint 21, Pop!_OS 22.04, Fedora 36+ , openSUSE Leap 15.6 / Tumbleweed, Arch / Manjaro (rolling)...
To support older distributions (e.g. Debian 11, Ubuntu 20.04, RHEL 9), rebuild from an older base by changing the Dockerfile's first line to FROM ubuntu:20.04 (glibc 2.31) — the binary then runs on everything with glibc ≥ 2.31.
Licensed under the Apache License, Version 2.0. See LICENSE.md.
- Pygame — GNU Lesser General Public License — https://github.com/pygame/pygame
- python-vlc — GNU Lesser General Public License — https://github.com/oaubert/python-vlc
- Aiohttp — Copyright aio-libs contributors, Apache License 2.0 — https://github.com/aio-libs/aiohttp
- Spotipy — Copyright (c) 2021 Paul Lamere, MIT License — https://github.com/spotipy-dev/spotipy
- certifi — Mozilla Public License 2.0 — https://github.com/certifi/python-certifi
- python-decouple — MIT License — https://github.com/HBNetwork/python-decouple
- NumPy — BSD 3-Clause License — https://github.com/numpy/numpy
- sounddevice — Copyright (c) 2015-2023 Matthias Geier, MIT License — https://github.com/spatialaudio/python-sounddevice
- Merriweather — Copyright 2016 The Merriweather Project Authors, SIL Open Font License 1.1 — https://github.com/SorkinType/Merriweather
- Roboto — Apache License 2.0 — https://github.com/googlefonts/roboto
Audio streams and track metadata are provided by Radio France. This application is not affiliated with, endorsed by, or sponsored by Radio France or FIP.


