HiFiBerryOS é a nossa versão de uma distribuição Linux mínima otimizada para reprodução de áudio. O objetivo não é adicionar o máximo de funcionalidades possível, mas sim mantê-las pequenas. Portanto, é baseado no Buildroot e não é possível utilizar gerenciadores de pacotes para adicionar mais software.
Existe um mecanismo de atualização robusto que não sobrescreve o sistema, mas alterna entre a versão atual e a nova (elas são executadas em partições diferentes). Isso está documentado com mais detalhes em doc/updater.md.
A interface do usuário é baseada no projeto Bang & Olufsen Beocreate.
Neste momento são suportados os seguintes serviços:
Spotify (usando um fork do Spotifyd) - requer uma assinatura paga do Spotify
Airplay (usando shairport)
Squeezebox (usando squeezelite)
Coletor Bluetooth A2DP (usando BlueZ 5)
Roon - requer uma assinatura Roon
MPD
Snapcast (experimental, usando Snapcast e SnapcastMPRIS)
Entrada analógica em DAC+ ADC com detecção de entrada (usando uma implementação alsaloop personalizada)
Webrádio (experimental)
Ferramentas adicionais disponíveis:
Sox
Kit de ferramentas HiFiBerry
Existem várias maneiras de adicionar funcionalidades ao HiFiBerryOS ou integrá-lo a outros sistemas.
O principal aplicativo controlador de backend é chamado audiocontrol e oferece uma API que pode ser usada para iniciar/parar players, alternar fontes ou recuperar metadados. Esta é muitas vezes a maneira mais fácil se você quiser integrá-lo a outros sistemas, por exemplo, um sistema de automação.
Audiocontrol fornece um sistema de plugins que pode ser usado para adicionar integrações mais complexas. Dê uma olhada também em "Anatomia de um plugin de controlador"
HiFiBerryOS é baseado em buildroot. Isso significa que você não pode instalar facilmente software adicional a partir da linha de comando. Mesmo se você fizer isso, ele desaparecerá após a próxima atualização, pois uma atualização substituirá todo o sistema de arquivos. Você precisa integrar software adicional por meio do sistema de compilação Buildroot
A UI também usa um conceito de plugin. Plugins são chamados de extensões. Dê uma olhada na documentação do Beocreate
Você pode encontrar a documentação técnica na pasta de documentos do repositório
A documentação para construir imagens a partir do código-fonte pode ser encontrada aqui
Estamos ansiosos por suas contribuições. Dependendo da funcionalidade e da qualidade do código, decidiremos se uma contribuição será incluída no sistema base ou será fornecida como um módulo contribuído pelo usuário que os próprios usuários precisam instalar.