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
PyFacebook

== PyFacebook == PyFacebook is a Python client library for the Facebook API. Samuel Cormier-Iijima ( Samuel Cormier-Iijima 573 Dec 20, 2022

A bot which is a ghost and you can make friends with it

This is a bot which is a ghost and you can make friends with it. It will haunt your friends. Explore and test the bot in replit !

Siwan SR 0 Oct 06, 2022
Практическая работа 6 - Документирование кода

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

0 Apr 14, 2022
🤟The VC Music Source code of @DaisyXBot ❤️ v3 Out now

DAISYXMUSIC V3 🎵 A bot that can play music on telegram group's voice call Available on telegram as @DaisyXbot Whats new 🔥 Thumbnail Support Playlist

TeamDaisyX 207 Dec 05, 2022
A Telegram Userbot to play or streaming Audio and Video songs / files in Telegram Voice Chats.

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

3 Oct 23, 2021
Dribble sign up screen built in python and kivy

Dribble sign up screen built in python and kivy contains Dribble icon with icon position and shadow animation.

1 Dec 06, 2021
The official wrapper for spyse.com API, written in Python, aimed to help developers build their integrations with Spyse.

Python wrapper for Spyse API The official wrapper for spyse.com API, written in Python, aimed to help developers build their integrations with Spyse.

Spyse 15 Nov 22, 2022
Scuttlecrab.py - Python Version of Scuttle Crab Bot

____ _ _ _ ____ _ / ___| ___ _ _| |_|

Fabrizo 4 Jul 08, 2022
just a program i made cuz a friend got tokenlogged and spammed me with these scam/phishing links so i made a programm to spam these websides with fake logins

scam-webside-spammer just a program i made cuz a friend got tokenlogged and spammed me with these scam/phishing links so i made a programm to spam the

TerrificTable 3 Sep 23, 2022
Sentiment Analysis web app using Streamlit - American Airlines Tweets

Analyse des sentiments à partir des Tweets L'application est développée par Streamlit L'analyse sentimentale est effectuée sur l'ensemble de données d

Abida Hassan 2 Feb 04, 2022
A very basic starter bot based on CryptoKKing with a small balance

starterbot A very basic starter bot based on CryptoKKing with a small balance, use at your own risk. I have since upgraded this script significantly a

Danny Kendrick 2 Dec 05, 2021
Url-shortener - A url shortener made in python using the API's from the pyshorteners lib

URL Shortener Um encurtador de link feito em python usando as API's da lib pysho

Spyware 3 Jan 07, 2022
send sms via grafana alert webhook

notifier fire alarm What does this project do: the aim of this project is to send alarm notification from grafana alert manager via kavenegar api. sta

Ali Soltani 4 Oct 20, 2021
Discord Mafia Game Bot using nextcord

Mafia-Bot Discord Mafia Game Bot using nextcord Features Mafia Game Game Replays Installation Run the following command to install required modules: p

Nian 6 Nov 19, 2022
Python package for Calendly API v2

PyCalendly Python package to use Calendly API-v2. Installation Install with pip $ pip install PyCalendly Usage Getting Started See Getting Started wi

Lakshmanan Meiyappan 20 Dec 05, 2022
OpenSea-Python-Bot - OpenSea Python Bot can be used in 2 modes

OpenSea-Python-Bot OpenSea Python Bot can be used in 2 modes. When --nft paramet

49 Feb 10, 2022
Some python code to make twitter bots ;)

How to set up a twitter bot using python's tweepy library Create a twitter developer account and project Make sure you are logged into your twitter ac

Wael 2 Jan 10, 2022
This checks that your credit card is valid or not

Credit_card_Validator This checks that your credit card is valid or not. Where is the app ? main.exe is the application to run and main.py is the file

Ritik Ranjan 1 Dec 21, 2021