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
Desktop music recognition application for windows

MusicRecognizer Music recognition application for windows You can choose from which of the devices the recording will be made. If you choose speakers,

Nikita Merzlyakov 28 Dec 13, 2022
Official implementation of A cappella: Audio-visual Singing VoiceSeparation, from BMVC21

Y-Net Official implementation of A cappella: Audio-visual Singing VoiceSeparation, British Machine Vision Conference 2021 Project page: ipcv.github.io

Juan F. Montesinos 12 Oct 22, 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
A Python port and library-fication of the midicsv tool by John Walker.

A Python port and library-fication of the midicsv tool by John Walker. If you need to convert MIDI files to human-readable text files and back, this is the library for you.

Tim Wedde 52 Dec 29, 2022
digital audio workstation, instrument and effect plugins, wave editor

digital audio workstation, instrument and effect plugins, wave editor

306 Jan 05, 2023
This is a realtime voice translator program which gets input from user at any language and converts it to the desired language that the user asks

This is a realtime voice translator program which gets input from user at any language and converts it to the desired language that the user asks ...

Mohan Ram S 1 Dec 30, 2021
live coding in python + supercollider

live coding in python + supercollider

Zack 6 Feb 06, 2022
An Amazon Music client for Linux (unpretentious)

Amusiz An Amazon Music client for Linux (unpretentious) ↗️ Install You can install Amusiz in multiple ways, choose your favorite. πŸš€ AppImage Here you

Mirko Brombin 25 Nov 08, 2022
Generating a structured library of .wav samples with Python.

sample-library Scripts for generating a structured sample library with Python Requires Docker about Samples are written to wave files in lib/. Differe

Ben Mangold 1 Nov 11, 2021
Audio processor to map oracle notes in the VoG raid in Destiny 2 to call outs.

vog_oracles Audio processor to map oracle notes in the VoG raid in Destiny 2 to call outs. Huge thanks to mzucker on GitHub for the note detection cod

19 Sep 29, 2022
gentle forced aligner

Gentle Robust yet lenient forced-aligner built on Kaldi. A tool for aligning speech with text. Getting Started There are three ways to install Gentle.

1.2k Dec 30, 2022
Mopidy is an extensible music server written in Python

Mopidy Mopidy is an extensible music server written in Python. Mopidy plays music from local disk, Spotify, SoundCloud, Google Play Music, and more. Y

Mopidy 7.6k Jan 05, 2023
Manipulate audio with a simple and easy high level interface

Pydub Pydub lets you do stuff to audio in a way that isn't stupid. Stuff you might be looking for: Installing Pydub API Documentation Dependencies Pla

James Robert 6.6k Jan 01, 2023
Tradutor de um arquivo MIDI para ser usado em um simulador RISC-V(RARS)

Tradutor_MIDI-RISC-V Tradutor de um arquivo MIDI para ser usado em um simulador RISC-V(RARS) *O resultado sai com essa formataΓ§Γ£o: nota,duraΓ§Γ£o,nota,d

Gabriel B. G. 4 Sep 02, 2022
Supysonic is a Python implementation of the Subsonic server API.

Supysonic Supysonic is a Python implementation of the Subsonic server API. Current supported features are: browsing (by folders or tags) streaming of

Alban 228 Nov 19, 2022
User-friendly Voice Cloning Application

Multi-Language-RTVC stands for Multi-Language Real Time Voice Cloning and is a Voice Cloning Tool capable of transfering speaker-specific audio featur

Sven Eschlbeck 19 Dec 30, 2022
The official repository for Audio ALBERT

AALBERT Here is also the official repository of AALBERT, which is Pytorch lightning reimplementation of the paper, Audio ALBERT: A Lite Bert for Self-

pohan 55 Dec 11, 2022
L-SpEx: Localized Target Speaker Extraction

L-SpEx: Localized Target Speaker Extraction The data configuration and simulation of L-SpEx. The code scripts will be released in the future. Data Gen

Meng Ge 20 Jan 02, 2023
Audio pitch-shifting & re-sampling utility, based on the EMU SP-1200

Pitcher.py Free & OS emulation of the SP-12 & SP-1200 signal chain (now with GUI) Pitch shift / bitcrush / resample audio files Written and tested in

morgan 13 Oct 03, 2022
An AI for Music Generation

An AI for Music Generation

Hao-Wen Dong 1.3k Dec 31, 2022