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
Music bot of # Owner

Pokimane-Music Music bot of # Owner How To Host The easiest way to deploy this Bot Support Channel :- TeamDlt Support Group :- TeamDlt Please fork thi

5 Dec 23, 2022
Audio2midi - Automatic Audio-to-symbolic Arrangement

Automatic Audio-to-symbolic Arrangement This is the repository of the project "A

Ziyu Wang 24 Dec 05, 2022
This is a short program that takes the input from your microphone and uses OpenGL to draw a live colourful pattern

Visual-Music This is a short program that takes the input from your microphone and uses OpenGL to draw a live colourful pattern Installation and Setup

Tom Jebbo 1 Dec 26, 2021
An audio digital processing toolbox based on a workflow/pipeline principle

AudioTK Audio ToolKit is a set of audio filters. It helps assembling workflows for specific audio processing workloads. The audio workflow is split in

Matthieu Brucher 238 Oct 18, 2022
Minimal command-line music player written in Python

pyms Minimal command-line music player written in Python. Designed with elegance and minimalism. Resizes dynamically with your terminal. Dependencies

12 Sep 23, 2022
XA Music Player - Telegram Music Bot

XA Music Player Requirements ๐Ÿ“ FFmpeg (Latest) NodeJS nodesource.com (NodeJS 17+) Python (3.10+) PyTgCalls (Lastest) MongoDB (3.12.1) 2nd Telegram Ac

RexAshh 3 Jun 30, 2022
A python wrapper for REAPER

pyreaper A python wrapper for REAPER (Robust Epoch And Pitch EstimatoR) Installation pip install pyreaper Demonstration notebnook http://nbviewer.jupy

Ryuichi Yamamoto 56 Dec 27, 2022
MusicBrainz Picard

MusicBrainz Picard MusicBrainz Picard is a cross-platform (Linux/Mac OS X/Windows) application written in Python and is the official MusicBrainz tagge

MetaBrainz Foundation 3k Dec 31, 2022
Royal Music You can play music and video at a time in vc

Royals-Music Royal Music You can play music and video at a time in vc Commands SOON String STRING_SESSION Deployment ๐ŸŽ– Credits โ€ข ๐Ÿ‡ธแดแดสแด€โƒ๐Ÿ‡ฏแด‡แด‡แด› โ€ข ๐Ÿ‡ดา“า“ษช

2 Nov 23, 2021
music library manager and MusicBrainz tagger

beets Beets is the media library management system for obsessive music geeks. The purpose of beets is to get your music collection right once and for

beetbox 11.3k Dec 31, 2022
BART aids transcribe tasks by taking a source audio file and creating automatic repeated loops, allowing transcribers to listen to fragments multiple times

BART (Beyond Audio Replay Technology) aids transcribe tasks by taking a source audio file and creating automatic repeated loops, allowing transcribers to listen to fragments multiple times (with poss

2 Feb 04, 2022
Hide Your Secret Message in any Wave Audio File.

HiddenWave Embedding secret messages in wave audio file What is HiddenWave Hiddenwave is a python based program for simple audio steganography. You ca

TechChip 99 Dec 28, 2022
Basically Play Pauses the song when it is safe to do so. when you die in a round

Basically Play Pauses the song when it is safe to do so. when you die in a round

AG_1436 1 Feb 13, 2022
Powerful, simple, audio tag editor for GNU/Linux

puddletag puddletag is an audio tag editor (primarily created) for GNU/Linux similar to the Windows program, Mp3tag. Unlike most taggers for GNU/Linux

341 Dec 26, 2022
Open-Source Tools & Data for Music Source Separation: A Pragmatic Guide for the MIR Practitioner

Open-Source Tools & Data for Music Source Separation: A Pragmatic Guide for the MIR Practitioner

IELab@ Korea University 0 Nov 12, 2021
MUSIC-AVQA, CVPR2022 (ORAL)

Audio-Visual Question Answering (AVQA) PyTorch code accompanies our CVPR 2022 paper: Learning to Answer Questions in Dynamic Audio-Visual Scenarios (O

44 Dec 23, 2022
SolidMusic rewrite version, need help

Telegram Streamer Bot This is rewrite version of solidmusic, but it can't be deployed now, help me to make this bot running fast and good. If anyone w

Shohih Abdul 63 Jan 06, 2022
Noinoi music is smoothly playing music on voice chat of telegram.

NOINOI MUSIC BOT โœจ Features Music & Video stream support MultiChat support Playlist & Queue support Skip, Pause, Resume, Stop feature Music & Video do

2 Feb 13, 2022
a library for audio and music analysis

aubio aubio is a library to label music and sounds. It listens to audio signals and attempts to detect events. For instance, when a drum is hit, at wh

aubio 2.9k Dec 30, 2022
nicfit 425 Jan 01, 2023