Estamos buscando um desenvolvedor Python experiente para configurar e implantar um servidor de separação de áudio. O objetivo principal é criar um "motor de áudio" externo que se integrará a um aplicativo existente (desenvolvido em Lovable/
Next.js).
O trabalho envolve as seguintes etapas:
1. **Configuração do Servidor**: Escolher e configurar um servidor na nuvem (preferencialmente AWS, Google Cloud, DigitalOcean ou outra plataforma recomendada pelo freelancer) para garantir operação 24 horas por dia.
2. **Instalação de Dependências**: Instalar Python 3 e as bibliotecas necessárias, incluindo Torch, Torchaudio e Demucs.
3. **Desenvolvimento da API**: Criar uma API simples utilizando FastAPI (ou Flask) com dois endpoints específicos:
* POST /separate: Este endpoint receberá um arquivo de áudio via multipart/form-data. Ele executará o Demucs com a opção "--two-stems=drums" para gerar dois arquivos de saída:
drums.wav e
no_drums.wav. O endpoint deverá retornar um JSON contendo um track_id para referência futura.
* GET /download/{track_id}/{stem}: Este endpoint permitirá o download dos arquivos gerados (
drums.wav ou
no_drums.wav) com base no track_id e no tipo de stem solicitado.
4. **Operação e Segurança**: Garantir que o servidor esteja funcionando 24 horas por dia, com logs adequados e segurança básica, incluindo a configuração de CORS para permitir acesso apenas a um domínio específico.
5. **Entrega**: Fornecer a URL final do servidor (ex:
https://audio.meusite.com) para integração com o aplicativo principal.
Já possuímos um código base para a API, o que deve agilizar o processo de implementação. Estimamos que a tarefa possa ser concluída em 1 a 3 horas por um profissional com a experiência adequada.
Ao enviar sua proposta, por favor, inclua informações sobre:
* Sua experiência com Python, desenvolvimento de APIs, modelos de IA e configuração de servidores.
* Se você já trabalhou com Demucs ou Spleeter.
* Sua estimativa de custo para a realização deste setup.
* O prazo de entrega esperado para o projeto.
Prazo de Entrega: Não estabelecido