Search and play any song from terminal.
playx in action
Play any songs that come in your mind.
Hoping to make it an awesome music assistant
Note: These dependencies in linux can be installed in other variants.
For arch linux, you can use pacman package manager accordingly.
- Run the following command in the root directory to install playx.
pip install -e .
- Or install using setup.py as:
python setup.py install
- play by query
- play by youtube url
- play a youtube playlist
- play a billboard chart
- play a spotify playlist
- play from soundcloud playlist
- play from JioSaavn playlist
- play from gaana playlist.
- play from local playlist
- cache support
- CLI using
- auto generate playlist
For now, the application is in development phase.
usage: playx [-h] [-p] [-n] [-auto] [-d] [-l] [--pl-start PL_START] [--pl-end PL_END] [song [song ...]] playx - Search and play any song that comes to your mind. If you have any issues, raise an issue in the github (https://github.com/NISH1001/playx) page positional arguments: song Name or youtube link of song to download optional arguments: -h, --help show this help message and exit -p, --play-cache Play all songs from the cache. The cache is located at ~/.playx/songs/ by default -n, --no-cache Don't download the song for later use. -auto, --auto Auto generate playlist -d, --dont-cache-search Don't search the song in the cache. -l, --lyrics Show lyircs of the song. --pl-start PL_START Start position in case a playlist is passed. If passed without a playlist it has no effect. --pl-end PL_END End position in case a playlist is passed. If passed without a playlist it has no effect.
Play by song name
playx man sold world nirvana
This plays the song titled "The man who sold the world by Nirvana"
Play by youtube link
This plays the song The Sound of Silence.
Play by soundcloud links
This plays soundcloud track
Play from youtube playlist
This plays the songs from my personal (and public) playlist named Chilld and Wisdom.
Play from a Billboard Chart
Play from spotify playlist
This plays the songs from Spotify Summer Party playlist.
Play from soundcloud playlist
This plays the songs from SoundCloud playlist
Play from JioSaavn playlist
This plays songs from the JioSaavn playlist
Play from local playlist
The local playlist should have an extension
.playx in order for us to recognize it as a playlist.
This plays a playlist named example.playx
For a playlist every line is considered an entry. Refer to example.playx.
This will automatically generate a playlist by using the frequency of songs played that has been logged in the log file.
Note: This will improve in future releases using more robust method (like Markov Chains)
Cache Directory Structure
playx creates a directory in the home as
~/.playx (which is a hidden folder).
Structure is like:
.playx |- songs/ |- logs/
songs: This stores all the songs downloaded by
logs: This stores the log for user activities of songs that are searched and played with creation date. This will be used for recommendation of songs in future version
Contributions are warmly welcome. Please do go through CONTRIBUTING.
caching of downloaded songs (if the song exists locally, play it right away else play from youtube) speed up the whole search->download->convert->play process stream/play while downloading the song play all the songs from the cache search lyrics play from youtube playlist play from local playlist (may be a list of song names) play from other playlist (spotify, billboard, etc.) log activity auto generate playlist
- use Markov Chains to improve auto-playlist
- use Factorization Machines to improve auto-playlist
- use logs to create simple recommendations