https://github.com/melledijkstra/python-music-server
Music Player in the Python language. Created for personal use as server on the Raspberry Pi and a controller with Android App. see: https://github.com/MelleDijkstra/AndroidMusicPlayerClient for Android client app
https://github.com/melledijkstra/python-music-server
android music-player python python-music-player vlc
Last synced: 6 months ago
JSON representation
Music Player in the Python language. Created for personal use as server on the Raspberry Pi and a controller with Android App. see: https://github.com/MelleDijkstra/AndroidMusicPlayerClient for Android client app
- Host: GitHub
- URL: https://github.com/melledijkstra/python-music-server
- Owner: melledijkstra
- License: mit
- Created: 2016-03-13T20:50:01.000Z (about 10 years ago)
- Default Branch: master
- Last Pushed: 2022-12-27T15:33:23.000Z (over 3 years ago)
- Last Synced: 2025-09-16T00:15:13.790Z (6 months ago)
- Topics: android, music-player, python, python-music-player, vlc
- Language: Python
- Homepage:
- Size: 5.26 MB
- Stars: 11
- Watchers: 3
- Forks: 7
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Python Music Server
[](https://github.com/MelleDijkstra/PythonMusicPlayer/blob/master/LICENSE)
[](https://badge.fury.io/py/melon-music-player)
[](http://pythonmusicplayer.readthedocs.io/en/latest/?badge=latest)
[](https://twitter.com/intent/tweet?text=MelonMusicPlayer:&url=https%3A%2F%2Fgithub.com%2FMelleDijkstra%2FPythonMusicPlayer)
## Introduction
This repository contains a python music player which acts as a server.
It uses the vlc python bindings to play the music and gRPC communication to communicate
with the Android Application which can be found [here](https://github.com/MelleDijkstra/AndroidMusicPlayerClient)

## Installation
### Windows
Download executable from here
[Download link]()
__*! I experienced a bug with the windows executable, you sometimes need to press `enter`
to activate the server again !*__
Besides that, it should work fine ;)
### Linux (Debian | Raspberry Pi)
(coming soon, on my todo list)
I published a PyPi package, but I haven't tested it yet.
To install run the following command:
`pip install melon-music-player`
### From source
If you want to install/run the MelonMusicPlayer from source,
or if you want to develop on the current code base (please feel free)
run the following instructions:
- Make sure you have installed python 3.5 or higher. [Python Download](https://www.python.org/downloads/)
- The actual VLC (32/64 bit depending on your python version) program which can be found here ([VLC Download](http://www.videolan.org/vlc/)).
**Windows**: For windows you can just install the executable
**Linux**: For linux system it should be as easy as running `$ sudo apt-get install vlc`.
**!Although, check their site for correct installation!**
- Clone the project if you haven't already `$ git clone https://github.com/MelleDijkstra/PythonMusicPlayer`
- Go to cloned folder `$ cd PythonMusicPlayer`
- Then run `$ pip install -r requirements.txt` to install the packages needed
(If you are installing the MelonMusicPlayer server on raspberry pi this process
can take some time. The reason is because the server runs on gRPC which
has to compile when installing for raspbian. This will hopefully be changed in the future (Please be patient!))
- Change any settings needed in `config.ini`. This is the configuration file for the server
- Start the music server by running `$ python main.py`.
Then use a client/controller to connect to the server.
if you downloaded the source, there should be a `client.py`. Run this in another terminal/process to test the server.
The client has quite some functionality but I will not be maintaining them. For full experience use one of the controllers
like the [Android App](https://github.com/MelleDijkstra/AndroidMusicPlayerClient).
[](https://www.python.org/)
### TODO
(only server related tasks)
- [ ] Able to send an MRL link to server to download
- [ ] Handle all MediaDownloader RPC calls
- [ ] Create distributions for:
- [x] Windows
- [ ] Debian
- [ ] Ubuntu
- [ ] Mac OS
- [ ] Write good tests ;)
- [ ] Retrieve album covers from media files and send them
- [ ] Able to sync media files with clients/controllers
- [ ] SoundCloud support
- [ ] Store radio station urls in file and be able to stream them
- [x] gRPC implementation
- [x] Handle all MusicPlayer RPC calls (play, pause, ...)
- [x] Retrieve album & song list
- [x] Volume control
- [x] Queue music (next & previous song selection)
- [x] Write tests