Instrumentos SF2 · MIDI USB · Áudio em tempo real
Um app Android simples para carregar arquivos .sf2, escolher presets, ajustar o release/sustain e tocar com um teclado MIDI USB.
SF2 Live é um player de SoundFont para Android feito para quem quer tocar instrumentos .sf2 com baixa latência usando um teclado MIDI USB.
A ideia é ser direto: importar um SoundFont, escolher o preset, conectar o teclado, selecionar a saída de áudio e tocar. Ele foi pensado para estudos, testes de timbres, ensaios simples e uso com controladores MIDI externos.
O foco do projeto é manter o caminho de áudio o mais leve possível, usando MIDI nativo, síntese em C++ e Oboe/AAudio para áudio de baixa latência.
- Importação de arquivos
.sf2. - Biblioteca local de SoundFonts.
- Seleção de presets/timbres dentro do SF2.
- Entrada por teclado MIDI USB.
- Seleção automática do MIDI conectado quando possível.
- Seleção da saída de áudio, incluindo interfaces USB.
- Controle de release/sustain para deixar o som mais seco ou mais prolongado.
- Suporte a pedal de sustain MIDI (CC64).
- Teclado virtual para teste rápido.
- Botão Panic para cortar notas presas.
- Motor nativo otimizado para acordes, retrigger rápido e baixa latência.
- Diagnóstico de áudio, MIDI, vozes, buffer e xruns.
- Kotlin para a interface Android.
- C++17 para o motor de áudio e sintetizador SF2.
- JNI para comunicação entre Kotlin e C++.
- AMidi / NDK MIDI para leitura MIDI nativa.
- Oboe 1.10.0 sobre AAudio para áudio de baixa latência.
- CMake para o build nativo.
- Gradle / Android Gradle Plugin para o build Android.
- mmap para carregar SoundFonts grandes sem duplicar o arquivo inteiro na RAM.
Testado inicialmente no Ubuntu.
Você precisa ter:
- Android Studio ou Android SDK instalado.
- Java 17 ou superior.
- Android SDK Command-line Tools.
sdkmanagerdisponível dentro do Android SDK.curlouwget.unzip.- Um celular Android conectado por USB, se quiser instalar direto.
O script prepara o restante quando possível, incluindo:
- Gradle Wrapper.
- Android platform usada pelo projeto.
- Build Tools.
- NDK.
- CMake.
Na raiz do projeto, rode:
chmod +x gerar-apk-facil.sh
./gerar-apk-facil.shO APK será gerado na pasta do projeto com um nome parecido com:
SF2Live-v0.10.0-debug.apk
Ative a Depuração USB no Android, conecte o celular ao computador e autorize a conexão quando o sistema pedir.
Depois rode:
chmod +x gerar-apk-facil.sh
./gerar-apk-facil.sh --instalarPermissões e acessos usados pelo app:
- Acesso ao arquivo
.sf2escolhido pelo usuário. - Acesso ao dispositivo MIDI USB quando o Android solicitar permissão.
- Permissão para ajustar configurações de áudio.
- Wake lock para manter o processamento ativo durante o uso.
Se você não quiser instalar Android Studio, SDK, NDK ou qualquer dependência de build, basta acessar a página de Releases do projeto no GitHub.
Abra a versão publicada mais recente, vá até a seção Assets, baixe o arquivo .apk e instale-o no seu dispositivo Android.
- Abra o app.
- Importe um arquivo
.sf2. - Escolha o preset desejado.
- Conecte o teclado MIDI USB.
- Selecione a saída de áudio, se necessário.
- Ajuste o release/sustain.
- Toque.
Para menor latência, use uma interface de áudio USB e mantenha o perfil de menor buffer estável para o seu aparelho.
O SF2 Live usa o melhor caminho geral disponível pelas APIs públicas do Android: MIDI nativo, sintetizador em C++ e Oboe/AAudio em baixa latência.
Apps comerciais como o Audio Evolution podem usar drivers USB próprios, contornando parte do sistema de áudio do Android. Por isso, em alguns aparelhos e interfaces, eles ainda podem ter latência menor.
Este projeto está licenciado sob a licença MIT. Veja o arquivo LICENSE.