Terminal-based music player written in Python for the best music in the world ๐ŸŽต ๐ŸŽง ๐Ÿ’ป

Overview

audius-terminal-player

Terminal-based music player written in Python for the best music in the world ๐ŸŽต ๐ŸŽง ๐Ÿ’ป

Browse and listen to Audius from the comfort of your very own terminal. ๐ŸŽถ

Supported/tested platforms: MacOS 12+ ๏ฃฟ

Install

๐Ÿ“ Prerequisites:

brew tap audiusproject/audius-terminal-player
brew install audius-terminal-player

Features โœจ

  • โ–ถ๏ธ Play Trending tracks ๐Ÿš€
  • ๐Ÿ”Ž Search Users ๐Ÿ‘ฅ , Tracks ๐ŸŽต , and Playlists ๐Ÿ“œ
  • โ–ถ๏ธ Play Users' Favorited, Reposted, and Uploaded Tracks
  • ๐Ÿ’ป Terminal UI implemented in py_cui

Develop ๐Ÿง‘โ€๐Ÿ’ป

๐Ÿ“ Prerequisites:

  • Python 3.9+ ๐Ÿ
python -m venv venv
source venv/bin/activate
pip install -r requirements.txt
python -m src

Build & Release ๐Ÿ“ฆ ๐Ÿšข

  1. Bump version in setup.cfg manually
  2. Make a GitHub tagged release with the new version
  3. Update release URL and SHA in homebrew-audius-terminal-player

Created with โค๏ธ ๐Ÿ• ๐Ÿพ (last but not least) for the Audius Engineering Team Hackathon 2021.

You might also like...
โค๏ธ Hi There Im Cozmo Music Bot A next gen powerful telegram group Music bot for get  your Songs and music @Venuja_Sadew
โค๏ธ Hi There Im Cozmo Music Bot A next gen powerful telegram group Music bot for get your Songs and music @Venuja_Sadew

๐ŸŽต Cozmo MUSIC ๐ŸŽต Cozmo Music is a Music powerfull bot for playing music on telegram voice chat groups. Requirements FFmpeg NodeJS nodesource.com Pyth

Okaeri-Music is a telegram music bot project, allow you to play music on voice chat group telegram.
Okaeri-Music is a telegram music bot project, allow you to play music on voice chat group telegram.

Okaeri-Music is a telegram bot project that's allow you to play music on telegram voice chat group

Okaeri-Music is a telegram music bot project, allow you to play music on voice chat group telegram.
Okaeri-Music is a telegram music bot project, allow you to play music on voice chat group telegram.

๐Ÿ—„๏ธ PROJECT MUSIC,THIS IS MAINTAINED Okaeri-Music is a telegram bot project that's allow you to play music on telegram voice chat group Features ๐Ÿ”ฅ Th

NovaMusic is a music sharing robot. Users can get music and music lyrics using inline queries.

A music sharing telegram robot using Redis database and Telebot python library using Redis database.

:notes: Cross-platform music player

Exaile Exaile is a music player with a simple interface and powerful music management capabilities. Features include automatic fetching of album art,

A Music Player Bot for Discord Servers

A Music Player Bot for Discord Servers

An 8D music player made to enjoy Halloween this year!๐Ÿค˜

HAPPY HALLOWEEN buddy! Split Player Hello There! Welcome to SplitPlayer... Supposed To Be A 8DPlayer.... You Decide.... It can play the ordinary audio

A music player designed for a University Project.
A music player designed for a University Project.

A music player designed for a University Project. Very flexibe and easy to use, a real life working application with user friendly controls. Hope u enjoy!!

