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
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
A tool for creating credentials for accessing S3 buckets

s3-credentials A tool for creating credentials for accessing S3 buckets For project background, see s3-credentials: a tool for creating credentials fo

Simon Willison 138 Jan 06, 2023
Guildead - Guilded api wrapper written in python

Guildead Guilded api wrapper written in python. I have found "exploit" (guilded

0хVιcнy#1337 5 Sep 23, 2022
A simple Facebook Account generator, written in python (needs different Email so Accounts do not get banned)

FacebookAccountGenerator FAB is a Facebook-Account generating script, written in python Installation Use the package manager pip to install selenium p

MrOverload 7 Jan 05, 2023
Command-line program to download videos from YouTube.com and other video sites

youtube-dl - download videos from youtube.com or other video platforms INSTALLATION DESCRIPTION OPTIONS CONFIGURATION OUTPUT TEMPLATE FORMAT SELECTION

youtube-dl 116.4k Jan 07, 2023
A Telegram Bot which notifies the user when a vaccine is available on CoWin Platform.

Cowin Vaccine Availability Notifier Telegram Bot A bot that notifies the available vaccines at given district in realtime. Introduction • Requirements

Arham Shah 7 Jul 31, 2021
Ethone-Selfbot - Open Source Discord Self-Bot, written in discord.py

Ethone SB Table of contents Newest open-source Discord SelfBot with useful commands and easy documentation on how to add your own and change the exist

Ethone 3 Jan 08, 2022
The Python SDK for the BattleshAPI game

BattleshAPy The Python SDK for the BattleshAPI game Installation This library will be eventually going on PyPI, but until then, simply clone or downlo

Christopher 0 Apr 18, 2022
A modular Telegram group management bot running with Python based on Pyrogram.

A modular Telegram group management bot running with Python based on Pyrogram.

Jefanya Efandchris 1 Nov 14, 2022
Python script using Twitter API to change user banner to see 100DaysOfCode process.

100DaysOfCode - Automatic Banners 👩‍💻 Adds a number to your twitter banner indicating the number of days you have in the #100DaysOfCode challenge Se

Ingrid Echeverri 10 Jul 06, 2022
A Python API for Connected 2

connected API for Connected 2 api for the { connected 2 } programmer : api report api follow api check username api forget password api Search api cha

2 Jun 05, 2022
A python bot that will allow you to have maximum luck during Veve drops.

VeveBot You can follow me here Github | Twitter Features: - Click on the purchase at the time of the drop. - Be able to choose to do more than one tes

Rodz 1 Dec 04, 2021
Spacecrypto-bot - SpaceCrypto Bot Auto Clicker

SpaceCrypto Auto Clicker Bot Também fiz um para Luna Rush ( https://github.com/w

Walter Discher Cechinel 5 Feb 22, 2022
Emo-Fun is a bot which emojifies the text you send it

About Emo-Fun is a bot which emojifies the text you send it. It is easier to understand by an example Input : Hey this is to show my working!! Output

Suvodeep Sinha 3 Sep 30, 2022
Get Notified about vaccine availability in your location on email & sms ✉️! Vaccinator Octocat tracks & sends personalised vaccine info everday. Go get your shot ! 💉

Vaccinater Get Notified about vaccine availability in your location on email & sms ✉️ ! Vaccinator Octocat tracks & sends personalised vaccine info ev

Mayukh Pankaj 6 Apr 28, 2022
A pixeldrain python package using pixeldrain official api

Made with Python3 (C) @FayasNoushad Copyright permission under MIT License License - https://github.com/FayasNoushad/Pixeldrain/blob/main/LICENSE In

Fayas Noushad 6 Jan 26, 2022
Telegram music & video bot direct play music

Telegram music & video bot direct play music

noinoi-X 1 Dec 28, 2021
List of twitch bots n bigots

This is a collection of bot account names NamelistMASTER contains all the names we reccomend you ban in your channel Sometimes people get on that list

62 Sep 05, 2021
A Discord bot to scrape textfiles from messages and put them to Hastebin

A Discord bot to scrape textfiles from messages and put them to Hastebin. Intended to use on support servers to help users read textfiles on mobile.

1 Jan 23, 2022
go-cqhttp API typing annoations, return data models and utils for nonebot

go-cqhttp API typing annoations, return data models and utils for nonebot

风屿 6 Jan 04, 2023