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
Real-Time Spherical Microphone Renderer for binaural reproduction in Python

ReTiSAR Implementation of the Real-Time Spherical Microphone Renderer for binaural reproduction in Python [1][2]. Contents: | Requirements | Setup | Q

Division of Applied Acoustics at Chalmers University of Technology 51 Dec 17, 2022
Codes for "Efficient Long-Range Attention Network for Image Super-resolution"

ELAN Codes for "Efficient Long-Range Attention Network for Image Super-resolution", arxiv link. Dependencies & Installation Please refer to the follow

xindong zhang 124 Dec 22, 2022
Any-to-any voice conversion using synthetic specific-speaker speeches as intermedium features

MediumVC MediumVC is an utterance-level method towards any-to-any VC. Before that, we propose SingleVC to perform A2O tasks(Xi → Ŷi) , Xi means utter

谷下雨 47 Dec 25, 2022
Python game programming in Jupyter notebooks.

Jupylet Jupylet is a Python library for programming 2D and 3D games, graphics, music and sound synthesizers, interactively in a Jupyter notebook. It i

Nir Aides 178 Dec 09, 2022
python wrapper for rubberband

pyrubberband A python wrapper for rubberband. For now, this just provides lightweight wrappers for pitch-shifting and time-stretching. All processing

Brian McFee 106 Nov 28, 2022
The venturimeter works on the principle of Bernoulli's equation, i.e., the pressure decreases as the velocity increases.

The venturimeter works on the principle of Bernoulli's equation, i.e., the pressure decreases as the velocity increases. The cross-section of the throat is less than the cross-section of the inlet pi

Shankar Mahadevan L 1 Dec 03, 2021
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
📺Headless全自动B站直播录播、切片、上传一体工具

DDRecorder Headless全自动B站直播录播、切片、上传一体工具 感谢 FortuneDayssss/BilibiliUploader 安装指南(Windows) 在Release下载zip包解压。 修改配置文件config.json 双击运行DDRecorder.exe (这将使用co

322 Dec 27, 2022
pyo is a Python module written in C to help digital signal processing script creation.

pyo is a Python module written in C to help digital signal processing script creation.

Olivier Bélanger 1.1k Jan 01, 2023
Read music meta data and length of MP3, OGG, OPUS, MP4, M4A, FLAC, WMA and Wave files with python 2 or 3

tinytag tinytag is a library for reading music meta data of MP3, OGG, OPUS, MP4, M4A, FLAC, WMA and Wave files with python Install pip install tinytag

Tom Wallroth 577 Dec 26, 2022
Music generation using ml / dl

Data analysis Document here the project: deep_music Description: Project Description Data Source: Type of analysis: Please document the project the be

0 Jul 03, 2022
convert-to-opus-cli is a Python CLI program for converting audio files to opus audio format.

convert-to-opus-cli convert-to-opus-cli is a Python CLI program for converting audio files to opus audio format. Installation Must have installed ffmp

4 Dec 21, 2022
A fast MDCT implementation using SciPy and FFTs

MDCT A fast MDCT implementation using SciPy and FFTs Installation As usual pip install mdct Dependencies NumPy SciPy STFT Usage import mdct spectrum

Nils Werner 43 Sep 02, 2022
Python Audio Analysis Library: Feature Extraction, Classification, Segmentation and Applications

A Python library for audio feature extraction, classification, segmentation and applications This doc contains general info. Click here for the comple

Theodoros Giannakopoulos 5.1k Jan 02, 2023
Audio spatialization over WebRTC and JACK Audio Connection Kit

Audio spatialization over WebRTC Spatify provides a framework for building multichannel installations using WebRTC.

Bruno Gola 34 Jun 29, 2022
Sequencer: Deep LSTM for Image Classification

Sequencer: Deep LSTM for Image Classification Created by Yuki Tatsunami Masato Taki This repository contains implementation for Sequencer. Abstract In

Yuki Tatsunami 111 Dec 16, 2022
Small Python application that links a Digico console and Reaper, handling automatic marker insertion and tracking.

Digico-Reaper-Link This is a small GUI based helper application designed to help with using Digico's Copy Audio function with a Reaper DAW used for re

Justin Stasiw 10 Oct 24, 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
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
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