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
Scalable audio processing framework written in Python with a RESTful API

TimeSide : scalable audio processing framework and server written in Python TimeSide is a python framework enabling low and high level audio analysis,

Parisson 340 Jan 04, 2023
A python program to cut longer MP3 files (i.e. recordings of several songs) into the individual tracks.

I'm writing a python script to cut longer MP3 files (i.e. recordings of several songs) into the individual tracks called ReCut. So far there are two

DΓΆnerspiess 1 Oct 27, 2021
Vixtify - Python Controlled Music Player

Strumm Sound Playlist : Click me to listen Welcome to GitHub Pages You can use the editor on GitHub to maintain and preview the content for your websi

Vicky Kumar 2 Feb 03, 2022
This is an AI that runs in the terminal. It is a voice assistant that can do common activities and can also help in your coding doubts like

This is an AI that runs in the terminal. It is a voice assistant that can do common activities and can also help in your coding doubts like

OneBit 1 Nov 05, 2021
Convert complex chord names to midi notes

ezchord Simple python script that can convert complex chord names to midi notes Prerequisites pip install midiutil Usage ./ezchord.py Dmin7 G7 C timi

Alex Zhang 2 Dec 20, 2022
Users can transcribe their favorite piano recordings to MIDI files after installation

Users can transcribe their favorite piano recordings to MIDI files after installation

190 Dec 17, 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
OpenClubhouse - A third-part web application based on flask to play Clubhouse audio.

OpenClubhouse - A third-part web application based on flask to play Clubhouse audio.

1.1k Jan 05, 2023
Linear Prediction Coefficients estimation from mel-spectrogram implemented in Python based on Levinson-Durbin algorithm.

LPC_for_TTS Linear Prediction Coefficients estimation from mel-spectrogram implemented in Python based on Levinson-Durbin algorithm. 基于Levinson-Durbin

Zewang ZHANG 58 Nov 17, 2022
Praat in Python, the Pythonic way

Parselmouth - Praat in Python, the Pythonic way Parselmouth is a Python library for the Praat software. Though other attempts have been made at portin

Yannick Jadoul 786 Jan 09, 2023
GNU Radio – the Free and Open Software Radio Ecosystem

GNU Radio is a free & open-source software development toolkit that provides signal processing blocks to implement software radios. It can be used wit

GNU Radio 4.1k Jan 06, 2023
praudio provides audio preprocessing framework for Deep Learning audio applications

praudio provides objects and a script for performing complex preprocessing operations on entire audio datasets with one command.

Valerio Velardo 105 Dec 26, 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
?️ Open Source Audio Matching and Mastering

Matching + Mastering = ❀️ Matchering 2.0 is a novel Containerized Web Application and Python Library for audio matching and mastering. It follows a si

Sergey Grishakov 781 Jan 05, 2023
A simple music player, powered by Python, utilising various libraries such as Tkinter and Pygame

A simple music player, powered by Python, utilising various libraries such as Tkinter and Pygame

PotentialCoding 2 May 12, 2022
Gammatone-based spectrograms, using gammatone filterbanks or Fourier transform weightings.

Gammatone Filterbank Toolkit Utilities for analysing sound using perceptual models of human hearing. Jason Heeris, 2013 Summary This is a port of Malc

Jason Heeris 188 Dec 14, 2022
Delta TTA(Text To Audio) SoftWare

Text-To-Audio-Windows Delta TTA(Text To Audio) SoftWare Info You Can Use It For Convert Your Text To Audio File You Just Write Your Text And Your End

Delta Inc. 2 Dec 14, 2021
Mentos Music Bot With Python

Mentos Music Bot For Any Query Join Our Support Group πŸ‘₯ Special Thanks - @OfficialYukki Hey Welcome To Here πŸ’« πŸ’« You Can Make Your Own Music Bot Fo

Cyber Toxic 13 Oct 21, 2022
Voicefixer aims at the restoration of human speech regardless how serious its degraded.

Voicefixer aims at the restoration of human speech regardless how serious its degraded.

Leo 324 Dec 26, 2022
A collection of python scripts for extracting and analyzing acoustics from audio files.

pyAcoustics A collection of python scripts for extracting and analyzing acoustics from audio files. Contents 1 Common Use Cases 2 Major revisions 3 Fe

Tim 74 Dec 26, 2022