An open souce video/music streamer based on MPV and piped.

Overview

🎶 Harmony Music

An easy way to stream videos or music from Youtube from the command line while regaining your privacy.


📖 Table Of Contents

What's this?

Harmony is a command line tool to stream music and videos without worrying about prying eyes from the likes of Youtube. Instead of directly scraping Youtube, Harmony uses Piped instead. This results in not only quicker fetching of results but also prevents Youtube from seeing your IP by proxying videos, all from the comfort of the terminal.

🎧 Features

  • Minimal Resource Usage. (Around 1-2% CPU usage while streaming music and 5-10% while playing videos)
  • No requests made to Youtube to fetch results.
  • Avoid Youtube's georestrictions by using Piped's inbuilt proxy. Works with both the --song and --video flag.
  • Ability to filter search queries by music, videos, albums or playlists.
  • A proper queue system.

📜 Requirements

  1. mpv - An open source command line video player.

  2. yt-dlp - A youtube-dl fork with additional features and fixes. This is preferred over youtube-dl for a better experience.

🛑 Force mpv to use yt-dlp over youtube-dl

yt-dlp is suggested over youtube-dl as it tends to load videos, music etc. quicker and more importantly works with the --playlist flag.

The recommended way to solve this issue is to just uninstall youtube-dl and install yt-dlp instead.

However, if you would like to have both youtube-dl and yt-dlp installed on your system, add this line to ~/.config/MPV/mpv.conf

script-opts-append=ytdl_hook-ytdl_path=yt-dlp

💻 Installation

Simply download the release binary from the releases section or enter the following commands below in any Linux terminal. (No windows binaries yet!)

sudo wget https://github.com/ZingyTomato/harmonymusic/releases/latest/download/harmony -O /usr/local/bin/harmony
sudo chmod a+rx /usr/local/bin/harmony

👨‍🔧 Usage

  -h, --help           show this help message and exit
  --song, -s, --s      Searches for songs based on query. Example: harmony
                       --song "Never gonna give you up"
  --video, -v, --v     Searches for videos based on the query. Example:
                       harmony --video "Never gonna give you up"
  --album, -a, --a     Searches for albums based on the query. Example:
                       harmony --album "All Over The Place"
  --playlist, -p, --p  Searches for playlists based on the query. Example:
                       harmony --playlist "All Over The Place"
You might also like...
Video-Player - Telegram Music/ Video Streaming Bot Using Pytgcalls
Video-Player - Telegram Music/ Video Streaming Bot Using Pytgcalls

Video Player 🔥 ᴢᴀɪᴅ ᴠᴄ ᴘʟᴀyᴇʀ ɪꜱ ᴀ ᴛᴇʟᴇɢʀᴀᴍ ᴘʀᴏᴊᴇᴄᴛ ʙᴀꜱᴇᴅ ᴏɴ ᴘʏʀᴏɢʀᴀᴍ ꜰᴏʀ ᴘʟᴀʏ

Play Video & Music on Telegram Group Video Chat
Play Video & Music on Telegram Group Video Chat

Video Stream is an Advanced Telegram Bot that's allow you to play Video & Music on Telegram Group Video Chat 🧪 Get SESSION_NAME from below: Pyrogram

Latest Open Source Code for Playing Music in Telegram Video Chat. Made with Pyrogram and Pytgcalls 💖

MusicPlayer_TG Latest Open Source Code for Playing Music in Telegram Video Chat. Made with Pyrogram and Pytgcalls 💖 Requirements 📝 FFmpeg NodeJS nod

A Telegram Music Tag Editor Bot that can remove almost all usernames in the music tags and add own username instead.

Music Tag Editor Bot A Telegram Music Tag Editor Bot that can remove almost all usernames in the music tags and add own username instead. It can also

📢 Video Chat Stream Telegram Bot. Can ⏳ Stream Live Videos, Radios, YouTube Videos & Telegram Video Files On Your Video Chat Of Channels & Groups !

Telegram Video Chat Bot (Beta) 📢 Video Chat Stream Telegram Bot 🤖 Can Stream Live Videos, Radios, YouTube Videos & Telegram Video Files On Your Vide

Video Stream is a telegram bot project that's allow you to play video on telegram group video chat
Video Stream is a telegram bot project that's allow you to play video on telegram group video chat

Video Stream is a telegram bot project that's allow you to play video on telegram group video chat 🚀 Get SESSION_NAME from below: Pyrogram ## ✨ Featu

VC-Music , Playing music without bot.

