Voice Dataset Studio: curadoria de dataset de áudio, local e primeiro
Estúdio local com SQLite para dataset de fala: importação com proveniência, revisão com waveform e espectrograma, transcrição e diarização, exportação para k…
On this page
Voice Dataset Studio: curadoria de dataset de áudio, local e primeiro
TL;DR
- É ferramenta de curadoria de dataset, não framework de treino: importa, inventaria, escuta, inspeciona, corta, transcreve, diariza, anota, revisa, versiona e exporta.
- Tudo roda localmente em SQLite, sem GPU. O arquivo bruto nunca é modificado, e resultado automático é sempre sugestão revisável, não decisão silenciosa.
- A análise é uma progressão com portões — Files, Risk, Speech, Release — em que cada portão expõe uma checagem principal, o resultado e o que o próximo libera.
- As exportações cobrem os formatos que ferramenta de fala realmente consome: kaldi, rttm, textgrid, lhotse, parquet do Hugging Face, webdataset, audformat-style e jsonl, cada uma com manifesto e checksums.
O que é e para quem
Voice Dataset Studio — publicado como Audio Dataset Studio — é um app local para curadoria de dataset de áudio ou fala. O README declara a fronteira direto: é estúdio de curadoria de dataset, não framework de treino de modelo.
É para quem já tem gravações e precisa transformá-las em conjunto de treino: dezenas de takes que precisam ser segmentados, transcrições que precisam de alinhamento, falantes que precisam de rótulo e um pacote que o treinador aceite de primeira. É também para quem vem editando o dataset à mão numa árvore de pastas e já perdeu a conta de qual arquivo foi cortado, renomeado ou exportado pela metade.
Importação e proveniência
A importação aceita arquivo único, pasta, link público, arquivo de dataset do Hugging Face, manifesto JSONL, CSV, TSV ou Parquet, diretório wav.scp do Kaldi e ZIP seguro contra traversal. Toda importação preserva caminho de origem, bytes originais, hash SHA-256, metadados de probe (codec, taxa de amostragem, canais), licença e proveniência — e é isso que deixa a curadoria honesta depois, porque você sempre sabe de onde o arquivo veio.
Escutar e revisar
Uma única área Explorer lista cada gravação com reprodução embutida, waveform, espectrograma e seleção temporal. A revisão funciona pelo teclado: j e k navegam, 1–4 decidem. Selecionar uma gravação abre o inspetor com abas de transporte, decisões, segmentos, transcrição, falantes, problemas e anotações, então o detalhe técnico fica sob demanda em vez de encher a tela.
As decisões são keep, review, quarantine e reject, e são reversíveis. O player persistente mantém o canvas de waveform e o espectrograma disponíveis enquanto você anda pelo conjunto, e é isso que torna revisar duzentos arquivos possível.
Análise em estágios
Analyze é uma progressão com portões: Files, Risk, Speech, Release. Cada portão mostra uma checagem principal, sua configuração, os fatos do resultado e o que o próximo libera. Checagens avançadas ficam atrás de uma divulgação, e nada roda antes de você pedir.
Checagens de qualidade — silêncio, clipping, RMS baixo, duração zero — produzem problemas com evidência em vez de rejeição automática. Essa distinção é o princípio de projeto: a ferramenta expõe o problema, você decide se a gravação é inutilizável. O mesmo vale para a varredura de PII e segredo na transcrição, para os grupos de duplicata exata, re-codificada e acústica, e para as checagens de vazamento.
Segmentos, falantes e versões
Segmentos são cortados e clipes são derivados com o arquivo bruto intacto. Anotações são rubricas temporais, e falantes são registrados com turnos, consentimento e sessões de gravação. As divisões são determinísticas e cientes do falante.
Versões mantêm um ledger de checkpoint com linhagem e checksums, diff e confirmação de restauração como novo checkpoint — nada é sobrescrito. Retirada de falante e de áudio mantém trilha de auditoria, que é a parte que a maioria das ferramentas de dataset deixa de fora.
Exportação
A exportação é um wizard de quatro passos — bloqueios de prontidão, pacote, conteúdo, exportação — com a ação final desativada até todo bloqueio sair. Formatos: kaldi, rttm, textgrid, lhotse, hf (parquet), webdataset, audformat-style e jsonl. Cada exportação leva manifesto, checksums e relatórios de licença, consentimento, qualidade, proveniência e split, e a validação estrita bloqueia pacote enganoso.
Como instalar
Os requisitos são Python 3.11+, uv, Node 20+ ou Bun e, opcionalmente, FFmpeg ou ffprobe no PATH — WAV puro funciona só com a biblioteca padrão.
git clone https://github.com/artificialguybr/voice-dataset-studio.git
cd voice-dataset-studio
python tools/setup.py
cp .env.example .env # opcional; o app roda sem
python tools/start.py
O app abre em http://127.0.0.1:8767. No PowerShell do Windows use py tools\setup.py e py tools\start.py. O setup.py instala dependência do backend com uv e do frontend com Bun ou npm; o start.py serve o frontend compilado pelo processo da API e trata Ctrl+C em qualquer sistema.
As capacidades de fala são extras opcionais e a instalação base fica leve:
uv sync --extra speech # whisperx + pyannote.audio
uv sync --extra features # embeddings do speechbrain
uv sync --extra augmentation # receitas do audiomentations
uv sync --extra export # escritores nativos lhotse/audformat
Provider ausente falha o job com explicação acionável em vez de devolver resultado falso, e a disponibilidade do provider fica sempre visível em GET /api/providers e em Settings.
Plugins, MCP e API
Settings expõe a mesma costura de extensão modular dos outros Dataset Studios, e o repositório traz packs de áudio: audio-local para recursos de RMS, pico e duração mais impressões acústicas; speech-local para transcrição WhisperX mais diarização e VAD do pyannote; e audio-export para checagens de disponibilidade de Lhotse e audformat. Packs são compilados do código rastreado com uv run python plugins/build_packs.py --plugin all e instalados em Settings ou por POST /api/plugins/install. Os plugins usam o protocolo JSONL ids-plugin.v1, processos persistentes, permissões mínimas, contenção de caminho, timeout e descarregamento ocioso.
Um servidor MCP stdio acompanha o projeto para Claude Desktop, Cursor e outros clientes MCP: suba a API, copie o mcp-config.example.json com o caminho do seu repositório e rode uv run python -m backend.mcp_server. Ele expõe saúde, listagem de dataset, busca e inspeção de áudio, comparação de segmento, revisão de problema, decisão explícita de áudio, propostas de transcrição, alinhamento e diarização, atribuição de turno de falante, jobs assíncronos, versões com diff, retirada com ids explícitos e exportações — contra a mesma API REST local, então valem as mesmas regras de validação.
O serviço FastAPI é a superfície completa de integração: GET /api/health e GET /api/openapi.json dão o contrato, e os grupos cobrem datasets, importações e jobs, áudio, decisões, problemas, segmentos, transcrições, falantes, anotações, consentimento, proveniência, recursos, duplicatas, vazamento, splits, versões, retirada, exportações e providers.
Quando usar, quando não usar
Use quando você tem áudio bruto e precisa de um pacote pronto para treino com trilha de auditoria, quando uma exportação anterior foi recusada pelo treinador por um motivo que você não conseguia ver, ou quando duas pessoas editaram a mesma árvore de pastas e você não sabe mais o que está lá.
Não use como framework de treino e não espere que ele treine alguma coisa. O README é explícito: curadoria, não treino. E não espere que as checagens automáticas decidam por você — silêncio, clipping, duplicata e PII chegam como sugestão com evidência, e toda uma precisa da sua decisão.
Sources
- Voice Dataset Studio — repositório — tour do produto, lista de recursos, requisitos, comandos de instalação, tabela de providers, packs de plugin, MCP e grupos da API citados acima.
- README.md — comandos de instalação e execução, extras, formatos de exportação, licença (MIT).
Página do projeto: Voice Dataset Studio
Para o lado de imagem do mesmo fluxo, veja criação automática de dataset para treino de LoRA, e para o que um bom dataset precisa antes de tudo, montar um dataset de treino.
O repositório tem licença MIT. O arquivo bruto nunca é modificado, então decisão ruim é sempre reversível.
FAQ
Ele treina modelo? Não. O README o chama de estúdio de curadoria de dataset, não de framework de treino: ele prepara e valida o dataset, e o treinador fica separado.
Precisa de GPU? Não. SQLite é o banco local padrão e o suporte a GPU é opcional, só para providers locais selecionados.
A checagem de qualidade rejeita gravação ruim sozinha? Não. Checagem de silêncio, clipping, RMS baixo e duração zero produz problema com evidência; a decisão de rejeitar é sua e é reversível.
Para onde vai o dataset exportado? Para lugar nenhum sozinho. A exportação é um wizard de quatro passos que escreve um pacote com manifesto, checksums e relatórios, e bloqueia a ação final até todo bloqueio de prontidão sair.