Modern local-first music player for Windows.
Player de música moderno e local-first para Windows.
Resonance é um player de música moderno para Windows, desenvolvido em C#, .NET 10 e WinUI 3, projetado para pessoas que mantêm, organizam e valorizam grandes coleções locais de áudio.
O projeto parte de uma base open-source madura (Nagi, sob licença GPLv3) e evolui a experiência através de um modelo rigoroso de desenvolvimento guiado por especificações (Spec-Driven Development com GitHub Spec Kit), combinando a elegância visual do Windows moderno com a eficiência informacional de players clássicos de áudio.
GitHub Description (EN): Modern local-first music player for Windows with large-library management, metadata enrichment, audio fingerprinting, synchronized lyrics, EQ presets and real-time FFT visualization.
Descrição (PT-BR): Player de música moderno e local-first para Windows, com gerenciamento de grandes bibliotecas, enriquecimento de metadados, fingerprint de áudio, letras sincronizadas, equalizador com presets e visualização FFT em tempo real.
- Varredura Recursiva Automática: Adicione uma pasta raiz (ex.:
D:\Musicas) e todas as subpastas elegíveis em qualquer profundidade são indexadas automaticamente sem necessidade de cadastro manual. - Múltiplos Locais de Armazenamento: Suporte nativo e simultâneo a múltiplos drives, pastas locais e compartilhamentos de rede (
D:\Musicas,E:\FLAC,\\NAS\Music). - Resiliência Extrema: O scanner ignora pastas sem permissão ou arquivos corrompidos sem interromper o processo; previne loops de junction points/symlinks e evita duplicações mesmo com raízes sobrepostas.
- Varredura Incremental & Não Bloqueante: A interface permanece fluida durante o scan, com telemetria visual de progresso (descobertos, processados, adicionados, ignorados e erros).
- Reprodução de alta fidelidade via LibVLCSharp.
- Suporte a múltiplos contêineres e formatos: MP3, FLAC, AAC, OGG, WAV, AIFF, APE, DSD, M4A, WMA, WavPack e outros.
- Painel de inspeção aprofundada de faixas exibindo dados técnicos e contextuais:
- Título, Artista, Artista do Álbum, Álbum, Número de Faixa, Disco, Ano, Gênero e ISRC.
- Informações de codificação: container, codec, taxa de bits (bitrate e modo), taxa de amostragem (sample rate), profundidade de bits (bit depth) e canais.
- Metadados de volume e normalização (ReplayGain).
- Capas embutidas em alta resolução.
- Identificação precisa de faixas desconhecidas ou mal identificadas via Chromaprint + AcoustID + MusicBrainz.
- Privacidade Absoluta: O arquivo de áudio original nunca é enviado para a rede — apenas a impressão digital matemática (fingerprint) e a duração são transmitidas.
- Controle Total: Nenhuma tag local é sobrescrita automaticamente. Os candidatos são apresentados para revisão prévia e aprovação do usuário.
- Sistema explícito de proveniência de metadados (
MetadataValue<T>): saiba com clareza a origem de cada campo (LocalTag,Filename,MusicBrainz,AcoustID,LastFm,TheAudioDBou manual pelo usuário) com nível de confiança associado.
- Suporte nativo a letras sincronizadas (
.lrc) e em texto puro (.txt), priorizando arquivos locais e tags embutidas no arquivo de áudio. - Enriquecimento opcional e seguro via provedor remoto (LRCLIB) com cache local inteligente, sem depender de nuvem proprietária.
- Preservação do EQ existente de 10 bandas com controle de pregain e proteção contra clipping.
- Presets prontos para diversos gêneros e cenários acústicos.
- Gerenciamento completo: salvar presets personalizados, renomear, duplicar, exportar, importar e comparação rápida A/B.
- Pipeline de renderização em tempo real independente do fluxo de áudio principal.
- Modos visuais: barras de frequência, linha de espectro, waveform e retenção de pico (peak hold).
- Calibração de tamanho de FFT, suavização, decaimento e escala logarítmica.
- Eficiência Energética: O pipeline de análise é completamente desativado quando o visualizador é ocultado, economizando CPU e bateria.
- Design nativo e fluido alinhado aos padrões visuais do Windows 11 (Fluent Design System).
- Alternância rápida na visualização Now Playing entre Player, Letras (Lyrics), Espectro (Spectrum) e Detalhes Técnicos (Details).
- Identidade visual 100% original, inspirada na praticidade de players clássicos sem copiar marcas, skins ou assets de terceiros.
O desenvolvimento do Resonance é regido pela Constituição do Projeto:
- Local-First & Privacy-First: Todas as operações essenciais (tocar, organizar, equalizar, visualizar letras locais) funcionam 100% offline. Serviços de rede são estritamente opcionais, com consentimento explícito e sem telemetria por padrão.
- O Código Existente é a Fonte da Verdade: Nenhuma funcionalidade é criada do zero sem antes auditar a base herdada. Abstrações, serviços ou modelos paralelos são expressamente proibidos quando já existirem equivalentes.
- Spec-Driven Development: Toda evolução do sistema segue especificações formais via GitHub Spec Kit.
- Fatias Verticais (Vertical Slices): Tarefas não são divididas horizontalmente (camadas técnicas isoladas). Cada incremento entrega um comportamento de ponta a ponta em no máximo três fatias verticais, prevenindo goal drift.
- Whole-Solution Validation: Nenhuma alteração é aceita sem a compilação limpa da solution inteira e a aprovação de toda a suíte de testes automatizados.
| Camada | Tecnologia | Descrição |
|---|---|---|
| Runtime & Linguagem | .NET 10 / C# | Performance moderna com recursos avançados de tipagem |
| Interface (UI) | WinUI 3 / Windows App SDK | UI nativa Windows com Fluent Design e aceleração gráfica |
| Motor de Reprodução | LibVLCSharp (LibVLC) | Decodificação robusta para ampla variedade de codecs |
| Leitura/Escrita de Tags | ATL (Audio Tools Library) | Inspeção e manipulação de metadados embutidos de alta precisão |
| Banco de Dados | SQLite + Entity Framework Core | Persistência local rápida, leve e desacoplada |
| Fingerprint de Áudio | Chromaprint / AcoustID | Identificação de áudio preservando a privacidade do usuário |
| Provedores de Metadados | MusicBrainz, Last.fm, TheAudioDB, LRCLIB | Enriquecimento opcional de capas, letras e metadados |
A evolução inicial do Resonance está estruturada nas seguintes etapas verticais:
| Feature | Código | Foco Principal |
|---|---|---|
| 000 | Baseline & Auditoria |
Mapeamento completo do repositório base Nagi, validação de build/testes e identificação de lacunas técnicas. |
| 001 | Recursive Root Library Hardening |
Varredura recursiva robusta, múltiplas raízes, resiliência a falhas de I/O e telemetria de progresso na UI. |
| 002 | Track Inspector |
Painel completo de metadados técnicos, codec, container, bitrate, ReplayGain e integridade do arquivo. |
| 003 | Fingerprint Metadata Identification |
Pipeline Chromaprint + AcoustID para descoberta e sugestão segura de metadados sem envio de arquivos. |
| 004 | Equalizer Preset Manager |
Gerenciador de curvas de EQ, pregain, proteção anti-clipping e importação/exportação de presets. |
| 005 | FFT Spectrum Analyzer |
Pipeline de visualização em tempo real (barras, espectro, waveform) com baixo consumo de recursos. |
| 006 | Lyrics Provider Boundary |
Fronteira estrita de provedores de letras priorizando fontes locais e permitindo LRCLIB opcional. |
| 007 | Metadata Review & Apply |
Interface de comparação antes/depois para aplicação segura de tags nos arquivos locais. |
Toda a documentação técnica, decisões de produto e governança estão disponíveis no diretório Resonance-Player/:
- 💡 IDEIA.md — Visão de produto, contexto histórico, auditoria inicial e direcionamento estratégico.
- 📋 PRD.md — Documento de Requisitos de Produto (requisitos funcionais, cenários e critérios de aceite).
- 🧩 FEATURES_SUGERIDAS_SPEC_KIT.md — Catálogo de features e guardrails obrigatórios para o Spec Kit.
- 📜 CONSTITUTION.md — Constituição do projeto e regras de arquitetura (cópia legível de
.specify/memory/constitution.md). - 🎨 BRANDING.md — Posicionamento de marca, taglines e diretrizes de identidade visual.
- 🚀 SPEC_KIT_HANDOFF.md — Guia prático de inicialização e comandos para o fluxo Spec Kit.
- Windows 10 (versão 1809 ou superior) ou Windows 11
- .NET 10 SDK instalado
- Visual Studio 2022 (com suporte a Windows App SDK / WinUI 3) ou Visual Studio Code com C# Dev Kit
# Restaurar dependências
dotnet restore
# Compilar em Release (modo estrito)
dotnet build --configuration Release
# Executar a suíte de testes automatizados
dotnet test --configuration Release --no-buildEste projeto é software livre licenciado sob a GNU General Public License v3.0 (GPL-3.0).
Resonance é desenvolvido a partir do código do projeto open-source Nagi, criado por Anthonyy232 e colaboradores. Todas as atribuições, avisos de direitos autorais originais e termos da licença GPL-3.0 são rigorosamente preservados.
As marcas, logotipos e referências externas pertencem aos seus respectivos proprietários. Resonance não reutiliza marcas, códigos proprietários, skins ou assets do Winamp ou de qualquer outro software comercial.