VC-Userbot A Telegram Userbot to play or streaming Audio and Video songs / files in Telegram Voice Chats. It's made with PyTgCalls and Pyrogram Requir

 Music bot for playing music on telegram voice chat group.
Music bot for playing music on telegram voice chat group.

Somali X Music 🎵 Music bot for playing music on telegram voice chat group. Requirements FFmpeg NodeJS nodesource.com Python 3.8+ or Higher PyTgCalls

this is an op music pyrogram music bot.

amanrajputpytgcallmusic this is an op music pyrogram music bot..... this bot user music bot can play music without being admin...... TG-MusicPlayer A

Comments
  • Playling playlists from Youtube

    Playling playlists from Youtube

    I am not able to play playlists from youtube. I think the problem happens with all playlists as youtube-dl simply do not accept piped playlists url:

    > python harmony.py --playlist "red hot chili peppers"
    
    Searching for playlists...
    
    Results for red hot chili peppers
    
    0. Red Hot Chili Peppers - Unlimited Love (FULL ALBUM) - ESSBY
    1. Best Of Red Hot Chili Peppers - Dean Cook
    2. RHCP - The Red Hot Chili Peppers - ToonsToob
    3. Red Hot Chili Peppers Greatest Hits - Joaquin Barbaglia
    4. All songs by Red Hot Chili Peppers - allSongsBy
    5. Red Hot Chili Peppers Radio - Harry
    6. Rock - best of Red Hot Chili Peppers, Nirvana, Metallica, Blur, The White Stripes, The Cranberries - What now
    7. Red Hot Chili Peppers PLAYLIST!!! - poompeyloompey
    8. Red Hot Chili Peppers Radio - George Kost
    9. Red Hot Chili Peppers - Californication (1999 - Full Album) - Le Sémaphore
    10. Red Hot Chili Peppers - Playlist - Alin Iliuta
    11. Red Hot Chili Peppers - Stadium Arcadium (Complete Album) - Nick
    12. Red Hot Chili Peppers - Unlimited Love (Full Album, 2022/Álbum Completo) - Best Songs Playlist 2022
    13. Red Hot Chili Peppers - Unlimited Love (ALBUM) - HULLE KAN  NIE MET MY NIE
    14. RHCP Playlist - iandim
    15. Red Hot Chili Peppers YouTube Mix - Sam Harris
    16. The Getaway - Red Hot Chili Peppers (Full Album) - Dylan Hallett
    17. Red Hot Chili Peppers on the Stern Show - The Howard Stern Show
    18. Nirvana Red Hot Chili Peppers Green Day Offspring Blink-182 - Ricky Arreola
    19. Red Hot Chili Peppers - Unlimited Love (Instrumentals) - Djancarlo Shatunov - Instrumentals & Acapellas
    
    Pick an option [0:19, (B)ack]: 0
    
    Red Hot Chili Peppers - Unlimited Love (FULL ALBUM) - ESSBY has been added to the queue.
    
    Add playlists to the Queue (P)lay, (S)how Queue, (B)ack, (Q)uit: P
    
    Playing items in the queue (q to quit)
    
    0. Red Hot Chili Peppers - Unlimited Love (FULL ALBUM) - ESSBY
    
    [ytdl_hook] ERROR: Unsupported URL: https://piped.kavin.rocks/playlist?list=PLfiMjLyNWxeZnoC5NvrDI_-61s0TRSeay
    [ytdl_hook] youtube-dl failed: unexpected error occurred
    Failed to recognize file format.
    
    Exiting... (Errors when loading file)
    Add playlists to the Queue (P)lay, (S)how Queue, (B)ack, (Q)uit:
    
    
    opened by FrancescoCappio 10
