Um player de letras sincronizadas para terminal com integração ao Spotify via playerctl, renderização de capas com Kitty + icat, e visual totalmente configurável (cores, tamanho de fontes, posições, etc).
- 🎶 Sincronização de letras
.lrcem tempo real - 🖼️ Renderização da capa do álbum diretamente no terminal (
kitty +kitten icat) - 🎨 Sistema de cores com suporte a:
- ANSI padrão (ex:
red,bright_cyan) - Paletas modernas (
tokyo_,dracula_,nord_,onedark_) - Cores HEX (
#RRGGBB)
- ANSI padrão (ex:
- 📁 Busca automática de letras (
LRCLibvia script Python) - 🧩 Layout completamente configurável
- 🕹️ Controles automáticos de fonte (via
kitty @ set-font-size) - 🌘 Efeito “fade” para letras anteriores/próximas
- C++17 ou superior
- Kitty terminal
- playerctl
- Python 3 (para baixar letras)
- python-requests
- wget ou curl
No Arch Linux:
sudo pacman -S playerctl python wget kittyClone o repo
git clone https://github.com/Nerver-zip/karaoke-cliCompile
cd karaoke-cli
makeEntre no diretório do binário e rode:
cd ~/Desktop/dev/karaoke-cli/bin
./karaokeOu crie um alias permanente no .bashrc / .zshrc:
# Adicionar essa linha em bashrc ou zshrc e salvar
alias karaoke='cd ~/Desktop/dev/karaoke-cli/bin && ./karaoke'
# Se usar zsh
source ~/.zshrc
# Se usar bash
source ~/.bashrc Assim você pode fazer karaoke a partir de qualquer lugar do seu sistema.
Customize como quiser esse arquivo para atender as suas preferências.
- Para habilitar o controle de fonte pelo arquivo config.ini, ative o controle remoto do Kitty adicionando a seguinte linha:
em
allow_remote_control yes~/.config/kitty/kitty.conf
- Detecta a música atual via
playerctl. - Busca e exibe a capa (
icatvia Kitty). - Localiza ou baixa o arquivo
.lrc. - Exibe as letras sincronizadas com o tempo.
- Atualiza dinamicamente a linha atual.
Padrão ANSI:
black, red, green, yellow, blue, magenta, cyan, white,
bright_black, bright_red, bright_green, bright_yellow,
bright_blue, bright_magenta, bright_cyan, bright_white
Tokyo Night:
tokyo_yellow, tokyo_blue, tokyo_cyan, tokyo_magenta,
tokyo_green, tokyo_red, tokyo_fg, tokyo_comment, tokyo_bg
Dracula:
dracula_bg, dracula_fg, dracula_purple, dracula_pink,
dracula_cyan, dracula_green, dracula_orange,
dracula_red, dracula_yellow
Nord:
nord_blue, nord_cyan, nord_green, nord_yellow,
nord_orange, nord_red, nord_purple, nord_fg, nord_bg
OneDark:
onedark_blue, onedark_green, onedark_cyan,
onedark_red, onedark_yellow, onedark_purple,
onedark_fg, onedark_bg
HEX direto:
#rrggbb
Exemplo: title_color = #E0AF68
MIT License — use, modifique e compartilhe livremente.
