{"id":13707043,"url":"https://github.com/pauloo27/tuner","last_synced_at":"2025-04-05T14:08:24.637Z","repository":{"id":39763640,"uuid":"276773753","full_name":"pauloo27/tuner","owner":"pauloo27","description":"🎵 Search and Play songs from YouTube inside your terminal","archived":false,"fork":false,"pushed_at":"2025-03-13T03:01:30.000Z","size":815,"stargazers_count":128,"open_issues_count":2,"forks_count":4,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-03-29T13:11:14.920Z","etag":null,"topics":["album-art","golang","lyrics","mpv","mpv-mpris","player","playlist","song","soundcloud","terminal","youtube"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/pauloo27.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-07-03T00:49:14.000Z","updated_at":"2025-03-13T03:01:26.000Z","dependencies_parsed_at":"2023-01-29T03:30:54.872Z","dependency_job_id":"63b91617-c85b-4a41-9c7c-9c587518daca","html_url":"https://github.com/pauloo27/tuner","commit_stats":{"total_commits":330,"total_committers":4,"mean_commits":82.5,"dds":"0.10909090909090913","last_synced_commit":"e1c438c74b8b6d3e3a1e4279a7741139f3549bde"},"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pauloo27%2Ftuner","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pauloo27%2Ftuner/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pauloo27%2Ftuner/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pauloo27%2Ftuner/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pauloo27","download_url":"https://codeload.github.com/pauloo27/tuner/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247345854,"owners_count":20924102,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["album-art","golang","lyrics","mpv","mpv-mpris","player","playlist","song","soundcloud","terminal","youtube"],"created_at":"2024-08-02T22:01:16.411Z","updated_at":"2025-04-05T14:08:24.620Z","avatar_url":"https://github.com/pauloo27.png","language":"Go","funding_links":[],"categories":["Go"],"sub_categories":[],"readme":"# TUNER\n\nTuner searches and plays songs from YouTube and SoundCloud inside your terminal.\n\n[![CI status](https://ci.db.cafe/api/v1alpha/badges/ddd0ae47-6beb-402c-8ea9-416bfdb45a60)](https://ci.db.cafe/user/Pauloo27/projects/tuner.proj)\n\n\n_If you want a GUI application with more features, take a look at\n[Neptune](https://github.com/Pauloo27/neptune)._\n\n![Screenshot](https://i.imgur.com/REvt9Kw.png)\n\n## Table of Contents\n\n- [Features](#features)\n- [Usage](#usage)\n- [Quick play with dmenu](#quick-play-with-dmenu)\n- [Installing](#installing)\n- [Compile](#compile)\n- [Screenshots](#screenshots)\n- [Album Art (experimental)](#album-art-experimental)\n- [MPRIS](#mpris)\n- [Discord](#discord)\n- [Keybinds](#keybinds)\n- [Commands](#commands)\n- [Storage](#storage)\n- [License](#license)\n\n## Features\n\n- Playlists\n- Lyrics\n- Discord Rich Presence\n- No \"search rate limits\" (Tuner doesn't use the youtube API)\n- Show album art (experimental)\n- SoundCloud search support\n- \"I'm Feeling Lucky\" (play the first result when `!` is used as a prefix for the\nsearch query)\n\n## Usage\n\nUsing Tuner is simple. Just install it and then run `tuner` inside your terminal.\nThat will launch a interactive player. If that's not what you want, here are some\nalternative modes:\n\n- `tuner play \u003csearch term\u003e` (or `tuner p`): plays the first result found for \nthe search term (a terminal is required).\n- `tuner simple-play \u003csearch term\u003e` (or `tuner sp`): plays the first result \nfound for the search term but without the interactive player (does not require a \nterminal).\n\n### Quick play with dmenu\n\nYou can create a script in `/usr/bin/play` (or any other folder in your path)\nwith the following content:\n```bash\n#!/bin/bash\n\nsearch_query=\"$@\"\n\n# when the search query is not defined\nif [ -z \"$1\" ]; then\n  search_query=$(echo \"stop\" | dmenu -p \"Play: \")\nfi\n\n# when the search query is stop\nif [ \"$search_query\" = \"stop\" ]; then\n  killall tuner -w \n  exit 0\nfi\n\n# when the search query is ok to be played\ntuner sp \"$search_query\"\n```\n\nWith that, you can use dmenu to quickly play songs, by:\n- Creating a bind to `play` (that will open a dmenu prompt asking for the search\n query).\n- Running `play \u003csong name\u003e` (where `song name` is not required) in dmenu_run\n(usually `super+d`).\n\n## Installing\n\n### Arch Linux\n\nInstall from the AUR (`yay -S go-tuner-git`).\n\n### Debian (also Ubuntu, Linux Mint and PopOS)\n\nUse this install script:\n\n\u003e $ wget -O - https://raw.githubusercontent.com/Pauloo27/tuner/master/install-debian.sh | bash  \n\n\n## Compile\n\nTuner is a written in Go, so you will need to install the GoLang compiler. On \nArch Linux, you should install the `go` package.\n\n### Dependencies\n\nBefore running Tuner you need to install \n[MPV](https://github.com/mpv-player/mpv) and\n[youtube-dl](https://github.com/ytdl-org/youtube-dl/).\n\nOn Arch Linux, the dependencies packages are `mpv youtube-dl`\n\nOn Debian based (Ubuntu, PopOs, Linux Mint, etc), install `libmpv-dev` via APT\nand `youtube-dl` via PIP (`sudo -H pip3 install --upgrade youtube-dl`).\n\n**Font Awesome 5 is also required to display the icons. You can also customize\nthe icons in the `icons/icons.go` file.**\n\n### Build\n\nClone the repository: \n\u003e $ git clone https://github.com/Pauloo27/tuner.git \u0026\u0026 cd tuner\n\nInstall:\n\u003e $ make install\n\n## Screenshots\n\n**Tuner + pfetch:**\n\n\n![Screenshot with MOTD](https://i.imgur.com/9f6XonE.png)\n\n\n**Tuner search menu:**\n\n\n![Screenshot search](https://i.imgur.com/glnKkUH.png)\n\n**Tuner + Discord:**\n\n![Screenshot of Discord Rich Presence](https://i.imgur.com/zvHtld8.png)\n\n**Tuner + cava:**\n\n\n![Screenshot playing with CAVA](https://i.imgur.com/K7Qtozn.png)\n\n\n**Tuner + lolcat:**\n\n\n![Screenshot playing with CAVA](https://i.imgur.com/Mb532M7.png)\n\n\n## Album Art (experimental)\n\nThe option to show the song Album Art is disabled by default, here's how to \nenable it:\n\nFirst install [Überzug](https://github.com/seebye/ueberzug) \n(on Arch Linux, install the `ueberzug` package)...\n\nThen open Tuner and type `/a` in the search bar and restart your Terminal and \nTuner.\n\n## MPRIS\n\nTo enable MPRIS, first install [mpv-mpris](https://github.com/hoyon/mpv-mpris)\n(it needs to be placed at `~/.config/mpv/scripts/mpris.so` or \n`/etc/mpv/scripts/mpris.so`).\n\n_if you are using Arch Linux and installed Tuner using the `go-tuner-git` AUR package, it's already installed._\n\nAfter that, use `/mpris` command and restart tuner.\n\n## Discord\n\nTo enable or disable the integration with Discord, type `/discord` in the search bar.\n\n## Keybinds\n\n**If keybinds aren't working, try running Tuner with `TERM=\"xterm\" tuner`.\nIf it doesn't work, restart you terminal and open a issue on GitHub with \nthe output of `echo $TERM`. If it does work, you can also open the issue or set\na alias.**\n\n_TIP: You can see the keybinds inside Tuner by pressing `?`._\n\n- Arrow Left: Seek 5 seconds back.\n- Arrow Right: Seek 5 seconds.\n- Ctrl C: Stop the player.\n- Space: Play/Pause song.\n- Arrow Down: Decrease the volume.\n- Arrow Up: Increase the volume.\n- ?: Toggle keybind list.\n- L: Toggle loop.\n- P: Toggle lyric.\n- W: Scroll lyric up.\n- S: Scroll lyric down.\n- U: Show video URL.\n- B: Save song to playlist and edit current playlist.\n- R: Shuffle playlist.\n- \\\u003e: Next song in playlist.\n- \u003c: Previous song in playlist.\n\n## Commands\n\nThere are a few commands you can type in the search bar:\n\n- `/discord` or `/dc`: Toggle option to show Tuner in Discord. \n- `/cache` or `/c`: Toggle option to keep cache (default is false).\n- `/album` or `/a`: Toggle option to show album art (default is false).\n- `/mpris` or `/m`: Toggle option to load mpv-mpris (default is false).\n- `/help` or `/h`: List all commands.\n\n## Storage\n\nTuner data (cache and config) is stored at `~/.cache/tuner`. Tuner doesn't keep\nthe songs downloaded, the only cached data is the album art (if the feature is\nenabled) and the info of playlist entries.\n\n## License\n\n\u003cimg src=\"https://i.imgur.com/AuQQfiB.png\" alt=\"GPL Logo\" height=\"100px\" /\u003e\n\nThis project is licensed under [GNU General Public License v2.0](./LICENSE).\n\nThis program is free software; you can redistribute it and/or modify \nit under the terms of the GNU General Public License as published by \nthe Free Software Foundation; either version 2 of the License, or\n(at your option) any later version.\n\nThis program is distributed in the hope that it will be useful,\nbut WITHOUT ANY WARRANTY; without even the implied warranty of\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\nGNU General Public License for more details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpauloo27%2Ftuner","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpauloo27%2Ftuner","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpauloo27%2Ftuner/lists"}