Releases(v0.4.5.3)
  • v0.4.5.3(Jul 4, 2022)

    What's changed?

    • Added a new --trending flag. https://github.com/ZingyTomato/Harmony-Music/commit/aca89efd7524b9dc51f760e28132047df111f46f

    How to update?

    • Remove the old binary using sudo rm /usr/local/bin/harmony

    • Re-enter the commands in the install section or download the new binary from the releases section and place it in /usr/local/bin.

    • AUR users can check for updates using their respective AUR helpers.

    Source code(tar.gz)
    Source code(zip)
    harmony(11.49 MB)
  • v0.4.5.2(Jun 11, 2022)

    What's changed?

    • Removed the --video flag once again.

    • Improved accuracy of synced lyrics. https://github.com/ZingyTomato/Harmony-Music/commit/9f58fc218479d8d5f125bbe6b63b3a0d85248759

    • Removed ASCII characters in the lyrics to prevent Unicode errors. https://github.com/ZingyTomato/Harmony-Music/commit/660fda6466f4ed4d2225a3b0879ad10b6526d693

    How to update?

    • Remove the old binary using sudo rm /usr/local/bin/harmony

    • Re-enter the commands in the install section or download the new binary from the releases section and place it in /usr/local/bin.

    • AUR users can check for updates using their respective AUR helpers.

    Source code(tar.gz)
    Source code(zip)
    harmony(11.49 MB)
  • v0.4.5.1(Jun 6, 2022)

    What's changed?

    • Reverted back to the previous synced lyrics solution. https://github.com/ZingyTomato/Harmony-Music/commit/98b1ac9df21a3313758f96567bcfa2eb756fad7c

    How to update?

    • Remove the old binary using sudo rm /usr/local/bin/harmony

    • Re-enter the commands in the install section or download the new binary from the releases section and place it in /usr/local/bin.

    • AUR users can check for updates using their respective AUR helpers.

    Source code(tar.gz)
    Source code(zip)
    harmony(11.49 MB)
  • v0.4.5(Jun 5, 2022)

    What's changed?

    • New source for synced lyrics. https://github.com/ZingyTomato/Harmony-Music/commit/3df15250301c69018dfe5e2e2ba19165b5943494

    • The screen now clears before reaching the play screen. https://github.com/ZingyTomato/Harmony-Music/commit/3df15250301c69018dfe5e2e2ba19165b5943494

    How to update?

    • Remove the old binary using sudo rm /usr/local/bin/harmony

    • Re-enter the commands in the install section or download the new binary from the releases section and place it in /usr/local/bin.

    • AUR users can check for updates using their respective AUR helpers.

    Source code(tar.gz)
    Source code(zip)
    harmony(11.49 MB)
  • v0.4.4(Jun 4, 2022)

    What's changed?

    • New Icon displayed for Explicit Songs. https://github.com/ZingyTomato/Harmony-Music/commit/2472fca075fb4411c5a9d18dbcb8fb05cdc1808f

    • Updated documentation and warn if no results found. https://github.com/ZingyTomato/Harmony-Music/commit/fc00f42683f2c4c24079ae91e92f738b89954c8f

    How to update?

    • Remove the old binary using sudo rm /usr/local/bin/harmony

    • Re-enter the commands in the install section or download the new binary from the releases section and place it in /usr/local/bin.

    • AUR users can check for updates using their respective AUR helpers.

    Source code(tar.gz)
    Source code(zip)
    harmony(11.49 MB)
  • v0.4.3(May 30, 2022)

    What's changed?

    • Warn when no stream URL found. https://github.com/ZingyTomato/Harmony-Music/commit/466fea5e8744b5e8306b0673c90c51c6388a3c26

    • Improved readability of lyrics. https://github.com/ZingyTomato/Harmony-Music/commit/b94b7dbb6a3b76f7fe37ffa5c603237d4c58c473

    • New GitHub action to build binaries. https://github.com/ZingyTomato/Harmony-Music/commit/812973fb11c44384d64d7f2ae64d1424e18ed531

    • Fixed formatting of certain characters. https://github.com/ZingyTomato/Harmony-Music/commit/8225267d9409741ca14e6527aabb8150cd32136b

    How to update?

    • Remove the old binary using sudo rm /usr/local/bin/harmony

    • Re-enter the commands in the install section or download the new binary from the releases section and place it in /usr/local/bin.

    • AUR users can check for updates using their respective AUR helpers.

    Source code(tar.gz)
    Source code(zip)
    harmony(11.49 MB)
  • v0.4.2(May 21, 2022)

    What's changed?

    • Re-added the --video flag, added support for real-time synced lyrics. https://github.com/ZingyTomato/Harmony-Music/commit/b51a939d0826b933b64e7e05455c369772ad9e4a

    How to update?

    • Remove the old binary using sudo rm /usr/local/bin/harmony

    • Re-enter the commands in the install section or download the new binary from the releases section and place it in /usr/local/bin.

    • AUR users can check for updates using their respective AUR helpers.

    Source code(tar.gz)
    Source code(zip)
    harmony(18.13 MB)
  • v0.4.1(May 17, 2022)

    What's changed?

    • Harmony now streams music from JioSaavn instead of Piped. https://github.com/ZingyTomato/Harmony-Music/commit/e4e4a5575691ccd700f6370e2daeabd38b1b3706

    How to update?

    • Remove the old binary using sudo rm /usr/local/bin/harmony

    • Re-enter the commands in the install section or download the new binary from the releases section and place it in /usr/local/bin.

    • AUR users can check for updates using their respective AUR helpers.

    Source code(tar.gz)
    Source code(zip)
    harmony(7.02 MB)
  • v0.4(May 15, 2022)

    What's changed?

    • The project has been rewritten and it is now completely focused on music. https://github.com/ZingyTomato/Harmony-Music/commit/b71f1c492698894f322da3efe46bd912f1ce63c9

    • Updated Showcase GIF. https://github.com/ZingyTomato/Harmony-Music/commit/b00ddab5934f651288223c3a912f8279ecfbab52

    • Binaries now contain all required dependencies. https://github.com/ZingyTomato/Harmony-Music/commit/f7adf346afd20c805fb57eac7db9eabd47289276

    • Updated documentation. https://github.com/ZingyTomato/Harmony-Music/commit/4ccba359808daf189178e0aee46b00a1f8452fb6

    How to update?

    • Remove the old binary using sudo rm /usr/local/bin/harmony

    • Re-enter the commands in the install section or download the new binary from the releases section and place it in /usr/local/bin.

    Source code(tar.gz)
    Source code(zip)
    harmony(18.13 MB)
  • v0.3.1(May 1, 2022)

    What's changed?

    • The --video flag now uses piped's proxy to play videos and the currently playing track's title now shows up below mpv's progress bar. https://github.com/ZingyTomato/Harmony-Music/commit/aa958531e255b5e600f4f99753dce864f321ff1b

    • Fixed certain track's title not displaying. https://github.com/ZingyTomato/Harmony-Music/commit/efa4d8a2a6eb2a13af2c3b4b2e97ac433e03c2da

    • Updated documentation. https://github.com/ZingyTomato/Harmony-Music/commit/0a0bf510b227e5efa44ed5436fd1c0120430bbef

    How to update?

    • Remove the old binary using sudo rm /usr/local/bin/harmony

    • Re-enter the commands in the install section or download the new binary from the releases section and place it in /usr/local/bin.

    Source code(tar.gz)
    Source code(zip)
    harmony(9.11 MB)
  • v0.3(Apr 29, 2022)

    What's changed?

    • Implemented color scheme in more areas of the program. https://github.com/ZingyTomato/Harmony-Music/commit/500708ba8ccedd922dab18287b37f7231e0bbd79

    • Added new loading messages between certain actions. https://github.com/ZingyTomato/Harmony-Music/commit/d49a6aabd92d6e898d9ab2e14c39884bf5e3c068

    • The --song flag now uses piped's proxy to play tracks. https://github.com/ZingyTomato/Harmony-Music/commit/c7895ade8b084b561040d0f6d74b8f96346e2997

    • Updated documentation. https://github.com/ZingyTomato/Harmony-Music/commit/872c96b0a47f5eee1746b9206a14a0741982a834

    How to update?

    • Remove the old binary using sudo rm /usr/local/bin/harmony

    • Re-enter the commands in the install section or download the new binary from the releases section and place it in /usr/local/bin.

    Source code(tar.gz)
    Source code(zip)
    harmony(9.11 MB)
  • 0.2(Apr 23, 2022)

    What's changed?

    • Added a quit option while picking items. https://github.com/ZingyTomato/Harmony-Music/commit/72c0d72f69e8569e62def00fbe335ab4a6f0ae08

    • Many UX improvements. https://github.com/ZingyTomato/Harmony-Music/commit/886b65e493ba0fb1a7dc7c4c769183ead5263dbf

    • Fixed inconsistent spacing between various messages. https://github.com/ZingyTomato/Harmony-Music/commit/cd3e2d9d6263b7e8f026fd07b8ee966b008153cc

    • Added new documentation for how to install yt-dlp over youtube-dl. https://github.com/ZingyTomato/Harmony-Music/commit/fce1e0cc9200772dbba2729486b8eb65805bf9a7

    How to update?

    • Remove the old binary located in /usr/local/bin/harmony.

    • Re-enter the commands in the install section or download the new binary from the releases section and place it in /usr/local/bin.

    Source code(tar.gz)
    Source code(zip)
    harmony(9.11 MB)
  • v0.1(Apr 21, 2022)

