Providers
الكلام من Azure
Azure Speech هو موفّر تحويل النص إلى كلام مضمّن من Azure AI Speech. يستدعي OpenClaw
واجهة Azure Speech REST API مباشرةً باستخدام SSML، وينشئ ملفات MP3 للردود
العادية، وملفات Ogg/Opus أصلية للملاحظات الصوتية، وصوت mulaw بتردد 8 kHz
لقنوات الاتصالات الهاتفية مثل المكالمات الصوتية. يرسل الطلب تنسيق الإخراج المملوك للموفّر
عبر ترويسة X-Microsoft-OutputFormat.
| التفصيل | القيمة |
|---|---|
| معرّف الموفّر | azure-speech (الاسم البديل: azure) |
| الموقع الإلكتروني | Azure AI Speech |
| الوثائق | تحويل النص إلى كلام عبر Speech REST |
| المصادقة | AZURE_SPEECH_KEY بالإضافة إلى AZURE_SPEECH_REGION |
| الصوت الافتراضي | en-US-JennyNeural |
| إخراج الملف الافتراضي | audio-24khz-48kbitrate-mono-mp3 |
| ملف الملاحظة الصوتية الافتراضي | ogg-24khz-16bit-mono-opus |
البدء
إنشاء مورد Azure Speech
في بوابة Azure، أنشئ مورد Speech. انسخ KEY 1 من
Resource Management > Keys and Endpoint، وانسخ موقع المورد
مثل eastus.
AZURE_SPEECH_KEY=<speech-resource-key>AZURE_SPEECH_REGION=eastusتحديد Azure Speech في messages.tts
{ messages: { tts: { auto: "always", provider: "azure-speech", providers: { "azure-speech": { voice: "en-US-JennyNeural", lang: "en-US", }, }, }, },}إرسال رسالة
أرسل ردًا عبر أي قناة متصلة. ينشئ OpenClaw الصوت باستخدام Azure Speech ويوصّل MP3 للصوت العادي، أو Ogg/Opus عندما تتوقع القناة ملاحظة صوتية.
خيارات التكوين
توجد جميع الخيارات ضمن messages.tts.providers["azure-speech"].
| الخيار | الوصف |
|---|---|
apiKey |
مفتاح مورد Azure Speech. يعود احتياطيًا إلى AZURE_SPEECH_KEY أو AZURE_SPEECH_API_KEY أو SPEECH_KEY. |
region |
منطقة مورد Azure Speech. تعود احتياطيًا إلى AZURE_SPEECH_REGION أو SPEECH_REGION. |
endpoint |
تجاوز اختياري لنقطة نهاية Azure Speech. يعود احتياطيًا إلى AZURE_SPEECH_ENDPOINT الموثوق. |
baseUrl |
تجاوز اختياري لعنوان URL الأساسي لـ Azure Speech. |
voice |
الاسم المختصر ShortName لصوت Azure (الافتراضي en-US-JennyNeural). الاسم البديل القديم: voiceId. |
lang |
رمز لغة SSML (الافتراضي en-US). |
outputFormat |
تنسيق إخراج ملف الصوت (الافتراضي audio-24khz-48kbitrate-mono-mp3). |
voiceNoteOutputFormat |
تنسيق إخراج الملاحظة الصوتية (الافتراضي ogg-24khz-16bit-mono-opus). |
timeoutMs |
تجاوز مهلة الطلب بالمللي ثانية. يعود احتياطيًا إلى messages.tts.timeoutMs العام. |
يُعدّ الموفّر مكوّنًا بمجرد تعيين apiKey بالإضافة إلى واحد من
region أو endpoint أو baseUrl. لا يجري التحقق من متغيرات البيئة إلا كخيار احتياطي
لمفاتيح التكوين التي لم تُعيّن. لا يمكن لملفات .env الخاصة بمساحة العمل تعيين
AZURE_SPEECH_ENDPOINT؛ استخدم بيئة العملية أو ملف dotenv العام لوقت التشغيل
أو تكوينًا صريحًا لتوجيه نقطة النهاية.
ملاحظات
المصادقة
يستخدم Azure Speech مفتاح مورد Speech، وليس مفتاح Azure OpenAI. يُرسل المفتاح
بوصفه Ocp-Apim-Subscription-Key؛ ويشتق OpenClaw
https://<region>.tts.speech.microsoft.com من region ما لم
توفّر endpoint أو baseUrl.
أسماء الأصوات
استخدم قيمة ShortName لصوت Azure Speech، مثل
en-US-JennyNeural. يستطيع الموفّر المضمّن سرد الأصوات عبر
مورد Speech نفسه، ويستبعد الأصوات المعلّمة بأنها مهملة أو متقاعدة
أو معطّلة.
مخرجات الصوت
يقبل Azure تنسيقات إخراج مثل audio-24khz-48kbitrate-mono-mp3
وogg-24khz-16bit-mono-opus وriff-24khz-16bit-mono-pcm. يطلب OpenClaw
تنسيق Ogg/Opus لأهداف voice-note حتى تتمكن القنوات من إرسال فقاعات صوتية أصلية
من دون تحويل إضافي إلى MP3، ويفرض
raw-8khz-8bit-mono-mulaw لأهداف الاتصالات الهاتفية.
الاسم البديل
يُقبل azure كاسم بديل للموفّر في التكوين الحالي، لكن ينبغي أن يستخدم
التكوين الجديد azure-speech لتجنب الخلط مع موفّري نماذج Azure OpenAI.