Sobre o projeto

dexed-py fornece bindings Python para o sintetizador Dexed DX7. Oferece um conjunto abrangente de ferramentas para design de som e síntese, variando desde edição de patches de alto nível e amigável para humanos até arrays de parâmetros de baixo nível adequados para fluxos de trabalho de machine learning. Principais capacidades incluem: - Gerenciamento de Patches: API de alto nível para edição de parâmetros DX7, incluindo suporte para importação e exportação de arquivos sysex e de bancos. - Integração com ML: Uma classe `Preset` que representa o estado do sintetizador como um vetor float32 normalizado, projetada para compatibilidade com JAX PyTrees e `jax.pure_callback` para evitar recompilação JIT durante alterações de parâmetros. - Renderização de Síntese: Capacidade de renderizar áudio com base em notas MIDI, velocity e duração, com opções para saída de sinais individuais de operadores. - Topologias Personalizadas: API `OperatorGraph` que permite aos usuários construir topologias FM arbitrárias além dos 32 algoritmos padrão do DX7, incluindo suporte para contagem personalizada de operadores e matrizes de modulação. - Visualização: Ferramentas para exportar grafos de operadores como arte ASCII ou diagramas Mermaid. - Metadados de Algoritmos: Acesso às listas de portadoras/moduladores e matrizes de modulação para todos os algoritmos padrão do DX7.