marcosremar2's picture
FORCE RESTART: Complete space redeploy with restart triggers (secure)
9d4187c

A newer version of the Gradio SDK is available: 6.13.0

Upgrade
metadata
title: Pyannote PT Diarization
emoji: 🎭
colorFrom: purple
colorTo: pink
sdk: gradio
sdk_version: 4.44.1
app_file: app.py
pinned: false
license: apache-2.0
python_version: 3.11
hardware: t4-small
restart_trigger: force_restart_20250531

🎭 Pyannote Speaker Diarization

Sistema de diarização de speakers usando Pyannote Audio 3.1, otimizado para português brasileiro.

🚀 Características

  • Detecção Automática: Identifica automaticamente quantos speakers estão falando
  • Segmentação Precisa: Determina exatamente quando cada speaker fala
  • GPU Dinâmica: Usa GPU quando disponível, fallback para CPU
  • Múltiplos Formatos: Suporta WAV, MP3, FLAC e outros
  • Interface Simples: Gradio interface amigável

📊 Funcionalidades

Input

  • Arquivo de áudio (qualquer formato suportado)

Output

  • Número de speakers detectados
  • Segmentação temporal (início/fim de cada fala)
  • Identificação de speaker para cada segmento
  • Dados em JSON para processamento posterior

🔧 Como Usar

  1. Upload do Áudio: Carregue seu arquivo de áudio
  2. Processar: Clique em "Realizar Diarization"
  3. Resultados: Veja a segmentação e speakers detectados

⚙️ Configuração

Variáveis de Ambiente

HUGGINGFACE_TOKEN=your_token_here  # Necessário para o modelo pyannote/speaker-diarization-3.1

Importante: Para usar este space é necessário:

  1. Aceitar os termos de uso do modelo em: https://huggingface.co/pyannote/speaker-diarization-3.1
  2. Criar um token de acesso no Hugging Face
  3. Configurar o token como variável de ambiente no space

Hardware

  • CPU: Funciona, mas mais lento
  • GPU: Recomendado para performance (T4, V100, A100)
  • RAM: Mínimo 8GB, recomendado 16GB+

🎯 Casos de Uso

  • Transcrição de Reuniões: Separar falas por participante
  • Análise de Entrevistas: Distinguir entrevistador/entrevistado
  • Podcasts: Identificar diferentes hosts/convidados
  • Call Centers: Separar cliente/atendente
  • Pesquisa Acadêmica: Análise de conversações

📈 Performance

  • Precisão: ~95% para áudios limpos
  • Velocidade: ~0.1x tempo real em GPU T4
  • Idiomas: Otimizado para português, funciona com outros

🔍 Status da API

Use o botão "Status do Serviço" para verificar:

  • Disponibilidade da GPU
  • Modelo carregado
  • Informações do sistema

📚 Documentação Técnica

Modelo Base

  • pyannote/speaker-diarization-3.1
  • Estado da arte em diarização
  • Suporte multilíngue
  • Otimizações para conversações

Formato de Saída

{
  "status": "success",
  "segments": [
    {
      "start": 0.0,
      "end": 2.5,
      "duration": 2.5,
      "speaker": "SPEAKER_00"
    }
  ],
  "num_speakers": 2,
  "speakers": ["SPEAKER_00", "SPEAKER_01"],
  "total_duration": 120.5,
  "processing_time": 12.3,
  "model": "pyannote/speaker-diarization-3.1"
}

🤝 Contribuição

Este space faz parte do projeto ASR Benchmark Portuguese, desenvolvido para comparação de sistemas de reconhecimento de fala em português.

📄 Licença

Apache 2.0 - Veja LICENSE para detalhes.