Comments
  • Invalid API call / Missing status code check in API

    Invalid API call / Missing status code check in API

    I tried installing it in mac os. On running the command audius, it panics and throws a json decoding error. On further investigating the error, it looks like the request happening in get_api_endpoint() function throws an error code 403 and hence the data in response is not json decodable. The same URL gives correct response on browser.

    Possible solutions might be throw a user friendly error by checking r.status_code == 200 or add few additional headers so that your backend considers this request as if it's sent from a browser and then parse it.

    opened by manav2401 0
  • Fails on linux, no `afplay`

    Fails on linux, no `afplay`

    Error:

    Traceback (most recent call last):
      File "/usr/lib/python3.10/runpy.py", line 196, in _run_module_as_main
        return _run_code(code, main_globals, None,
      File "/usr/lib/python3.10/runpy.py", line 86, in _run_code
        exec(code, run_globals)
      File "/home/gingka/Builds/audius-terminal-player/src/__main__.py", line 4, in <module>
        main()
      File "/home/gingka/Builds/audius-terminal-player/src/__init__.py", line 5, in main
        Player()
      File "/home/gingka/Builds/audius-terminal-player/src/tui/Player.py", line 121, in __init__
        self.render()
      File "/home/gingka/Builds/audius-terminal-player/src/tui/Player.py", line 158, in render
        self.root.start()
      File "/home/gingka/.local/lib/python3.10/site-packages/py_cui/__init__.py", line 316, in start
        curses.wrapper(self._draw)
      File "/usr/lib/python3.10/curses/__init__.py", line 94, in wrapper
        return func(stdscr, *args, **kwds)
      File "/home/gingka/.local/lib/python3.10/site-packages/py_cui/__init__.py", line 1684, in _draw
        self._handle_key_presses(key_pressed)
      File "/home/gingka/.local/lib/python3.10/site-packages/py_cui/__init__.py", line 1561, in _handle_key_presses
        selected_widget._handle_key_press(key_pressed)
      File "/home/gingka/.local/lib/python3.10/site-packages/py_cui/widgets.py", line 510, in _handle_key_press
        Widget._handle_key_press(self, key_pressed)
      File "/home/gingka/.local/lib/python3.10/site-packages/py_cui/widgets.py", line 342, in _handle_key_press
        command()
      File "/home/gingka/Builds/audius-terminal-player/src/tui/components/Table.py", line 83, in handle_select
        self.select_callback(selection)
      File "/home/gingka/Builds/audius-terminal-player/src/tui/Player.py", line 267, in play_track
        playback.stream(self.current_track.id)
      File "/home/gingka/Builds/audius-terminal-player/src/libs/playback.py", line 10, in stream
        subprocess.Popen(["afplay", local_filepath])
      File "/usr/lib/python3.10/subprocess.py", line 966, in __init__
        self._execute_child(args, executable, preexec_fn, close_fds,
      File "/usr/lib/python3.10/subprocess.py", line 1842, in _execute_child
        raise child_exception_type(errno_num, err_msg, err_filename)
    FileNotFoundError: [Errno 2] No such file or directory: 'afplay'
    

    System info:

    • OS: EndeavourOS Rolling
    • Python version: 3.10.2
    opened by ExperiBass 1
Releases(v1.1.0)
  • v1.1.0(Jan 6, 2022)

    What's Changed

    • Fixes for MVP by @csjiang in https://github.com/AudiusProject/audius-terminal-player/pull/1
    • Add line break by @cheran-senthil in https://github.com/AudiusProject/audius-terminal-player/pull/3

    New Contributors

    • @csjiang made their first contribution in https://github.com/AudiusProject/audius-terminal-player/pull/1
    • @cheran-senthil made their first contribution in https://github.com/AudiusProject/audius-terminal-player/pull/3

    Full Changelog: https://github.com/AudiusProject/audius-terminal-player/compare/v0.0.3...v1.1.0

    Source code(tar.gz)
    Source code(zip)
  • v1.0.0(Dec 30, 2021)

    What's Changed

    • Fully working Audius Terminal Music Player! ๐ŸŽถ
    • Fixes for MVP by @csjiang in https://github.com/AudiusProject/audius-cli/pull/1
    • Add line break by @cheran-senthil in https://github.com/AudiusProject/audius-cli/pull/3

    New Contributors

    • @csjiang made their first contribution in https://github.com/AudiusProject/audius-cli/pull/1
    • @cheran-senthil made their first contribution in https://github.com/AudiusProject/audius-cli/pull/3

    Full Changelog: https://github.com/AudiusProject/audius-cli/compare/v0.0.3...v1.0.0

    Source code(tar.gz)
    Source code(zip)
  • v0.0.2(Dec 29, 2021)

Owner
Audius
Audius'โ€‹ mission is to create a fully decentralized community of artists, fans, and developers collaborating to share and defend the worldโ€™s music
Audius
A lightweight yet powerful audio-to-MIDI converter with pitch bend detection

Basic Pitch is a Python library for Automatic Music Transcription (AMT), using lightweight neural network developed by Spotify's Audio Intelligence La

Spotify 1.4k Jan 01, 2023
Audio features extraction

Yaafe Yet Another Audio Feature Extractor Build status Branch master : Branch dev : Anaconda : Install Conda Yaafe can be easily install with conda. T

Yaafe 231 Dec 26, 2022
Telegram Bot to play music in VoiceChat with Channel Support and autostarts Radio.

VCPlayerBot Telegram bot to stream videos in telegram voicechat for both groups and channels. Supports live streams, YouTube videos and telegram media

Abdisamad Omar Mohamed 1 Oct 15, 2021
Synchronize a local directory of songs' (MP3, MP4) metadata (genre, ratings) and playlists with a Plex server.

PlexMusicSync Synchronize a local directory of songs' (MP3, MP4) metadata (genre, ratings) and playlists (m3u, m3u8) with a Plex server. The song file

Tom Goetz 9 Jul 07, 2022
Algorithmic Multi-Instrumental MIDI Continuation Implementation

Matchmaker Algorithmic Multi-Instrumental MIDI Continuation Implementation Taming large-scale MIDI datasets with algorithms This is a WIP so please ch

Alex 2 Mar 11, 2022
A python script that can play .mp3 URLs upon the ringing or motion detection of a Ring doorbell. The sound plays through Sonos speakers.

Ring x Sonos A python script that plays .mp3 files whenever a doorbell is rung or a doorbell detects motion. Features Music! Authors @braden Running T

braden 0 Nov 12, 2021
Python interface to the WebRTC Voice Activity Detector

py-webrtcvad This is a python interface to the WebRTC Voice Activity Detector (VAD). It is compatible with Python 2 and Python 3. A VAD classifies a p

John Wiseman 1.5k Dec 22, 2022
Marsyas - Music Analysis, Retrieval and Synthesis for Audio Signals

Welcome to MARSYAS. MARSYAS is a software framework for rapid prototyping of audio applications, with flexibility and extensibility as primary concer

Marsyas Developers Group 364 Oct 31, 2022
An 8D music player made to enjoy Halloween this year!๐Ÿค˜

HAPPY HALLOWEEN buddy! Split Player Hello There! Welcome to SplitPlayer... Supposed To Be A 8DPlayer.... You Decide.... It can play the ordinary audio

Akshat Kumar Singh 1 Nov 04, 2021
Sparse Beta-Divergence Tensor Factorization Library

NTFLib Sparse Beta-Divergence Tensor Factorization Library Based off of this beta-NTF project this library is specially-built to handle tensors where

Stitch Fix Technology 46 Jan 08, 2022
Pianote - An application that helps musicians practice piano ear training

Pianote Pianote is an application that helps musicians practice piano ear traini

3 Aug 17, 2022
spafe: Simplified Python Audio-Features Extraction

spafe aims to simplify features extractions from mono audio files. The library can extract of the following features: BFCC, LFCC, LPC, LPCC, MFCC, IMFCC, MSRCC, NGCC, PNCC, PSRCC, PLP, RPLP, Frequenc

Ayoub Malek 310 Jan 01, 2023
Audio2midi - Automatic Audio-to-symbolic Arrangement

Automatic Audio-to-symbolic Arrangement This is the repository of the project "Audio-to-symbolic Arrangement via Cross-modal Music Representation Lear

Ziyu Wang 24 Dec 05, 2022
Implicit neural differentiable FM synthesizer

Implicit neural differentiable FM synthesizer The purpose of this project is to emulate arbitrary sounds with FM synthesis, where the parameters of th

Andreas Jansson 34 Nov 06, 2022
A Python wrapper around the Soundcloud API

soundcloud-python A friendly wrapper around the Soundcloud API. Installation To install soundcloud-python, simply: pip install soundcloud Or if you'r

SoundCloud 84 Dec 31, 2022
This is an OverPowered Vc Music Player! Will work for you and play music in Voice Chatz

VcPlayer This is an OverPowered Vc Music Player! Will work for you and play music in Voice Chatz Telegram Voice-Chat Bot [PyTGCalls] โ‡ Requirements โ‡œ

1 Dec 20, 2021
Simple, hackable offline speech to text - using the VOSK-API.

Nerd Dictation Offline Speech to Text for Desktop Linux. This is a utility that provides simple access speech to text for using in Linux without being

Campbell Barton 844 Jan 07, 2023
Stream Music ๐ŸŽต ๐˜ผ ๐™—๐™ค๐™ฉ ๐™ฉ๐™๐™–๐™ฉ ๐™˜๐™–๐™ฃ ๐™ฅ๐™ก๐™–๐™ฎ ๐™ข๐™ช๐™จ๐™ž๐™˜ ๐™ค๐™ฃ ๐™๐™š๐™ก๐™š๐™œ๐™ง๐™–๐™ข ๐™‚๐™ง๐™ค๐™ช๐™ฅ ๐™–๐™ฃ๐™™ ๐˜พ๐™๐™–๐™ฃ๐™ฃ๐™š๐™ก ๐™‘๐™ค๐™ž๐™˜๐™š ๐˜พ๐™๐™–๐™ฉ๐™จ ๐˜ผ๐™ซ๐™–๐™ž๐™ก?

Stream Music ๐ŸŽต ๐˜ผ ๐™—๐™ค๐™ฉ ๐™ฉ๐™๐™–๐™ฉ ๐™˜๐™–๐™ฃ ๐™ฅ๐™ก๐™–๐™ฎ ๐™ข๐™ช๐™จ๐™ž๐™˜ ๐™ค๐™ฃ ๐™๐™š๐™ก๐™š๐™œ๐™ง๐™–๐™ข ๐™‚๐™ง๐™ค๐™ช๐™ฅ ๐™–๐™ฃ๐™™ ๐˜พ๐™๐™–๐™ฃ๐™ฃ๐™š๐™ก ๐™‘๐™ค๐™ž๐™˜๐™š ๐˜พ๐™๐™–๐™ฉ๐™จ ๐˜ผ๐™ซ๐™–๐™ž๐™ก?

Sadew Jayasekara 15 Nov 12, 2022
In this project we can see how we can generate automatic music using character RNN.

Automatic Music Genaration Table of Contents Project Description Approach towards the problem Limitations Libraries Used Summary Applications Referenc

Pronay Ghosh 2 May 27, 2022
A2DP agent for promiscuous/permissive audio sinc.

Promiscuous Bluetooth audio sinc A2DP agent for promiscuous/permissive audio sinc for Linux. Once installed, a Bluetooth client, such as a smart phone

Jasper Aorangi 4 May 27, 2022