Text-to-Speech Python ★ 78

mberg/kokoro-tts-mcp

Açık kaynaklı Kokoro TTS modellerini kullanan MCP Server ile metni konuşmaya dönüştürün. Metni yerel sürücüde MP3'e çevirebilir veya otomatik olarak S3 bucket'a yükleyebilirsiniz.

Claude Desktop config.json'a ekle

{
  "mcpServers": {
    "mberg-kokoro-tts-mcp": {
      "command": "python",
      "args": [
        "-m",
        "kokoro_tts_mcp"
      ]
    }
  }
}

Kokoro Metin Konuşmaya (TTS) MCP Sunucusu

Kokoro Metin Konuşmaya MCP sunucusu, S3'e yükleme seçeneği ile .mp3 dosyaları oluşturur.

Kullanılan: https://huggingface.co/spaces/hexgrad/Kokoro-TTS

Yapılandırma

Aşağıdakileri MCP yapılandırmalarınıza ekleyin. Kendi değerlerinizle güncelleyin.

  "kokoro-tts-mcp": {
      "command": "uv",
      "args": [
        "--directory",
        "/path/toyourlocal/kokoro-tts-mcp",
        "run",
        "mcp-tts.py"
      ],
      "env": {
        "TTS_VOICE": "af_heart",
        "TTS_SPEED": "1.0",
        "TTS_LANGUAGE": "en-us",
        "AWS_ACCESS_KEY_ID": "",
        "AWS_SECRET_ACCESS_KEY": "",
        "AWS_REGION": "us-east-1",
        "AWS_S3_FOLDER": "mp3",
        "S3_ENABLED": "true",
        "MP3_FOLDER": "/path/to/mp3"
      } 
    }

ffmpeg Kurulumu

Bu, .wav dosyalarını .mp3 dosyalarına dönüştürmek için gereklidir.

Mac için:

brew install ffmpeg

Yerel olarak çalıştırmak için bu değerleri .env dosyanıza ekleyin. env.example dosyasına bakın ve .env dosyasına kopyalayın, kendi değerlerinizle değiştirin.

Desteklenen Ortam Değişkenleri

  • AWS_ACCESS_KEY_ID: AWS erişim anahtarı kimliği
  • AWS_SECRET_ACCESS_KEY: AWS gizli erişim anahtarı
  • AWS_S3_BUCKET_NAME: S3 bucket adı
  • AWS_S3_REGION: S3 bölgesi (örn., us-east-1)
  • AWS_S3_FOLDER: S3 bucket içindeki klasör yolu
  • AWS_S3_ENDPOINT_URL: S3 uyumlu depolama için isteğe bağlı özel endpoint URL'si
  • MCP_HOST: Sunucunun bağlanacağı host (varsayılan: 0.0.0.0)
  • MCP_PORT: Dinlenecek port (varsayılan: 9876)
  • MCP_CLIENT_HOST: İstemci bağlantıları için hostname (varsayılan: localhost)
  • DEBUG: Debug modunu etkinleştir ("true" veya "1" olarak ayarla)
  • S3_ENABLED: S3 yüklemelerini etkinleştir ("true" veya "1" olarak ayarla)
  • MP3_FOLDER: MP3 dosyalarını depolamak için yol (varsayılan, script dizininde 'mp3' klasörü)
  • MP3_RETENTION_DAYS: Otomatik silmeden önce MP3 dosyalarını tutulacak gün sayısı
  • DELETE_LOCAL_AFTER_S3_UPLOAD: Başarılı S3 yüklemesinden sonra yerel MP3 dosyalarını silip silmeyeceğini belirt ("true" veya "1" olarak ayarla)
  • TTS_VOICE: TTS istemcisi için varsayılan ses (varsayılan: af_heart)
  • TTS_SPEED: TTS istemcisi için varsayılan hız (varsayılan: 1.0)
  • TTS_LANGUAGE: TTS istemcisi için varsayılan dil (varsayılan: en-us)

Sunucuyu Yerel Olarak Çalıştırma

Tercih edilen yöntem UV kullanmaktır

uv run mcp-tts.py

TTS İstemcisini Kullanma

mcp_client.py script'i sunucuya TTS istekleri göndermenize izin verir. Aşağıdaki şekilde kullanılabilir:

Bağlantı Ayarları

Sunucu ve istemci aynı makinede çalışırken:

  • Sunucu 0.0.0.0 (tüm arayüzler) veya 127.0.0.1 (sadece localhost) adresine bağlanmalıdır
  • İstemci localhost veya 127.0.0.1 adresine bağlanmalıdır

Temel Kullanım

python mcp_client.py --text "Hello, world!"

Metni Dosyadan Okuma

python mcp_client.py --file my_text.txt

Ses ve Hızı Özelleştirme

python mcp_client.py --text "Hello, world!" --voice "en_female" --speed 1.2

S3 Yüklemesini Devre Dışı Bırakma

python mcp_client.py --text "Hello, world!" --no-s3

Komut Satırı Seçenekleri

python mcp_client.py --help

MP3 Dosya Yönetimi

TTS sunucusu, yerel olarak depolanan ve isteğe bağlı olarak S3'e yüklenen MP3 dosyaları oluşturur. Bu dosyaların nasıl yönetildiğini yapılandırabilirsiniz:

Yerel Depolama

  • MP3 dosyalarının nerede depolandığını belirtmek için .env dosyanızda MP3_FOLDER seçeneğini ayarlayın
  • Dosyalar otomatik olarak silinmediği sürece bu klasörde tutulur

Otomatik Temizleme

  • Dosyaları belirtilen gün sayısından daha eski olduğunda otomatik olarak silmek için MP3_RETENTION_DAYS=30 (veya herhangi bir sayı) ayarlayın
  • Başarılı S3 yüklemesinden hemen sonra yerel dosyaları silmek için DELETE_LOCAL_AFTER_S3_UPLOAD=true ayarlayın

S3 Entegrasyonu

  • S3_ENABLED=true veya DISABLE_S3=true ile S3 yüklemelerini etkinleştirin/devre dışı bırakın
  • .env dosyasında AWS kimlik bilgilerini ve bucket ayarlarını yapılandırın
  • S3 yüklemeleri, istemcinin --no-s3 seçeneği kullanılarak istek başına devre dışı bırakılabilir

Benzer MCP sunucuları

Daha fazla: Text-to-Speech →