Owner
Zingy Tomato
I uh... try to make stuff.
Zingy Tomato
GTK3-based panel for sway window manager

nwg-panel I have been using sway since 2019 and find it the most comfortable working environment, but... Have you ever missed all the graphical bells

Piotr Miller 290 Jan 07, 2023
A full-featured Python wrapper for the Onfleet API.

UPDATE: Please use Onfleet's wrapper instead. This repository is not maintained. https://github.com/onfleet/pyonfleet --- Python-Onfleet   python-onfl

Lionheart Software 11 Jan 13, 2022
An API which returns random AOT quote everytime it's invoked

An API which returns random AOT quote everytime it's invoked

Nishant Sapkota 1 Feb 07, 2022
SickNerd aims to slowly enumerate Google Dorks via the googlesearch API then requests found pages for metadata

CLI tool for making Google Dorking a passive recon experience. With the ability to fetch and filter dorks from GHDB.

Jake Wnuk 21 Jan 02, 2023
Pincer-bot-template - A template for a Discord bot created using the Pincer library

Pincer Discord Bot Template (Python) WARNING: Pincer is still in its alpha/plann

binds 2 Mar 17, 2022
Invites link generator for telegram(made for channel referral links)

InviteLinkGen Invites link generator for telegram(for channel referral links) made for @HelakuruEsana channel Spotify Giveaway

