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
Nft-maker - Create your own NFT!

nft-maker How to If you're going to use this program, change the pictures in the "images" folder. All images must be of the same resolution and size.

Georgii Arakelian 4 Mar 13, 2022
A CLI tool to transfer, sync, and backup playlists on music streaming services

unitunes A command-line interface tool to manage playlists across music streaming services. Introduction unitunes manages playlists across streaming s

Victor Tao 50 Jan 07, 2023
Solcast rooftop api for HA

Solcast Solar Home Assistant(https://www.home-assistant.io/) Component This custom component integrates the Solcast API into Home Assistant. Modified

Greg 1 Oct 11, 2021
Housing Price Prediction Using Machine Learning.

HOUSING PRICE PREDICTION USING MACHINE LEARNING DESCRIPTION Housing Price Prediction Using Machine Learning is to predict the data of housings. Here I

Shreya Shree Padhi 1 Aug 03, 2022
An App to get Ko-Fi payment updates on Telegram.

Deployments. Heroku.com 🚀 Replit.com 🌀 Make sure your app runs 24*7 Zeet.co 💪 Use this :~ Get Bot token from @botfather 🤖 Get ID where you want to

Jainam Oswal 16 Nov 12, 2022
A httpx token generator for discord [ hcaptcha bypass ]

Discord-Token-Generator-Yazato A httpx token generator for discord This generator was developed by Aced#0001, Dreamy Tos Follower#0001, Scripted#0131

23 Oct 26, 2021
Git Plan - a better workflow for git

git plan A better workflow for git. Git plan inverts the git workflow so that you can write your commit message first, before you start writing code.

Rory Byrne 178 Dec 11, 2022
A Slash Commands Discord Bot created using Pycord!

Hey, I am Slash Bot. A Bot which works with Slash Commands! Prerequisites Python 3+ Check out. the requirements.txt and install all the pakages. Insta

Saumya Patel 18 Nov 15, 2022
A tool for exporting Telegram group chats into static websites, preserving chat history like mailing list archives.

tg-archive is a tool for exporting Telegram group chats into static websites, preserving chat history like mailing list archives. Preview The @fossuni

Kailash Nadh 400 Dec 27, 2022
Useful tools for building interactions in Python

discord-interactions-python Types and helper functions for Discord Interactions webhooks. Installation Available via pypi: pip install discord-interac

Discord 77 Dec 07, 2022
Small Python Tracker clone of Electra

Discord Bot Tracker - Python Simply Track your Bots (Status) to get notified when one of those go offline/online. Paste IDs into the config.py files,

Koni 2 Nov 23, 2021
DragDev Maintained Instance Of discord.py

discord.py - DragDev Flavour A modern, easy to use, feature-rich, and async ready API wrapper for Discord written in Python. The Future of discord.py

DragDev Studios 3 Aug 27, 2022
Обертка для мини-игры "рабы" на python

Slaves API Библиотека для игры Рабы на Python. Большая просьба Поставьте звездочку на репозиторий. Это много для меня значит. Версии Т.к. разработчики

Zdorov Philipp 13 Mar 31, 2021
A badge generator service to count visitors of your markdown file.

Github Visitors Badge A badge generator service to count visitors of your markdown file. Hello every one! In this post, I will tell you the story of m

Kɪꜱᴀʀᴀ Pᴇꜱᴀɴᴊɪᴛʜ Pᴇʀᴇʀᴀ 〄 1 Feb 06, 2022
Stack overflow search API

Stack overflow search API

Vikash Karodiya 1 Nov 15, 2021
A wrapper for The Movie Database API v3 and v4 that only uses the read access token (not api key).

fulltmdb A wrapper for The Movie Database API v3 and v4 that only uses the read access token (not api key). Installation Use the package manager pip t

Jacob Hale 2 Sep 26, 2021
PyFIR - Python implementations of Finite Impulse Response (FIR) filters

pyFIR Python implementations of Finite Impulse Response (FIR) filters. The algorithms are mainly (but not strictly) the ones described in WEFERS, Fran

Davi Carvalho 4 Feb 12, 2022
A Simple, LightWeight, Statically-Typed Python3 API wrapper for GogoAnime.

AniKimi API A Simple, LightWeight, Statically-Typed Python3 API wrapper for GogoAnime The v2 of gogoanimeapi (depreciated) Made with JavaScript and Py

17 Dec 09, 2022
A small bot to interact with the reddit API. Get top viewers and update the sidebar widget.

LiveStream_Reddit_Bot Get top twitch and facebook stream viewers for a game and update the sidebar widget and old reddit sidebar to show your communit

Tristan Wise 1 Nov 21, 2021
An Advanced Telegram Bot to Play Radio & Music in Voice Chat. This is Also The Source Code of The Bot Which is Being Used For Playing Radio in @AsmSafone Channel ❤️

Telegram Radio Player V3 An Advanced Telegram Bot to Play Nonstop Radio/Music/YouTube Live in Channel or Group Voice Chats. This is also the source co

SAF ONE 421 Jan 05, 2023