Skip to content

Latest commit

 

History

History
253 lines (189 loc) · 6.71 KB

File metadata and controls

253 lines (189 loc) · 6.71 KB

FunkLab Studio – Blueprint do Produto

DevFlow Labs

Sistema de produção assistida: engine musical + interface visual + export para DAW.


Visão do Produto

FunkLab Studio — DAW companion tool focado em funk brasileiro, phonk e tech house.

Diferencial: não existe produto equivalente focado em groove generation para esses estilos.


Arquitetura

┌─────────────────────────────────────────────────────────────┐
│                    FunkLab Studio                            │
├─────────────────────────────────────────────────────────────┤
│  UI (Next.js + Tailwind + ShadCN)                            │
│  ou Desktop App (Tauri)                                      │
├─────────────────────────────────────────────────────────────┤
│  API (FastAPI)                                               │
│  REST endpoints → engine                                     │
├─────────────────────────────────────────────────────────────┤
│  Engine (Python)                                             │
│  groove_analyzer │ bass_generator │ template_builder │       │
│  groove_mutator │ exploration_engine │ musicality             │
├─────────────────────────────────────────────────────────────┤
│  Data: library/ │ projects/ │ samples/                       │
└─────────────────────────────────────────────────────────────┘

Estrutura de pastas

funklab/
├── engine/                    # Core musical (atual core/)
│   ├── groove_analyzer.py
│   ├── bass_generator.py
│   ├── template_builder.py
│   ├── groove_mutator.py      # Fase 2
│   ├── exploration_engine.py  # Fase 4
│   └── musicality.py
│
├── api/                       # Camada REST
│   ├── server.py
│   ├── routes_generate.py
│   ├── routes_analyze.py
│   └── routes_library.py
│
├── ui/                        # Frontend
│   └── nextjs_app/
│
├── library/
├── projects/
├── samples/
└── cli/                       # CLI como API interna (mantido)

API Design

Base URL

http://localhost:8000/api/v1

Endpoints

Método Endpoint Descrição
POST /generate/session Gera sessão com N sketches
POST /generate/batch Gera batch de projetos
POST /generate/bassline Gera bassline isolada
POST /generate/single Gera 1 projeto
POST /analyze/audio Analisa áudio (upload)
GET /library/grooves Lista grooves
GET /library/bass-patterns Lista bass patterns
GET /library/presets Lista presets
POST /library/groove Adiciona groove
GET /projects Lista projetos/sessions
GET /projects/{id}/files Retorna MIDI/JSON do projeto

Payloads exemplo

POST /generate/session

{
  "style": "mandelao",
  "bpm": 130,
  "count": 8
}

Response: { "session_id": "...", "projects": [...] }

POST /analyze/audio

  • multipart/form-data: file (wav/mp3)
  • Response: { "bpm", "swing", "pattern", "hits", "suggested_name" }

Telas da Interface

1. Sketch Generator (principal)

Componente Tipo Descrição
Preset Select mandelao, funk130, phonk, funk-techhouse
BPM Number override opcional
Count Number 1–20 sketches
Generate Button dispara geração

Fluxo: Selecionar estilo → Gerar 8 sketches → Ouvir → Favoritar → Exportar MIDI


2. Groove Designer

Visualização em 16 steps:

  • Kick — linha 1
  • Clap — linha 2
  • Hat — linha 3
  • Ghost — linha 4

Grid editável (X = hit, x = ghost, - = rest).


3. Bassline Generator

Opção Tipo
Key Select (C, C#, D, ...)
Scale minor, major, pentatonic, blues
Pattern Select da library
Velocity variation off / light / medium
Slide intensity off / light / medium
Ghost notes Toggle

Preview MIDI (Tone.js ou player).


4. Exploration Engine

Campo Descrição
Style preset
Energy slider
Groove diversity slider
Bass diversity slider
Count 10–20

Output: cards de ideias com play e favoritar.


5. Library

Tabs:

  • Grooves
  • Bass patterns
  • Presets
  • Samples

CRUD + tags + filtros.


Stack Técnica

Frontend

Tecnologia Uso
Next.js 15 App Router
Tailwind v4 Estilos
ShadCN Componentes
Zustand Estado
Tone.js Audio/MIDI preview
WebAudio API Fallback

Backend

Tecnologia Uso
Python 3.10+ Engine
FastAPI API REST
Uvicorn Servidor ASGI

Distribuição

Opção recomendada: Desktop (Tauri)

  • Tauri + Next.js + Python (subprocess ou sidecar)
  • Resultado: FunkLab.app
  • Acesso local a arquivos e MIDI

Alternativa: Web

  • Next.js + API remota
  • Limitações: upload de áudio, download de MIDI

Marca

DevFlow Labs – FunkLab Studio

  • Tagline: AI-assisted beat creation
  • Domínio: funklab.devflowlabs.com
  • CLI continua como ferramenta power-user

Roadmap do Produto

Fase Escopo Status
1 Engine estabilizada (groove, bass, arranjo) Pronto
2 API layer (FastAPI) Pronto
3 UI Next.js (telas base) Pendente
4 Exploration engine Pendente
5 Audio preview (Tone.js) Pendente
6 Desktop app (Tauri) Pendente
7 Funcionalidades premium Futuro

Monetização (futuro)

Plano Limite Preço
Free 5 sketches/dia $0
Pro Ilimitado $9/mês

Features premium possíveis:

  • AI groove extraction
  • AI bass generator
  • Style cloning
  • Reference track analysis

Conectores

  • CLI → continua como API interna; chamada pela UI ou uso direto
  • UI → chama API REST → engine
  • Desktop → bundla engine + API + UI localmente