Chatterbox TTS
Gera áudio de texto para fala com reprodução automática usando o modelo Chatterbox TTS.
Documentação
Servidor MCP Chatterbox TTS
Um servidor simplificado do Model Context Protocol (MCP) que fornece geração de texto para fala com reprodução automática usando o modelo Chatterbox TTS. O servidor carrega o modelo automaticamente no primeiro uso e fornece notificações de progresso em tempo real para manter os usuários informados durante todo o processo.
Visão Geral
Este servidor MCP expõe a funcionalidade do Chatterbox TTS por meio de uma única ferramenta simplificada que gera fala a partir de texto e a reproduz automaticamente. O servidor gerencia carregamento do modelo, relatórios de progresso, gerenciamento de arquivos temporários e reprodução de áudio de forma integrada.
Recursos
Ferramenta Única: speak_text
A ferramenta speak_text fornece funcionalidade completa de texto para fala:
-
Parâmetros:
text(obrigatório): O texto a ser convertido em falaexaggeration(opcional): Controla a expressividade (0,0-1,0, padrão 0,5)cfg_weight(opcional): Controla a orientação sem classificador (0,0-1,0, padrão 0,5)
-
Recursos:
- Carregamento automático do modelo com notificações de progresso
- Gera fala usando arquivos temporários (limpeza automática)
- Reproduz áudio automaticamente no macOS usando
afplay - Atualizações de progresso em tempo real durante todas as fases:
- Inicialização e carregamento do modelo
- Geração de fala
- Reprodução de áudio
Recurso: chatterbox://model-info
Obtenha informações sobre o status do modelo TTS e os recursos do dispositivo:
- Status de carregamento do modelo (carregado/não carregado)
- Informações do dispositivo (MPS/CUDA/CPU)
- Disponibilidade de aceleração de hardware
Notificações de Progresso
O servidor fornece notificações detalhadas de progresso durante todo o processo de geração de fala:
-
Fase de Carregamento do Modelo:
- "Carregando modelo Chatterbox TTS..."
- "Inicializando dispositivo PyTorch..."
- "Carregando pesos do modelo..."
- "Modelo carregado com sucesso!"
-
Fase de Geração de Fala:
- "Iniciando geração de fala..."
- "Fala gerada, salvando em arquivo temporário..."
-
Fase de Reprodução:
- "Reproduzindo áudio..."
- "Reprodução de áudio concluída!"
-
Atualizações de Status:
- Seleção de dispositivo (MPS/CUDA/CPU)
- Uso de prompt de voz quando aplicável
- Mensagens de sucesso/erro
Instalação
-
Instalar dependências:
pip install mcp torch torchaudio -
Instalar Chatterbox TTS: Siga as instruções de instalação do Chatterbox TTS para garantir que o módulo
chatterbox.ttsesteja disponível.
Configuração
Armazenamento de Arquivos de Áudio
Por padrão, o servidor armazena arquivos de áudio em ~/.chatterbox/audio. Você pode configurar um local personalizado usando:
Argumento de linha de comando:
python chatterbox_mcp_server.py --audio-dir /path/to/custom/audio/directory
Variável de ambiente:
export CHATTERBOX_AUDIO_DIR="/path/to/custom/audio/directory"
python chatterbox_mcp_server.py
Ordem de prioridade:
- Argumento de linha de comando
--audio-dir(prioridade mais alta) - Variável de ambiente
CHATTERBOX_AUDIO_DIR - Padrão:
~/.chatterbox/audio(prioridade mais baixa)
TTL de Arquivos de Áudio (Tempo de Vida)
Por padrão, os arquivos de áudio são limpos automaticamente após 1 hora. Você pode configurar um TTL personalizado:
Argumento de linha de comando:
python chatterbox_mcp_server.py --audio-ttl-hours 24 # Keep files for 24 hours
Variável de ambiente:
export CHATTERBOX_AUDIO_TTL_HOURS=24
python chatterbox_mcp_server.py
Ordem de prioridade:
- Argumento de linha de comando
--audio-ttl-hours(prioridade mais alta) - Variável de ambiente
CHATTERBOX_AUDIO_TTL_HOURS - Padrão: 1 hora (prioridade mais baixa)
Carregamento Automático do Modelo
Por padrão, o modelo TTS é carregado no primeiro uso para minimizar o tempo de inicialização. Você pode pré-carregá-lo na inicialização:
Argumento de linha de comando:
python chatterbox_mcp_server.py --auto-load-model
Isso carregará o modelo durante a inicialização do servidor, o que leva alguns segundos, mas garante que a primeira solicitação TTS seja mais rápida.
Recursos de Armazenamento de Áudio:
- Os arquivos de áudio são armazenados de forma persistente com limpeza automática configurável
- Os arquivos são acessíveis via recursos
chatterbox://audio/{resource_id} - O diretório é criado automaticamente se não existir
- Suporta caminhos relativos (serão expandidos) e notação de diretório inicial
~
Uso
Executando o Servidor
Autônomo:
python chatterbox_mcp_server.py
Com ferramentas MCP:
mcp dev chatterbox_mcp_server.py
Integração com Claude Desktop
Adicione à sua configuração MCP do Claude Desktop:
Configuração básica:
{
"mcpServers": {
"chatterbox-tts": {
"command": "python",
"args": ["/path/to/chatterbox_mcp_server.py"],
"env": {}
}
}
}
Com configuração personalizada:
{
"mcpServers": {
"chatterbox-tts": {
"command": "python",
"args": [
"/path/to/chatterbox_mcp_server.py",
"--audio-dir", "/custom/audio/path",
"--auto-load-model",
"--audio-ttl-hours", "24"
],
"env": {
"CHATTERBOX_AUDIO_DIR": "/custom/audio/path",
"CHATTERBOX_AUDIO_TTL_HOURS": "24"
}
}
}
}
Exemplo de Uso a partir de LLM
-
Texto para fala básico:
Please use the speak_text tool to say "Hello, welcome to the Chatterbox TTS demonstration!" -
Fala expressiva:
Use speak_text to generate enthusiastic speech for "This is amazing!" with high expressiveness
A ferramenta automaticamente:
- Carregará o modelo se necessário (com atualizações de progresso)
- Gerará a fala
- Reproduzirá o áudio
- Limpará os arquivos temporários
- Fornecerá atualizações de status durante todo o processo
Detalhes Técnicos
Suporte a Dispositivos
- Apple Silicon (M1/M2/M3/M4): Usa aceleração MPS quando disponível
- GPUs NVIDIA: Usa CUDA quando disponível
- Fallback para CPU: Funciona em qualquer sistema
Processamento de Áudio
- Usa arquivos temporários para armazenamento de áudio
- Limpeza automática após a reprodução
- Saída em formato WAV
- Geração de áudio de alta qualidade
Gerenciamento do Modelo
- O modelo carrega uma vez no primeiro uso
- Compartilhado em todas as solicitações subsequentes
- Carregamento seguro para threads com rastreamento de progresso
- Detecção automática de dispositivo e otimização
Estrutura de Arquivos
chatterbox-mcp/
├── chatterbox_mcp_server.py # MCP server implementation
└── README.md # This documentation
Desenvolvimento
Principais Melhorias Nesta Versão
- Interface Simplificada: Ferramenta única
speak_textem vez de múltiplas ferramentas - Reprodução Automática: Sem necessidade de reproduzir manualmente os arquivos gerados
- Notificações de Progresso: Atualizações em tempo real sobre carregamento do modelo e geração
- Armazenamento Persistente de Áudio: Arquivos de áudio são armazenados com limpeza automática configurável
- Melhor Tratamento de Erros: Relatórios abrangentes de erros e recuperação
- Fluxo de Trabalho Simplificado: Um comando gera e reproduz fala
Solução de Problemas
Problemas Comuns:
-
Carregamento lento do modelo:
- O primeiro carregamento baixa os pesos do modelo
- Notificações de progresso mostram o status atual
- Usos subsequentes são muito mais rápidos
-
Problemas de reprodução de áudio:
- O comando
afplayé específico do macOS - Certifique-se de que o áudio do sistema esteja funcionando
- Verifique as configurações de volume
- O comando
-
Problemas de memória:
- O modelo requer memória significativa de GPU/CPU
- Monitore os recursos do sistema durante o carregamento
- Considere fechar outros aplicativos
-
Seleção de dispositivo:
- O servidor seleciona automaticamente o melhor dispositivo disponível
- Verifique o recurso de informações do modelo para o dispositivo atual
- MPS (Apple Silicon) > CUDA (NVIDIA) > CPU
Licença
Esta implementação do servidor MCP segue a mesma licença do modelo Chatterbox TTS subjacente.