Jaindu Charindith 7 Feb 01, 2022
BoostIRC - IRC Bot which posts boosts to IRC

BoostIRC Quick Start git clone https://github.com/valcanobacon/BoostIRC.git cd B

7 Dec 23, 2022
Практическая работа 6 - Документирование кода

Практическая работа №6 ПСП – правильная скобочная последовательность – последовательность из открывающих «(« и закрывающих «)» круглых скобок. Програм

0 Apr 14, 2022
Automate and Manage Telegram Channels

Channel Automation Bot @ChannelAutomateBot A star ⭐ from you means a lot to us! Telegram bot to automate and manage channels. Usage Deploy to Heroku T

Stark Bots 61 Dec 29, 2022
An advanced Filter Bot with nearly unlimitted filters!

Unlimited Filter Bot ㅤㅤㅤㅤㅤㅤㅤ ㅤㅤㅤㅤㅤㅤㅤ An advanced Filter Bot with nearly unlimitted filters! Features Nearly unlimited filters Supports all type of fil

TroJanzHEX 445 Jan 03, 2023
Bot to notify when vaccine appointments are available

Vaccine Watch Bot to notify when vaccine appointments are available. Supports checking Hy-Vee, Walgreens, CVS, Walmart, Cosentino's stores (KC), and B

Peter Carnesciali 37 Aug 13, 2022
The Python client library for the Tuneup Technology App.

Tuneup Technology App Python Client Library The Python client library for the Tuneup Technology App. This library allows you to interact with the cust

Tuneup Technology 0 Jun 29, 2022
A powerful application to automatically deploy GitHub Release.

A powerful application to automatically deploy GitHub Release.

Fentaniao 43 Sep 17, 2022
A small repository with convenience functions for working with the Notion API.

Welcome! Within this respository are a few convenience functions to assist with the pulling and pushing of data from the Notion API.

10 Jul 09, 2022
Report-snapchat - Report Snapchat acc with python

report-snapchat Report Snapchat acc Report users on Snapchat about the tool : 4

17 Dec 01, 2022
This is a simple Telegram bot to Delete User Messages based on Groupmembers Votes. Heroku deployable

ibCleaner Bot This is a simple Telegram bot to Delete User Messages based on Groupmembers Votes. Deploy to Heroku Deploy locally Edit config.py and ad

8 Oct 21, 2022
Latest Open Source Code for Playing Music in Telegram Video Chat. Made with Pyrogram and Pytgcalls 💖

MusicPlayer_TG Latest Open Source Code for Playing Music in Telegram Video Chat. Made with Pyrogram and Pytgcalls 💖 Requirements 📝 FFmpeg NodeJS nod

Abhijith Sudhakaran 2 Feb 04, 2022
MAASTA is a wrapper to create an Ansible inventory for MAAS instances that are provisioned by Terraform.

MAASTA is a wrapper to create an Ansible inventory for MAAS instances that are provisioned by Terraform.

Saeid Bostandoust 144 Dec 16, 2022
Quickly edit your slack posts.

Lightning Edit Quickly edit your Slack posts. Heavily inspired by @KhushrajRathod's LightningDelete. Usage: Note: Before anything, be sure to head ove

Cole Wilson 14 Nov 19, 2021
A media upload to telegraph module

A media upload to telegraph module

Fayas Noushad 5 Dec 01, 2021