Metinden konuşmaya (TTS)
OpenClaw, ElevenLabs, Microsoft, MiniMax veya OpenAI kullanarak giden yanıtları sese dönüştürebilir. OpenClaw’ın ses gönderebildiği her yerde çalışır.Desteklenen hizmetler
- ElevenLabs (birincil veya yedek sağlayıcı)
- Microsoft (birincil veya yedek sağlayıcı; mevcut paketlenmiş uygulama
node-edge-ttskullanır) - MiniMax (birincil veya yedek sağlayıcı; T2A v2 API’sini kullanır)
- OpenAI (birincil veya yedek sağlayıcı; ayrıca özetler için kullanılır)
Microsoft konuşma notları
Paketlenmiş Microsoft konuşma sağlayıcısı şu anda Microsoft Edge’in çevrimiçi nöral TTS hizmetininode-edge-tts kitaplığı üzerinden kullanır. Barındırılan bir hizmettir (yerel
değil), Microsoft uç noktalarını kullanır ve API anahtarı gerektirmez.
node-edge-tts, konuşma yapılandırma seçeneklerini ve çıktı biçimlerini sunar, ancak
tüm seçenekler hizmet tarafından desteklenmez. Eski yapılandırma ve yönerge girdisi
olarak edge hâlâ çalışır ve microsoft olarak normalize edilir.
Bu yol, yayımlanmış bir SLA veya kota olmadan herkese açık bir web hizmeti olduğu için,
onu en iyi çaba düzeyinde değerlendirin. Garantili sınırlar ve destek gerekiyorsa OpenAI
veya ElevenLabs kullanın.
İsteğe bağlı anahtarlar
OpenAI, ElevenLabs veya MiniMax istiyorsanız:ELEVENLABS_API_KEY(veyaXI_API_KEY)MINIMAX_API_KEYOPENAI_API_KEY
summaryModel değerini (veya agents.defaults.model.primary) kullanır,
bu nedenle özetlemeyi etkinleştirirseniz o sağlayıcının da kimliği doğrulanmış olması gerekir.
Hizmet bağlantıları
- OpenAI Text-to-Speech guide
- OpenAI Audio API reference
- ElevenLabs Text to Speech
- ElevenLabs Authentication
- MiniMax T2A v2 API
- node-edge-tts
- Microsoft Speech output formats
Varsayılan olarak etkin mi?
Hayır. Otomatik TTS varsayılan olarak kapalıdır. Yapılandırmadamessages.tts.auto ile veya oturum başına /tts always (takma ad: /tts on) ile etkinleştirin.
messages.tts.provider ayarlanmamışsa OpenClaw, kayıt defteri otomatik seçim sırasındaki
ilk yapılandırılmış konuşma sağlayıcısını seçer.
Yapılandırma
TTS yapılandırmasıopenclaw.json içinde messages.tts altında bulunur.
Tam şema Gateway configuration sayfasındadır.
En düşük yapılandırma (etkinleştirme + sağlayıcı)
Birincil OpenAI, yedek ElevenLabs
Birincil Microsoft (API anahtarı yok)
Birincil MiniMax
Microsoft konuşmayı devre dışı bırakma
Özel sınırlar + prefs yolu
Yalnızca gelen bir sesli mesajdan sonra sesle yanıt ver
Uzun yanıtlar için otomatik özeti devre dışı bırakma
Alanlarla ilgili notlar
auto: otomatik TTS modu (off,always,inbound,tagged).inbound, yalnızca gelen bir sesli mesajdan sonra ses gönderir.tagged, yalnızca yanıt[[tts]]etiketleri içerdiğinde ses gönderir.
enabled: eski açma/kapama seçeneği (doctor bunuautodeğerine taşır).mode:"final"(varsayılan) veya"all"(araç/blok yanıtlarını da içerir).provider:"elevenlabs","microsoft","minimax"veya"openai"gibi konuşma sağlayıcı kimliği (yedek otomatik olarak yapılır).providerayarlanmamışsa, OpenClaw kayıt defteri otomatik seçim sırasındaki ilk yapılandırılmış konuşma sağlayıcısını kullanır.- Eski
provider: "edge"hâlâ çalışır vemicrosoftolarak normalize edilir. summaryModel: otomatik özet için isteğe bağlı düşük maliyetli model; varsayılan olarakagents.defaults.model.primarykullanılır.provider/modelveya yapılandırılmış model takma adını kabul eder.
modelOverrides: modelin TTS yönergeleri üretmesine izin verir (varsayılan olarak açık).allowProvidervarsayılan olarakfalsedeğerindedir (sağlayıcı değiştirme isteğe bağlıdır).
providers.<id>: konuşma sağlayıcı kimliğine göre anahtarlanan, sağlayıcının sahip olduğu ayarlar.- Eski doğrudan sağlayıcı blokları (
messages.tts.openai,messages.tts.elevenlabs,messages.tts.microsoft,messages.tts.edge) yükleme sırasında otomatik olarakmessages.tts.providers.<id>yapısına taşınır. maxTextLength: TTS girdisi için katı üst sınır (karakter). Aşılırsa/tts audiobaşarısız olur.timeoutMs: istek zaman aşımı (ms).prefsPath: yerel tercihler JSON yolu için geçersiz kılma (sağlayıcı/sınır/özet).apiKeydeğerleri ortam değişkenlerine geri döner (ELEVENLABS_API_KEY/XI_API_KEY,MINIMAX_API_KEY,OPENAI_API_KEY).providers.elevenlabs.baseUrl: ElevenLabs API temel URL’sini geçersiz kılar.providers.openai.baseUrl: OpenAI TTS uç noktasını geçersiz kılar.- Çözümleme sırası:
messages.tts.providers.openai.baseUrl->OPENAI_TTS_BASE_URL->https://api.openai.com/v1 - Varsayılan dışındaki değerler OpenAI uyumlu TTS uç noktaları olarak değerlendirilir, bu nedenle özel model ve ses adları kabul edilir.
- Çözümleme sırası:
providers.elevenlabs.voiceSettings:stability,similarityBoost,style:0..1useSpeakerBoost:true|falsespeed:0.5..2.0(1.0 = normal)
providers.elevenlabs.applyTextNormalization:auto|on|offproviders.elevenlabs.languageCode: 2 harfli ISO 639-1 (ör.en,de)providers.elevenlabs.seed:0..4294967295tamsayısı (en iyi çaba ile belirlenim)providers.minimax.baseUrl: MiniMax API temel URL’sini geçersiz kılar (varsayılanhttps://api.minimax.io, ortam:MINIMAX_API_HOST).providers.minimax.model: TTS modeli (varsayılanspeech-2.8-hd, ortam:MINIMAX_TTS_MODEL).providers.minimax.voiceId: ses tanımlayıcısı (varsayılanEnglish_expressive_narrator, ortam:MINIMAX_TTS_VOICE_ID).providers.minimax.speed: oynatma hızı0.5..2.0(varsayılan 1.0).providers.minimax.vol: ses seviyesi(0, 10](varsayılan 1.0; 0’dan büyük olmalıdır).providers.minimax.pitch: perde kaydırma-12..12(varsayılan 0).providers.microsoft.enabled: Microsoft konuşma kullanımına izin verir (varsayılantrue; API anahtarı yok).providers.microsoft.voice: Microsoft nöral ses adı (ör.en-US-MichelleNeural).providers.microsoft.lang: dil kodu (ör.en-US).providers.microsoft.outputFormat: Microsoft çıktı biçimi (ör.audio-24khz-48kbitrate-mono-mp3).- Geçerli değerler için Microsoft Speech çıktı biçimlerine bakın; tüm biçimler paketlenmiş Edge tabanlı taşıma tarafından desteklenmez.
providers.microsoft.rate/providers.microsoft.pitch/providers.microsoft.volume: yüzde dizeleri (ör.+10%,-5%).providers.microsoft.saveSubtitles: ses dosyasının yanına JSON altyazıları yazar.providers.microsoft.proxy: Microsoft konuşma istekleri için proxy URL’si.providers.microsoft.timeoutMs: istek zaman aşımı geçersiz kılması (ms).edge.*: aynı Microsoft ayarları için eski takma ad.
Model odaklı geçersiz kılmalar (varsayılan olarak açık)
Varsayılan olarak model, tek bir yanıt için TTS yönergeleri üretebilir.messages.tts.auto, tagged olduğunda sesi tetiklemek için bu yönergeler gereklidir.
Etkin olduğunda model, tek bir yanıt için sesi geçersiz kılmak üzere [[tts:...]] yönergeleri ve ayrıca
yalnızca seste görünmesi gereken ifadesel etiketler (kahkaha, şarkı söyleme işaretleri vb.)
sağlamak için isteğe bağlı bir [[tts:text]]...[[/tts:text]] bloğu üretebilir.
provider=... yönergeleri, modelOverrides.allowProvider: true olmadığı sürece yok sayılır.
Örnek yanıt yükü:
provider(kayıtlı konuşma sağlayıcısı kimliği, örneğinopenai,elevenlabs,minimaxveyamicrosoft;allowProvider: truegerektirir)voice(OpenAI sesi) veyavoiceId(ElevenLabs / MiniMax)model(OpenAI TTS modeli, ElevenLabs model kimliği veya MiniMax modeli)stability,similarityBoost,style,speed,useSpeakerBoostvol/volume(MiniMax ses seviyesi, 0-10)pitch(MiniMax perde, -12 ile 12 arası)applyTextNormalization(auto|on|off)languageCode(ISO 639-1)seed
Kullanıcı başına tercihler
Slash komutları yerel geçersiz kılmalarıprefsPath içine yazar (varsayılan:
~/.openclaw/settings/tts.json, OPENCLAW_TTS_PREFS veya
messages.tts.prefsPath ile geçersiz kılınabilir).
Saklanan alanlar:
enabledprovidermaxLength(özet eşiği; varsayılan 1500 karakter)summarize(varsayılantrue)
messages.tts.* değerlerini geçersiz kılar.
Çıktı biçimleri (sabit)
- Feishu / Matrix / Telegram / WhatsApp: Opus sesli mesajı (ElevenLabs’ten
opus_48000_64, OpenAI’danopus).- 48kHz / 64kbps, sesli mesaj için iyi bir dengedir.
- Diğer kanallar: MP3 (ElevenLabs’ten
mp3_44100_128, OpenAI’danmp3).- 44.1kHz / 128kbps, konuşma netliği için varsayılan dengedir.
- MiniMax: MP3 (
speech-2.8-hdmodeli, 32kHz örnekleme hızı). Sesli not biçimi doğal olarak desteklenmez; garantili Opus sesli mesajları için OpenAI veya ElevenLabs kullanın. - Microsoft:
microsoft.outputFormatkullanır (varsayılanaudio-24khz-48kbitrate-mono-mp3).- Paketlenmiş taşıma bir
outputFormatkabul eder, ancak tüm biçimler hizmetten alınamaz. - Çıktı biçimi değerleri Microsoft Speech çıktı biçimlerini izler (Ogg/WebM Opus dahil).
- Telegram
sendVoice, OGG/MP3/M4A kabul eder; garantili Opus sesli mesajları gerekiyorsa OpenAI/ElevenLabs kullanın. - Yapılandırılmış Microsoft çıktı biçimi başarısız olursa OpenClaw MP3 ile yeniden dener.
- Paketlenmiş taşıma bir
Otomatik TTS davranışı
Etkin olduğunda OpenClaw:- yanıt zaten medya veya
MEDIA:yönergesi içeriyorsa TTS’yi atlar. - çok kısa yanıtları (< 10 karakter) atlar.
- etkinse uzun yanıtları
agents.defaults.model.primary(veyasummaryModel) kullanarak özetler. - oluşturulan sesi yanıta ekler.
maxLength değerini aşarsa ve özet kapalıysa (veya özet modeli için API anahtarı yoksa),
ses atlanır ve normal metin yanıtı gönderilir.
Akış diyagramı
Slash komutu kullanımı
Tek bir komut vardır:/tts.
Etkinleştirme ayrıntıları için Slash commands sayfasına bakın.
Discord notu: /tts, yerleşik bir Discord komutudur, bu yüzden OpenClaw
orada yerel komut olarak /voice kaydeder. Metin olarak /tts ... yine de çalışır.
- Komutlar yetkili bir gönderici gerektirir (izin listesi/sahip kuralları yine geçerlidir).
commands.textveya yerel komut kaydı etkin olmalıdır.off|always|inbound|tagged, oturum başına açma/kapama seçenekleridir (/tts on,/tts alwaysiçin bir takma addır).limitvesummary, ana yapılandırmada değil, yerel tercihlerde saklanır./tts audio, tek seferlik bir sesli yanıt üretir (TTS’yi açmaz)./tts status, son deneme için yedek görünürlüğünü içerir:- başarılı yedek:
Fallback: <primary> -> <used>artıAttempts: ... - başarısızlık:
Error: ...artıAttempts: ... - ayrıntılı tanılama:
Attempt details: provider:outcome(reasonCode) latency
- başarılı yedek:
- OpenAI ve ElevenLabs API hataları artık ayrıştırılmış sağlayıcı hata ayrıntısını ve istek kimliğini (sağlayıcı tarafından döndürülürse) içerir; bu da TTS hata/günlüklerine yansıtılır.
Ajan aracı
tts aracı, metni konuşmaya dönüştürür ve
yanıt teslimi için bir ses eki döndürür. Kanal Feishu, Matrix, Telegram veya WhatsApp olduğunda,
ses bir dosya eki yerine sesli mesaj olarak teslim edilir.
Gateway RPC
Gateway yöntemleri:tts.statustts.enabletts.disabletts.converttts.setProvidertts.providers