إشعار
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تسجيل الدخول أو تغيير الدلائل.
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تغيير الدلائل.
في هذا البدء السريع، جرب نموذج النص إلى كلام من Azure Speech في أدوات Foundry Tools باستخدام Microsoft Foundry.
Prerequisites
- اشتراك Azure.
- مشروع مسبك. إذا كنت بحاجة لإنشاء مشروع، راجع إنشاء مشروع Microsoft Foundry.
تجربة تحويل النص إلى كلام
جرب تحويل النص إلى كلام في بوابة Foundry باتباع الخطوات التالية:
- تسجيل الدخول إلى Microsoft Foundry. تأكد من تفعيل مفتاح New Foundry . تشير هذه الخطوات إلى Foundry (جديد).
- حدد إنشاء من القائمة العلوية اليمنى.
- حدد النماذج في الجزء الأيمن.
- تعرض علامة التبويب خدمات الذكاء الاصطناعي نماذج الذكاء الاصطناعي Azure التي يمكن استخدامها خارج الصندوق في مدخل Foundry. حدد Azure Speech - تحويل النص إلى كلام لفتح ملعب تحويل النص إلى كلام.
- اختر صوتا تم إنشاؤه مسبقا من القائمة المنسدلة، وقم بضبطه اختياريا باستخدام أشرطة تمرير معلمة الموفر.
- أدخل نموذج النص في مربع النص.
- حدد تشغيل لسماع الصوت الاصطناعي يقرأ النص الخاص بك.
الوثائق | المرجعيةحزمة (NuGet) | عينات إضافية على GitHub
مع Azure Speech في أدوات Foundry، يمكنك تشغيل تطبيق يجمع صوتا شبيها بالإنسان لقراءة النص. يمكنك تغيير الصوت، وإدخال النص الذي سيتم التحدث به، والاستماع إلى الإخراج على سماعة الكمبيوتر.
Tip
يمكنك محاولة تحويل النص إلى كلام في Speech Studio Voice Gallery دون الاشتراك أو كتابة أي تعليمة برمجية.
Tip
جرب أداة Azure Speech Toolkit لبناء وتشغيل العينات بسهولة على Visual Studio Code.
Prerequisites
- اشتراك Azure. يمكنك إنشاء حساب مجانا.
- إنشاء مورد خدمات الذكاء الاصطناعي للكلام في مدخل Microsoft Azure.
- احصل على مفتاح مورد الكلام ونقطة النهاية. بعد نشر مورد Speech، حدد Go to resource لعرض المفاتيح وإدارتها.
إعداد البيئة
يتوفر Speech SDK كحزمة NuGet التي تنفذ .NET Standard 2.0. قم بتثبيت Speech SDK لاحقا في هذا الدليل باستخدام وحدة التحكم. للحصول على إرشادات التثبيت التفصيلية، راجع تثبيت Speech SDK.
تعيين متغيرات البيئة
تحتاج إلى التحقق من صحتك للوصول إلى أدوات Foundry. توضح لك هذه المقالة كيفية استخدام متغيرات البيئة لتخزين بيانات الاعتماد الخاصة بك. يمكنك بعد ذلك الوصول إلى متغيرات البيئة من التعليمات البرمجية الخاصة بك لمصادقة التطبيق الخاص بك. للإنتاج، استخدم طريقة أكثر أمانا لتخزين بيانات الاعتماد والوصول إليها.
Important
نوصي بمصادقة معرف Microsoft Entra مع الهويات المدارة لموارد Azure لتجنب تخزين بيانات الاعتماد مع التطبيقات التي تعمل في السحابة.
استخدم مفاتيح واجهة برمجة التطبيقات بحذر. لا تقم بتضمين مفتاح API مباشرة في التعليمات البرمجية الخاصة بك، ولا تنشره بشكل عام. إذا كنت تستخدم مفاتيح واجهة برمجة التطبيقات، فخزنها بأمان في Azure Key Vault، وقم بتدوير المفاتيح بانتظام، وتقييد الوصول إلى Azure Key Vault باستخدام التحكم في الوصول المستند إلى الدور وقيود الوصول إلى الشبكة. لمزيد من المعلومات حول استخدام مفاتيح واجهة برمجة التطبيقات بشكل آمن في تطبيقاتك، راجع مفاتيح واجهة برمجة التطبيقات باستخدام Azure Key Vault.
لمزيد من المعلومات حول أمان خدمات الذكاء الاصطناعي، راجع مصادقة الطلبات إلى خدمات Azure الذكاء الاصطناعي.
لتعيين متغيرات البيئة لمفتاح مورد Speech ونقطة النهاية، افتح نافذة وحدة التحكم، واتبع الإرشادات الخاصة بنظام التشغيل وبيئة التطوير.
- لتعيين
SPEECH_KEYمتغير البيئة، استبدل مفتاحك بأحد مفاتيح المورد الخاص بك. - لتعيين
ENDPOINTمتغير البيئة، استبدل نقطة النهاية بإحدى نقاط النهاية الخاصة بمورك.
setx SPEECH_KEY your-key
setx ENDPOINT your-endpoint
Note
إذا كنت بحاجة فقط إلى الوصول إلى متغيرات البيئة في وحدة التحكم الحالية، يمكنك تعيين متغير البيئة باستخدام set بدلا من setx.
بعد إضافة متغيرات البيئة، قد تحتاج إلى إعادة تشغيل أي برامج تحتاج إلى قراءة متغيرات البيئة، بما في ذلك نافذة وحدة التحكم. على سبيل المثال، إذا كنت تستخدم Visual Studio كمحرر، فقم بإعادة تشغيل Visual Studio قبل تشغيل المثال.
إنشاء التطبيق
اتبع هذه الخطوات لإنشاء تطبيق وحدة تحكم وتثبيت Speech SDK.
افتح نافذة موجه الأوامر في المجلد حيث تريد المشروع الجديد. قم بتشغيل هذا الأمر لإنشاء تطبيق وحدة تحكم باستخدام .NET CLI.
dotnet new consoleيقوم الأمر بإنشاء ملف Program.cs في دليل المشروع.
قم بتثبيت Speech SDK في مشروعك الجديد باستخدام .NET CLI.
dotnet add package Microsoft.CognitiveServices.Speechاستبدل محتويات Program.cs بالرمز التالي.
using System; using System.IO; using System.Threading.Tasks; using Microsoft.CognitiveServices.Speech; using Microsoft.CognitiveServices.Speech.Audio; class Program { // This example requires environment variables named "SPEECH_KEY" and "END_POINT" static string speechKey = Environment.GetEnvironmentVariable("SPEECH_KEY"); static string endpoint = Environment.GetEnvironmentVariable("END_POINT"); static void OutputSpeechSynthesisResult(SpeechSynthesisResult speechSynthesisResult, string text) { switch (speechSynthesisResult.Reason) { case ResultReason.SynthesizingAudioCompleted: Console.WriteLine($"Speech synthesized for text: [{text}]"); break; case ResultReason.Canceled: var cancellation = SpeechSynthesisCancellationDetails.FromResult(speechSynthesisResult); Console.WriteLine($"CANCELED: Reason={cancellation.Reason}"); if (cancellation.Reason == CancellationReason.Error) { Console.WriteLine($"CANCELED: ErrorCode={cancellation.ErrorCode}"); Console.WriteLine($"CANCELED: ErrorDetails=[{cancellation.ErrorDetails}]"); Console.WriteLine($"CANCELED: Did you set the speech resource key and endpoint values?"); } break; default: break; } } async static Task Main(string[] args) { var speechConfig = SpeechConfig.FromEndpoint(speechKey, endpoint); // The neural multilingual voice can speak different languages based on the input text. speechConfig.SpeechSynthesisVoiceName = "en-US-Ava:DragonHDLatestNeural"; using (var speechSynthesizer = new SpeechSynthesizer(speechConfig)) { // Get text from the console and synthesize to the default speaker. Console.WriteLine("Enter some text that you want to speak >"); string text = Console.ReadLine(); var speechSynthesisResult = await speechSynthesizer.SpeakTextAsync(text); OutputSpeechSynthesisResult(speechSynthesisResult, text); } Console.WriteLine("Press any key to exit..."); Console.ReadKey(); } }لتغيير لغة تركيب الكلام، استبدلها
en-US-Ava:DragonHDLatestNeuralبصوت آخر مدعوم.جميع الأصوات العصبية هي متعددة اللغات وطلاقة في لغتهم الخاصة والإنكليزية. على سبيل المثال، إذا كان نص الإدخال باللغة الإنجليزية متحمسا لتجربة النص إلى كلام وقمت بتعيينه
es-ES-Ximena:DragonHDLatestNeuralكلغة، يتم التحدث بالنص باللغة الإنجليزية بلكنة إسبانية. إذا كان الصوت لا يتحدث لغة نص الإدخال، فلن تقوم خدمة الكلام إخراج الصوت المركب.قم بتشغيل تطبيق وحدة التحكم الجديد لبدء تركيب الكلام إلى السماعة الافتراضية.
dotnet runأدخل بعض النصوص التي تريد التحدث بها. على سبيل المثال، اكتب أنا متحمس لمحاولة تحويل النص إلى كلام. حدد المفتاح Enter لسماع الكلام المركب.
Enter some text that you want to speak > I'm excited to try text to speech
Remarks
المزيد من خيارات تركيب الكلام
يستخدم SpeakTextAsync هذا التشغيل السريع العملية لتجميع كتلة نص قصيرة تقوم بإدخالها. يمكنك أيضا استخدام نص طويل النماذج من ملف والحصول على تحكم أدق في أنماط الصوت والمحترفين والإعدادات الأخرى.
- تعرف على كيفية تركيب الكلامونظرة عامة على لغة ترميز تركيب الكلام (SSML) للحصول على معلومات حول تركيب الكلام من ملف والتحكم بشكل أدق في أنماط الصوت والمحترفين والإعدادات الأخرى.
- راجع واجهة برمجة تطبيقات تجميع الدفعات للنص إلى كلام للحصول على معلومات حول تركيب نص طويل النموذج إلى كلام.
أصوات تحويل النص إلى كلام من OpenAI في Azure Speech in Foundry Tools
يتم أيضا دعم نص OpenAI لأصوات الكلام. انظر أصوات تحويل النص إلى كلام في OpenAI في Azure Speechوالأصوات متعددة اللغات. يمكنك استبدال en-US-Ava:DragonHDLatestNeural باسم صوت OpenAI معتمد مثل en-US-FableMultilingualNeural.
تنظيف الموارد
يمكنك استخدام مدخل Microsoft Azure أو واجهة سطر أوامر Azure (CLI) لإزالة مورد الكلام الذي قمت بإنشائه.
الوثائق | المرجعيةحزمة (NuGet) | عينات إضافية على GitHub
مع Azure Speech في أدوات Foundry، يمكنك تشغيل تطبيق يجمع صوتا شبيها بالإنسان لقراءة النص. يمكنك تغيير الصوت، وإدخال النص الذي سيتم التحدث به، والاستماع إلى الإخراج على سماعة الكمبيوتر.
Tip
يمكنك محاولة تحويل النص إلى كلام في Speech Studio Voice Gallery دون الاشتراك أو كتابة أي تعليمة برمجية.
Tip
جرب أداة Azure Speech Toolkit لبناء وتشغيل العينات بسهولة على Visual Studio Code.
Prerequisites
- اشتراك Azure. يمكنك إنشاء حساب مجانا.
- إنشاء مورد خدمات الذكاء الاصطناعي للكلام في مدخل Microsoft Azure.
- احصل على مفتاح مورد الكلام ونقطة النهاية. بعد نشر مورد Speech، حدد Go to resource لعرض المفاتيح وإدارتها.
إعداد البيئة
يتوفر Speech SDK كحزمة NuGet التي تنفذ .NET Standard 2.0. قم بتثبيت Speech SDK لاحقا في هذا الدليل. للحصول على إرشادات التثبيت التفصيلية، راجع تثبيت Speech SDK.
تعيين متغيرات البيئة
تحتاج إلى التحقق من صحتك للوصول إلى أدوات Foundry. توضح لك هذه المقالة كيفية استخدام متغيرات البيئة لتخزين بيانات الاعتماد الخاصة بك. يمكنك بعد ذلك الوصول إلى متغيرات البيئة من التعليمات البرمجية الخاصة بك لمصادقة التطبيق الخاص بك. للإنتاج، استخدم طريقة أكثر أمانا لتخزين بيانات الاعتماد والوصول إليها.
Important
نوصي بمصادقة معرف Microsoft Entra مع الهويات المدارة لموارد Azure لتجنب تخزين بيانات الاعتماد مع التطبيقات التي تعمل في السحابة.
استخدم مفاتيح واجهة برمجة التطبيقات بحذر. لا تقم بتضمين مفتاح API مباشرة في التعليمات البرمجية الخاصة بك، ولا تنشره بشكل عام. إذا كنت تستخدم مفاتيح واجهة برمجة التطبيقات، فخزنها بأمان في Azure Key Vault، وقم بتدوير المفاتيح بانتظام، وتقييد الوصول إلى Azure Key Vault باستخدام التحكم في الوصول المستند إلى الدور وقيود الوصول إلى الشبكة. لمزيد من المعلومات حول استخدام مفاتيح واجهة برمجة التطبيقات بشكل آمن في تطبيقاتك، راجع مفاتيح واجهة برمجة التطبيقات باستخدام Azure Key Vault.
لمزيد من المعلومات حول أمان خدمات الذكاء الاصطناعي، راجع مصادقة الطلبات إلى خدمات Azure الذكاء الاصطناعي.
لتعيين متغيرات البيئة لمفتاح مورد Speech ونقطة النهاية، افتح نافذة وحدة التحكم، واتبع الإرشادات الخاصة بنظام التشغيل وبيئة التطوير.
- لتعيين
SPEECH_KEYمتغير البيئة، استبدل مفتاحك بأحد مفاتيح المورد الخاص بك. - لتعيين
ENDPOINTمتغير البيئة، استبدل نقطة النهاية بإحدى نقاط النهاية الخاصة بمورك.
setx SPEECH_KEY your-key
setx ENDPOINT your-endpoint
Note
إذا كنت بحاجة فقط إلى الوصول إلى متغيرات البيئة في وحدة التحكم الحالية، يمكنك تعيين متغير البيئة باستخدام set بدلا من setx.
بعد إضافة متغيرات البيئة، قد تحتاج إلى إعادة تشغيل أي برامج تحتاج إلى قراءة متغيرات البيئة، بما في ذلك نافذة وحدة التحكم. على سبيل المثال، إذا كنت تستخدم Visual Studio كمحرر، فقم بإعادة تشغيل Visual Studio قبل تشغيل المثال.
إنشاء التطبيق
اتبع هذه الخطوات لإنشاء تطبيق وحدة تحكم وتثبيت Speech SDK.
إنشاء مشروع وحدة تحكم C++ في Visual Studio Community المسمى
SpeechSynthesis.استبدل محتويات SpeechSynthesis.cpp بالرمز التالي:
#include <iostream> #include <stdlib.h> #include <speechapi_cxx.h> using namespace Microsoft::CognitiveServices::Speech; using namespace Microsoft::CognitiveServices::Speech::Audio; std::string GetEnvironmentVariable(const char* name); int main() { // This example requires environment variables named "SPEECH_KEY" and "ENDPOINT" auto speechKey = GetEnvironmentVariable("SPEECH_KEY"); auto endpoint = GetEnvironmentVariable("ENDPOINT"); if ((size(speechKey) == 0) || (size(endpoint) == 0)) { std::cout << "Please set both SPEECH_KEY and ENDPOINT environment variables." << std::endl; return -1; } auto speechConfig = SpeechConfig::FromEndpoint(speechKey, endpoint); // The neural multilingual voice can speak different languages based on the input text. speechConfig->SetSpeechSynthesisVoiceName("en-US-Ava:DragonHDLatestNeural"); auto speechSynthesizer = SpeechSynthesizer::FromConfig(speechConfig); // Get text from the console and synthesize to the default speaker. std::cout << "Enter some text that you want to speak >" << std::endl; std::string text; getline(std::cin, text); auto result = speechSynthesizer->SpeakTextAsync(text).get(); // Checks result. if (result->Reason == ResultReason::SynthesizingAudioCompleted) { std::cout << "Speech synthesized to speaker for text [" << text << "]" << std::endl; } else if (result->Reason == ResultReason::Canceled) { auto cancellation = SpeechSynthesisCancellationDetails::FromResult(result); std::cout << "CANCELED: Reason=" << (int)cancellation->Reason << std::endl; if (cancellation->Reason == CancellationReason::Error) { std::cout << "CANCELED: ErrorCode=" << (int)cancellation->ErrorCode << std::endl; std::cout << "CANCELED: ErrorDetails=[" << cancellation->ErrorDetails << "]" << std::endl; std::cout << "CANCELED: Did you set the speech resource key and endpoint values?" << std::endl; } } std::cout << "Press enter to exit..." << std::endl; std::cin.get(); } std::string GetEnvironmentVariable(const char* name) { #if defined(_MSC_VER) size_t requiredSize = 0; (void)getenv_s(&requiredSize, nullptr, 0, name); if (requiredSize == 0) { return ""; } auto buffer = std::make_unique<char[]>(requiredSize); (void)getenv_s(&requiredSize, buffer.get(), requiredSize, name); return buffer.get(); #else auto value = getenv(name); return value ? value : ""; #endif }حدد أدوات> وحدةتحكم إدارة الحزم>. في وحدة تحكم مدير الحزم، قم بتشغيل هذا الأمر:
Install-Package Microsoft.CognitiveServices.Speechلتغيير لغة تركيب الكلام، استبدلها
en-US-Ava:DragonHDLatestNeuralبصوت آخر مدعوم.جميع الأصوات العصبية هي متعددة اللغات وطلاقة في لغتهم الخاصة والإنكليزية. على سبيل المثال، إذا كان نص الإدخال باللغة الإنجليزية متحمسا لتجربة النص إلى كلام وقمت بتعيين
es-ES-Ximena:DragonHDLatestNeural، يتم التحدث بالنص باللغة الإنجليزية بلكنة إسبانية. إذا كان الصوت لا يتحدث لغة نص الإدخال، فلن تقوم خدمة الكلام إخراج الصوت المركب.لبدء تركيب الكلام إلى السماعة الافتراضية، قم بإنشاء وتشغيل تطبيق وحدة التحكم الجديد.
أدخل بعض النصوص التي تريد التحدث بها. على سبيل المثال، اكتب أنا متحمس لمحاولة تحويل النص إلى كلام. حدد المفتاح Enter لسماع الكلام المركب.
Enter some text that you want to speak > I'm excited to try text to speech
Remarks
المزيد من خيارات تركيب الكلام
يستخدم SpeakTextAsync هذا التشغيل السريع العملية لتجميع كتلة نص قصيرة تقوم بإدخالها. يمكنك أيضا استخدام نص طويل النماذج من ملف والحصول على تحكم أدق في أنماط الصوت والمحترفين والإعدادات الأخرى.
- تعرف على كيفية تركيب الكلامونظرة عامة على لغة ترميز تركيب الكلام (SSML) للحصول على معلومات حول تركيب الكلام من ملف والتحكم بشكل أدق في أنماط الصوت والمحترفين والإعدادات الأخرى.
- راجع واجهة برمجة تطبيقات تجميع الدفعات للنص إلى كلام للحصول على معلومات حول تركيب نص طويل النموذج إلى كلام.
أصوات تحويل النص إلى كلام من OpenAI في Azure Speech in Foundry Tools
يتم أيضا دعم نص OpenAI لأصوات الكلام. انظر أصوات تحويل النص إلى كلام في OpenAI في Azure Speechوالأصوات متعددة اللغات. يمكنك استبدال en-US-Ava:DragonHDLatestNeural باسم صوت OpenAI معتمد مثل en-US-FableMultilingualNeural.
تنظيف الموارد
يمكنك استخدام مدخل Microsoft Azure أو واجهة سطر أوامر Azure (CLI) لإزالة مورد الكلام الذي قمت بإنشائه.
الوثائق | المرجعيةالحزمة (Go) | عينات إضافية على GitHub
مع Azure Speech في أدوات Foundry، يمكنك تشغيل تطبيق يجمع صوتا شبيها بالإنسان لقراءة النص. يمكنك تغيير الصوت، وإدخال النص الذي سيتم التحدث به، والاستماع إلى الإخراج على سماعة الكمبيوتر.
Tip
يمكنك محاولة تحويل النص إلى كلام في Speech Studio Voice Gallery دون الاشتراك أو كتابة أي تعليمة برمجية.
Tip
جرب أداة Azure Speech Toolkit لبناء وتشغيل العينات بسهولة على Visual Studio Code.
Prerequisites
- اشتراك Azure. يمكنك إنشاء حساب مجانا.
- أنشئ موردا في Foundry للكلام في بوابة Azure.
- احصل على مفتاح مورد الكلام والمنطقة. بعد نشر مورد Speech، حدد Go to resource لعرض المفاتيح وإدارتها.
إعداد البيئة
تثبيت Speech SDK للغة Go. للحصول على إرشادات التثبيت التفصيلية، راجع تثبيت Speech SDK.
تعيين متغيرات البيئة
تحتاج إلى التحقق من صحتك للوصول إلى أدوات Foundry. توضح لك هذه المقالة كيفية استخدام متغيرات البيئة لتخزين بيانات الاعتماد الخاصة بك. يمكنك بعد ذلك الوصول إلى متغيرات البيئة من التعليمات البرمجية الخاصة بك لمصادقة التطبيق الخاص بك. للإنتاج، استخدم طريقة أكثر أمانا لتخزين بيانات الاعتماد والوصول إليها.
Important
نوصي بمصادقة معرف Microsoft Entra مع الهويات المدارة لموارد Azure لتجنب تخزين بيانات الاعتماد مع التطبيقات التي تعمل في السحابة.
استخدم مفاتيح واجهة برمجة التطبيقات بحذر. لا تقم بتضمين مفتاح API مباشرة في التعليمات البرمجية الخاصة بك، ولا تنشره بشكل عام. إذا كنت تستخدم مفاتيح واجهة برمجة التطبيقات، فخزنها بأمان في Azure Key Vault، وقم بتدوير المفاتيح بانتظام، وتقييد الوصول إلى Azure Key Vault باستخدام التحكم في الوصول المستند إلى الدور وقيود الوصول إلى الشبكة. لمزيد من المعلومات حول استخدام مفاتيح واجهة برمجة التطبيقات بشكل آمن في تطبيقاتك، راجع مفاتيح واجهة برمجة التطبيقات باستخدام Azure Key Vault.
لمزيد من المعلومات حول أمان خدمات الذكاء الاصطناعي، راجع مصادقة الطلبات إلى خدمات Azure الذكاء الاصطناعي.
لتعيين متغيرات البيئة لمفتاح مورد الكلام والمنطقة، افتح نافذة وحدة التحكم، واتبع الإرشادات الخاصة بنظام التشغيل وبيئة التطوير.
- لتعيين
SPEECH_KEYمتغير البيئة، استبدل مفتاحك بأحد مفاتيح المورد الخاص بك. - لتعيين
SPEECH_REGIONمتغير البيئة، استبدل منطقتك بإحدى مناطق المورد الخاص بك. - لتعيين
ENDPOINTمتغير البيئة، استبدلyour-endpointبنقطة النهاية الفعلية لمورد الكلام.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region
setx ENDPOINT your-endpoint
Note
إذا كنت بحاجة فقط إلى الوصول إلى متغيرات البيئة في وحدة التحكم الحالية، يمكنك تعيين متغير البيئة باستخدام set بدلا من setx.
بعد إضافة متغيرات البيئة، قد تحتاج إلى إعادة تشغيل أي برامج تحتاج إلى قراءة متغيرات البيئة، بما في ذلك نافذة وحدة التحكم. على سبيل المثال، إذا كنت تستخدم Visual Studio كمحرر، فقم بإعادة تشغيل Visual Studio قبل تشغيل المثال.
إنشاء التطبيق
اتبع هذه الخطوات لإنشاء وحدة نمطية Go.
افتح نافذة موجه الأوامر في المجلد حيث تريد المشروع الجديد. قم بإنشاء ملف جديد باسم speech-synthesis.go.
انسخ الكود التالي إلى speech-synthesis.go:
package main import ( "bufio" "fmt" "os" "strings" "time" "github.com/Microsoft/cognitive-services-speech-sdk-go/audio" "github.com/Microsoft/cognitive-services-speech-sdk-go/common" "github.com/Microsoft/cognitive-services-speech-sdk-go/speech" ) func synthesizeStartedHandler(event speech.SpeechSynthesisEventArgs) { defer event.Close() fmt.Println("Synthesis started.") } func synthesizingHandler(event speech.SpeechSynthesisEventArgs) { defer event.Close() fmt.Printf("Synthesizing, audio chunk size %d.\n", len(event.Result.AudioData)) } func synthesizedHandler(event speech.SpeechSynthesisEventArgs) { defer event.Close() fmt.Printf("Synthesized, audio length %d.\n", len(event.Result.AudioData)) } func cancelledHandler(event speech.SpeechSynthesisEventArgs) { defer event.Close() fmt.Println("Received a cancellation.") } func main() { // This example requires environment variables named "SPEECH_KEY" and "SPEECH_REGION" speechKey := os.Getenv("SPEECH_KEY") speechRegion := os.Getenv("SPEECH_REGION") audioConfig, err := audio.NewAudioConfigFromDefaultSpeakerOutput() if err != nil { fmt.Println("Got an error: ", err) return } defer audioConfig.Close() speechConfig, err := speech.NewSpeechConfigFromSubscription(speechKey, speechRegion) if err != nil { fmt.Println("Got an error: ", err) return } defer speechConfig.Close() speechConfig.SetSpeechSynthesisVoiceName("en-US-Ava:DragonHDLatestNeural") speechSynthesizer, err := speech.NewSpeechSynthesizerFromConfig(speechConfig, audioConfig) if err != nil { fmt.Println("Got an error: ", err) return } defer speechSynthesizer.Close() speechSynthesizer.SynthesisStarted(synthesizeStartedHandler) speechSynthesizer.Synthesizing(synthesizingHandler) speechSynthesizer.SynthesisCompleted(synthesizedHandler) speechSynthesizer.SynthesisCanceled(cancelledHandler) for { fmt.Printf("Enter some text that you want to speak, or enter empty text to exit.\n> ") text, _ := bufio.NewReader(os.Stdin).ReadString('\n') text = strings.TrimSuffix(text, "\n") if len(text) == 0 { break } task := speechSynthesizer.SpeakTextAsync(text) var outcome speech.SpeechSynthesisOutcome select { case outcome = <-task: case <-time.After(60 * time.Second): fmt.Println("Timed out") return } defer outcome.Close() if outcome.Error != nil { fmt.Println("Got an error: ", outcome.Error) return } if outcome.Result.Reason == common.SynthesizingAudioCompleted { fmt.Printf("Speech synthesized to speaker for text [%s].\n", text) } else { cancellation, _ := speech.NewCancellationDetailsFromSpeechSynthesisResult(outcome.Result) fmt.Printf("CANCELED: Reason=%d.\n", cancellation.Reason) if cancellation.Reason == common.Error { fmt.Printf("CANCELED: ErrorCode=%d\nCANCELED: ErrorDetails=[%s]\nCANCELED: Did you set the speech resource key and region values?\n", cancellation.ErrorCode, cancellation.ErrorDetails) } } } }لتغيير لغة تركيب الكلام، استبدلها
en-US-Ava:DragonHDLatestNeuralبصوت آخر مدعوم.جميع الأصوات العصبية هي متعددة اللغات وطلاقة في لغتهم الخاصة والإنكليزية. على سبيل المثال، إذا كان نص الإدخال باللغة الإنجليزية متحمسا لتجربة النص إلى كلام وقمت بتعيين
es-ES-Ximena:DragonHDLatestNeural، يتم التحدث بالنص باللغة الإنجليزية بلكنة إسبانية. إذا كان الصوت لا يتحدث لغة نص الإدخال، فلن تقوم خدمة الكلام إخراج الصوت المركب.قم بتشغيل الأوامر التالية لإنشاء ملف go.mod يرتبط بالمكونات المستضافة على GitHub:
go mod init speech-synthesis go get github.com/Microsoft/cognitive-services-speech-sdk-goالآن أنشئ التعليمة البرمجية وشغّلها:
go build go run speech-synthesis
Remarks
أصوات تحويل النص إلى كلام من OpenAI في Azure Speech in Foundry Tools
يتم أيضا دعم نص OpenAI لأصوات الكلام. انظر أصوات تحويل النص إلى كلام في OpenAI في Azure Speechوالأصوات متعددة اللغات. يمكنك استبدال en-US-Ava:DragonHDLatestNeural باسم صوت OpenAI معتمد مثل en-US-FableMultilingualNeural.
تنظيف الموارد
يمكنك استخدام مدخل Microsoft Azure أو واجهة سطر أوامر Azure (CLI) لإزالة مورد الكلام الذي قمت بإنشائه.
الوثائق | المرجعيةعينات إضافية على GitHub
مع Azure Speech في أدوات Foundry، يمكنك تشغيل تطبيق يجمع صوتا شبيها بالإنسان لقراءة النص. يمكنك تغيير الصوت، وإدخال النص الذي سيتم التحدث به، والاستماع إلى الإخراج على سماعة الكمبيوتر.
Tip
يمكنك محاولة تحويل النص إلى كلام في Speech Studio Voice Gallery دون الاشتراك أو كتابة أي تعليمة برمجية.
Tip
جرب أداة Azure Speech Toolkit لبناء وتشغيل العينات بسهولة على Visual Studio Code.
Prerequisites
- اشتراك Azure. يمكنك إنشاء حساب مجانا.
- إنشاء مورد خدمات الذكاء الاصطناعي للكلام في مدخل Microsoft Azure.
- احصل على مفتاح مورد الكلام ونقطة النهاية. بعد نشر مورد Speech، حدد Go to resource لعرض المفاتيح وإدارتها.
إعداد البيئة
لإعداد بيئتك، قم بتثبيت Speech SDK. تعمل العينة في هذا التشغيل السريع مع وقت تشغيل Java.
قم بتثبيت Apache Maven. ثم قم بتشغيل
mvn -vلتأكيد التثبيت الناجح.قم بإنشاء ملف pom.xml في جذر مشروعك ، وانسخ الكود التالي فيه:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.microsoft.cognitiveservices.speech.samples</groupId> <artifactId>quickstart-eclipse</artifactId> <version>1.0.0-SNAPSHOT</version> <build> <sourceDirectory>src</sourceDirectory> <plugins> <plugin> <artifactId>maven-compiler-plugin</artifactId> <version>3.7.0</version> <configuration> <source>1.8</source> <target>1.8</target> </configuration> </plugin> </plugins> </build> <dependencies> <dependency> <groupId>com.microsoft.cognitiveservices.speech</groupId> <artifactId>client-sdk</artifactId> <version>1.43.0</version> </dependency> </dependencies> </project>تثبيت Speech SDK والتبعيات.
mvn clean dependency:copy-dependencies
تعيين متغيرات البيئة
تحتاج إلى التحقق من صحتك للوصول إلى أدوات Foundry. توضح لك هذه المقالة كيفية استخدام متغيرات البيئة لتخزين بيانات الاعتماد الخاصة بك. يمكنك بعد ذلك الوصول إلى متغيرات البيئة من التعليمات البرمجية الخاصة بك لمصادقة التطبيق الخاص بك. للإنتاج، استخدم طريقة أكثر أمانا لتخزين بيانات الاعتماد والوصول إليها.
Important
نوصي بمصادقة معرف Microsoft Entra مع الهويات المدارة لموارد Azure لتجنب تخزين بيانات الاعتماد مع التطبيقات التي تعمل في السحابة.
استخدم مفاتيح واجهة برمجة التطبيقات بحذر. لا تقم بتضمين مفتاح API مباشرة في التعليمات البرمجية الخاصة بك، ولا تنشره بشكل عام. إذا كنت تستخدم مفاتيح واجهة برمجة التطبيقات، فخزنها بأمان في Azure Key Vault، وقم بتدوير المفاتيح بانتظام، وتقييد الوصول إلى Azure Key Vault باستخدام التحكم في الوصول المستند إلى الدور وقيود الوصول إلى الشبكة. لمزيد من المعلومات حول استخدام مفاتيح واجهة برمجة التطبيقات بشكل آمن في تطبيقاتك، راجع مفاتيح واجهة برمجة التطبيقات باستخدام Azure Key Vault.
لمزيد من المعلومات حول أمان خدمات الذكاء الاصطناعي، راجع مصادقة الطلبات إلى خدمات Azure الذكاء الاصطناعي.
لتعيين متغيرات البيئة لمفتاح مورد Speech ونقطة النهاية، افتح نافذة وحدة التحكم، واتبع الإرشادات الخاصة بنظام التشغيل وبيئة التطوير.
- لتعيين
SPEECH_KEYمتغير البيئة، استبدل مفتاحك بأحد مفاتيح المورد الخاص بك. - لتعيين
ENDPOINTمتغير البيئة، استبدل نقطة النهاية بإحدى نقاط النهاية الخاصة بمورك.
setx SPEECH_KEY your-key
setx ENDPOINT your-endpoint
Note
إذا كنت بحاجة فقط إلى الوصول إلى متغيرات البيئة في وحدة التحكم الحالية، يمكنك تعيين متغير البيئة باستخدام set بدلا من setx.
بعد إضافة متغيرات البيئة، قد تحتاج إلى إعادة تشغيل أي برامج تحتاج إلى قراءة متغيرات البيئة، بما في ذلك نافذة وحدة التحكم. على سبيل المثال، إذا كنت تستخدم Visual Studio كمحرر، فقم بإعادة تشغيل Visual Studio قبل تشغيل المثال.
إنشاء التطبيق
اتبع هذه الخطوات لإنشاء تطبيق وحدة تحكم للتعرف على الكلام.
قم بإنشاء ملف باسم SpeechSynthesis.java في نفس الدليل الجذر للمشروع.
انسخ الكود التالي إلى SpeechSynthesis.java:
import com.microsoft.cognitiveservices.speech.*; import com.microsoft.cognitiveservices.speech.audio.*; import java.util.Scanner; import java.util.concurrent.ExecutionException; public class SpeechSynthesis { // This example requires environment variables named "SPEECH_KEY" and "ENDPOINT" private static String speechKey = System.getenv("SPEECH_KEY"); private static String endpoint = System.getenv("ENDPOINT"); public static void main(String[] args) throws InterruptedException, ExecutionException { SpeechConfig speechConfig = SpeechConfig.fromEndpoint(speechKey, endpoint); speechConfig.setSpeechSynthesisVoiceName("en-US-Ava:DragonHDLatestNeural"); SpeechSynthesizer speechSynthesizer = new SpeechSynthesizer(speechConfig); // Get text from the console and synthesize to the default speaker. System.out.println("Enter some text that you want to speak >"); String text = new Scanner(System.in).nextLine(); if (text.isEmpty()) { return; } SpeechSynthesisResult speechSynthesisResult = speechSynthesizer.SpeakTextAsync(text).get(); if (speechSynthesisResult.getReason() == ResultReason.SynthesizingAudioCompleted) { System.out.println("Speech synthesized to speaker for text [" + text + "]"); } else if (speechSynthesisResult.getReason() == ResultReason.Canceled) { SpeechSynthesisCancellationDetails cancellation = SpeechSynthesisCancellationDetails.fromResult(speechSynthesisResult); System.out.println("CANCELED: Reason=" + cancellation.getReason()); if (cancellation.getReason() == CancellationReason.Error) { System.out.println("CANCELED: ErrorCode=" + cancellation.getErrorCode()); System.out.println("CANCELED: ErrorDetails=" + cancellation.getErrorDetails()); System.out.println("CANCELED: Did you set the speech resource key and endpoint values?"); } } System.exit(0); } }لتغيير لغة تركيب الكلام، استبدلها
en-US-Ava:DragonHDLatestNeuralبصوت آخر مدعوم.جميع الأصوات العصبية هي متعددة اللغات وطلاقة في لغتهم الخاصة والإنكليزية. على سبيل المثال، إذا كان نص الإدخال باللغة الإنجليزية متحمسا لتجربة النص إلى كلام وقمت بتعيين
es-ES-Ximena:DragonHDLatestNeural، يتم التحدث بالنص باللغة الإنجليزية بلكنة إسبانية. إذا كان الصوت لا يتحدث لغة نص الإدخال، فلن تقوم خدمة الكلام إخراج الصوت المركب.قم بتشغيل تطبيق وحدة التحكم لإخراج تركيب الكلام إلى السماعة الافتراضية.
javac SpeechSynthesis.java -cp ".;target\dependency\*" java -cp ".;target\dependency\*" SpeechSynthesisأدخل بعض النصوص التي تريد التحدث بها. على سبيل المثال، اكتب أنا متحمس لمحاولة تحويل النص إلى كلام. حدد المفتاح Enter لسماع الكلام المركب.
Enter some text that you want to speak > I'm excited to try text to speech
Remarks
المزيد من خيارات تركيب الكلام
يستخدم SpeakTextAsync هذا التشغيل السريع العملية لتجميع كتلة نص قصيرة تقوم بإدخالها. يمكنك أيضا استخدام نص طويل النماذج من ملف والحصول على تحكم أدق في أنماط الصوت والمحترفين والإعدادات الأخرى.
- تعرف على كيفية تركيب الكلامونظرة عامة على لغة ترميز تركيب الكلام (SSML) للحصول على معلومات حول تركيب الكلام من ملف والتحكم بشكل أدق في أنماط الصوت والمحترفين والإعدادات الأخرى.
- راجع واجهة برمجة تطبيقات تجميع الدفعات للنص إلى كلام للحصول على معلومات حول تركيب نص طويل النموذج إلى كلام.
أصوات تحويل النص إلى كلام من OpenAI في Azure Speech in Foundry Tools
يتم أيضا دعم نص OpenAI لأصوات الكلام. انظر أصوات تحويل النص إلى كلام في OpenAI في Azure Speechوالأصوات متعددة اللغات. يمكنك استبدال en-US-Ava:DragonHDLatestNeural باسم صوت OpenAI معتمد مثل en-US-FableMultilingualNeural.
تنظيف الموارد
يمكنك استخدام مدخل Microsoft Azure أو واجهة سطر أوامر Azure (CLI) لإزالة مورد الكلام الذي قمت بإنشائه.
الوثائق | المرجعيةالحزمة (npm) | عينات إضافية على GitHub | التعليمات البرمجية المصدر للمكتبة
مع Azure Speech في أدوات Foundry، يمكنك تشغيل تطبيق يجمع صوتا شبيها بالإنسان لقراءة النص. يمكنك تغيير الصوت، وإدخال النص الذي سيتم التحدث به، والاستماع إلى الإخراج على سماعة الكمبيوتر.
Tip
يمكنك محاولة تحويل النص إلى كلام في Speech Studio Voice Gallery دون الاشتراك أو كتابة أي تعليمة برمجية.
Tip
جرب أداة Azure Speech Toolkit لبناء وتشغيل العينات بسهولة على Visual Studio Code.
Prerequisites
- اشتراك Azure. يمكنك إنشاء حساب مجانا.
- أنشئ موردا في Foundry للكلام في بوابة Azure.
- احصل على مفتاح مورد الكلام والمنطقة. بعد نشر مورد Speech، حدد Go to resource لعرض المفاتيح وإدارتها.
الإعداد
أنشئ مجلدا
synthesis-quickstartجديدا وانتقل إلى مجلد التشغيل السريع باستخدام الأمر التالي:mkdir synthesis-quickstart && cd synthesis-quickstartpackage.jsonأنشئ باستخدام الأمر التالي:npm init -yتثبيت Speech SDK ل JavaScript باستخدام:
npm install microsoft-cognitiveservices-speech-sdk
استرداد معلومات المورد
تحتاج إلى التحقق من صحتك للوصول إلى أدوات Foundry. توضح لك هذه المقالة كيفية استخدام متغيرات البيئة لتخزين بيانات الاعتماد الخاصة بك. يمكنك بعد ذلك الوصول إلى متغيرات البيئة من التعليمات البرمجية الخاصة بك لمصادقة التطبيق الخاص بك. للإنتاج، استخدم طريقة أكثر أمانا لتخزين بيانات الاعتماد والوصول إليها.
Important
نوصي بمصادقة معرف Microsoft Entra مع الهويات المدارة لموارد Azure لتجنب تخزين بيانات الاعتماد مع التطبيقات التي تعمل في السحابة.
استخدم مفاتيح واجهة برمجة التطبيقات بحذر. لا تقم بتضمين مفتاح API مباشرة في التعليمات البرمجية الخاصة بك، ولا تنشره بشكل عام. إذا كنت تستخدم مفاتيح واجهة برمجة التطبيقات، فخزنها بأمان في Azure Key Vault، وقم بتدوير المفاتيح بانتظام، وتقييد الوصول إلى Azure Key Vault باستخدام التحكم في الوصول المستند إلى الدور وقيود الوصول إلى الشبكة. لمزيد من المعلومات حول استخدام مفاتيح واجهة برمجة التطبيقات بشكل آمن في تطبيقاتك، راجع مفاتيح واجهة برمجة التطبيقات باستخدام Azure Key Vault.
لمزيد من المعلومات حول أمان خدمات الذكاء الاصطناعي، راجع مصادقة الطلبات إلى خدمات Azure الذكاء الاصطناعي.
لتعيين متغيرات البيئة لمفتاح مورد الكلام والمنطقة، افتح نافذة وحدة التحكم، واتبع الإرشادات الخاصة بنظام التشغيل وبيئة التطوير.
- لتعيين
SPEECH_KEYمتغير البيئة، استبدل مفتاحك بأحد مفاتيح المورد الخاص بك. - لتعيين
SPEECH_REGIONمتغير البيئة، استبدل منطقتك بإحدى مناطق المورد الخاص بك. - لتعيين
ENDPOINTمتغير البيئة، استبدلyour-endpointبنقطة النهاية الفعلية لمورد الكلام.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region
setx ENDPOINT your-endpoint
Note
إذا كنت بحاجة فقط إلى الوصول إلى متغيرات البيئة في وحدة التحكم الحالية، يمكنك تعيين متغير البيئة باستخدام set بدلا من setx.
بعد إضافة متغيرات البيئة، قد تحتاج إلى إعادة تشغيل أي برامج تحتاج إلى قراءة متغيرات البيئة، بما في ذلك نافذة وحدة التحكم. على سبيل المثال، إذا كنت تستخدم Visual Studio كمحرر، فقم بإعادة تشغيل Visual Studio قبل تشغيل المثال.
تجميع الكلام إلى ملف
لترجمة الكلام من ملف:
قم بإنشاء ملف جديد باسم synthesis.js بالمحتوى التالي:
import { createInterface } from "readline"; import { SpeechConfig, AudioConfig, SpeechSynthesizer, ResultReason } from "microsoft-cognitiveservices-speech-sdk"; function synthesizeSpeech() { const audioFile = "YourAudioFile.wav"; // This example requires environment variables named "ENDPOINT" and "SPEECH_KEY" const speechConfig = SpeechConfig.fromEndpoint(new URL(ENDPOINT), process.env.SPEECH_KEY); const audioConfig = AudioConfig.fromAudioFileOutput(audioFile); // The language of the voice that speaks. speechConfig.speechSynthesisVoiceName = "en-US-Ava:DragonHDLatestNeural"; // Create the speech synthesizer. const synthesizer = new SpeechSynthesizer(speechConfig, audioConfig); const rl = createInterface({ input: process.stdin, output: process.stdout }); rl.question("Enter some text that you want to speak >\n> ", function (text) { rl.close(); // Start the synthesizer and wait for a result. synthesizer.speakTextAsync(text, function (result) { if (result.reason === ResultReason.SynthesizingAudioCompleted) { console.log("synthesis finished."); } else { console.error("Speech synthesis canceled, " + result.errorDetails + "\nDid you set the speech resource key and region values?"); } synthesizer.close(); }, function (err) { console.trace("err - " + err); synthesizer.close(); }); console.log("Now synthesizing to: " + audioFile); }); } synthesizeSpeech();في synthesis.js، يمكنك اختياريا إعادة تسمية YourAudioFile.wav إلى اسم ملف إخراج آخر.
لتغيير لغة تركيب الكلام، استبدلها
en-US-Ava:DragonHDLatestNeuralبصوت آخر مدعوم.جميع الأصوات العصبية هي متعددة اللغات وطلاقة في لغتهم الخاصة والإنكليزية. على سبيل المثال، إذا كان نص الإدخال باللغة الإنجليزية متحمسا لتجربة النص إلى كلام وقمت بتعيين
es-ES-Ximena:DragonHDLatestNeural، يتم التحدث بالنص باللغة الإنجليزية بلكنة إسبانية. إذا كان الصوت لا يتحدث لغة نص الإدخال، فلن تقوم خدمة الكلام إخراج الصوت المركب.تشغيل تطبيق وحدة التحكم لبدء تركيب الكلام إلى ملف:
node synthesis.js
Output
يجب أن تشاهد الإخراج التالي في وحدة التحكم. اتبع المطالبة لإدخال النص الذي تريد تركيبه:
Enter some text that you want to speak >
> I'm excited to try text to speech
Now synthesizing to: YourAudioFile.wav
synthesis finished.
Remarks
المزيد من خيارات تركيب الكلام
يستخدم SpeakTextAsync هذا التشغيل السريع العملية لتجميع كتلة نص قصيرة تقوم بإدخالها. يمكنك أيضا استخدام نص طويل النماذج من ملف والحصول على تحكم أدق في أنماط الصوت والمحترفين والإعدادات الأخرى.
- تعرف على كيفية تركيب الكلامونظرة عامة على لغة ترميز تركيب الكلام (SSML) للحصول على معلومات حول تركيب الكلام من ملف والتحكم بشكل أدق في أنماط الصوت والمحترفين والإعدادات الأخرى.
- راجع واجهة برمجة تطبيقات تجميع الدفعات للنص إلى كلام للحصول على معلومات حول تركيب نص طويل النموذج إلى كلام.
أصوات تحويل النص إلى كلام من OpenAI في Azure Speech in Foundry Tools
يتم أيضا دعم نص OpenAI لأصوات الكلام. انظر أصوات تحويل النص إلى كلام في OpenAI في Azure Speechوالأصوات متعددة اللغات. يمكنك استبدال en-US-Ava:DragonHDLatestNeural باسم صوت OpenAI معتمد مثل en-US-FableMultilingualNeural.
تنظيف الموارد
يمكنك استخدام مدخل Microsoft Azure أو واجهة سطر أوامر Azure (CLI) لإزالة مورد الكلام الذي قمت بإنشائه.
الوثائق | المرجعيةحزمة (تنزيل) | عينات إضافية على GitHub
مع Azure Speech في أدوات Foundry، يمكنك تشغيل تطبيق يجمع صوتا شبيها بالإنسان لقراءة النص. يمكنك تغيير الصوت، وإدخال النص الذي سيتم التحدث به، والاستماع إلى الإخراج على سماعة الكمبيوتر.
Tip
يمكنك محاولة تحويل النص إلى كلام في Speech Studio Voice Gallery دون الاشتراك أو كتابة أي تعليمة برمجية.
Tip
جرب أداة Azure Speech Toolkit لبناء وتشغيل العينات بسهولة على Visual Studio Code.
Prerequisites
- اشتراك Azure. يمكنك إنشاء حساب مجانا.
- أنشئ موردا في Foundry للكلام في بوابة Azure.
- احصل على مفتاح مورد الكلام والمنطقة. بعد نشر مورد Speech، حدد Go to resource لعرض المفاتيح وإدارتها.
إعداد البيئة
يتم توزيع Speech SDK ل Swift كحزمة إطار عمل. يدعم إطار العمل كلا من Objective-C وSwift على كل من iOS وmacOS.
يمكن استخدام Speech SDK في مشاريع Xcode كCocoaPod ، أو تنزيله مباشرة وربطه يدويا. يستخدم هذا الدليل CocoaPod. قم بتثبيت مدير تبعية CocoaPod كما هو موضح في تعليمات التثبيت الخاصة به.
تعيين متغيرات البيئة
تحتاج إلى التحقق من صحتك للوصول إلى أدوات Foundry. توضح لك هذه المقالة كيفية استخدام متغيرات البيئة لتخزين بيانات الاعتماد الخاصة بك. يمكنك بعد ذلك الوصول إلى متغيرات البيئة من التعليمات البرمجية الخاصة بك لمصادقة التطبيق الخاص بك. للإنتاج، استخدم طريقة أكثر أمانا لتخزين بيانات الاعتماد والوصول إليها.
Important
نوصي بمصادقة معرف Microsoft Entra مع الهويات المدارة لموارد Azure لتجنب تخزين بيانات الاعتماد مع التطبيقات التي تعمل في السحابة.
استخدم مفاتيح واجهة برمجة التطبيقات بحذر. لا تقم بتضمين مفتاح API مباشرة في التعليمات البرمجية الخاصة بك، ولا تنشره بشكل عام. إذا كنت تستخدم مفاتيح واجهة برمجة التطبيقات، فخزنها بأمان في Azure Key Vault، وقم بتدوير المفاتيح بانتظام، وتقييد الوصول إلى Azure Key Vault باستخدام التحكم في الوصول المستند إلى الدور وقيود الوصول إلى الشبكة. لمزيد من المعلومات حول استخدام مفاتيح واجهة برمجة التطبيقات بشكل آمن في تطبيقاتك، راجع مفاتيح واجهة برمجة التطبيقات باستخدام Azure Key Vault.
لمزيد من المعلومات حول أمان خدمات الذكاء الاصطناعي، راجع مصادقة الطلبات إلى خدمات Azure الذكاء الاصطناعي.
لتعيين متغيرات البيئة لمفتاح مورد الكلام والمنطقة، افتح نافذة وحدة التحكم، واتبع الإرشادات الخاصة بنظام التشغيل وبيئة التطوير.
- لتعيين
SPEECH_KEYمتغير البيئة، استبدل مفتاحك بأحد مفاتيح المورد الخاص بك. - لتعيين
SPEECH_REGIONمتغير البيئة، استبدل منطقتك بإحدى مناطق المورد الخاص بك. - لتعيين
ENDPOINTمتغير البيئة، استبدلyour-endpointبنقطة النهاية الفعلية لمورد الكلام.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region
setx ENDPOINT your-endpoint
Note
إذا كنت بحاجة فقط إلى الوصول إلى متغيرات البيئة في وحدة التحكم الحالية، يمكنك تعيين متغير البيئة باستخدام set بدلا من setx.
بعد إضافة متغيرات البيئة، قد تحتاج إلى إعادة تشغيل أي برامج تحتاج إلى قراءة متغيرات البيئة، بما في ذلك نافذة وحدة التحكم. على سبيل المثال، إذا كنت تستخدم Visual Studio كمحرر، فقم بإعادة تشغيل Visual Studio قبل تشغيل المثال.
إنشاء التطبيق
اتبع هذه الخطوات لتجميع الكلام في تطبيق macOS.
استنساخ مستودع Azure-Samples/cognitive-services-speech-sdk للحصول على صوت Synthesize في Swift على macOS باستخدام نموذج مشروع Speech SDK . يحتوي المستودع أيضا على عينات iOS.
انتقل إلى دليل نموذج التطبيق (
helloworld) الذي تم تنزيله في محطة طرفية.تشغيل الأمر
pod install. ينشئhelloworld.xcworkspaceهذا الأمر مساحة عمل Xcode تحتوي على كل من نموذج التطبيق وSDK الكلام كتبعية.helloworld.xcworkspaceافتح مساحة العمل في Xcode.افتح الملف المسمى AppDelegate.swift وحدد موقع
applicationDidFinishLaunchingوsynthesizeكما هو موضح هنا.import Cocoa @NSApplicationMain class AppDelegate: NSObject, NSApplicationDelegate, NSTextFieldDelegate { var textField: NSTextField! var synthesisButton: NSButton! var inputText: String! var sub: String! var region: String! @IBOutlet weak var window: NSWindow! func applicationDidFinishLaunching(_ aNotification: Notification) { print("loading") // load subscription information sub = ProcessInfo.processInfo.environment["SPEECH_KEY"] region = ProcessInfo.processInfo.environment["SPEECH_REGION"] inputText = "" textField = NSTextField(frame: NSRect(x: 100, y: 200, width: 200, height: 50)) textField.textColor = NSColor.black textField.lineBreakMode = .byWordWrapping textField.placeholderString = "Type something to synthesize." textField.delegate = self self.window.contentView?.addSubview(textField) synthesisButton = NSButton(frame: NSRect(x: 100, y: 100, width: 200, height: 30)) synthesisButton.title = "Synthesize" synthesisButton.target = self synthesisButton.action = #selector(synthesisButtonClicked) self.window.contentView?.addSubview(synthesisButton) } @objc func synthesisButtonClicked() { DispatchQueue.global(qos: .userInitiated).async { self.synthesize() } } func synthesize() { var speechConfig: SPXSpeechConfiguration? do { try speechConfig = SPXSpeechConfiguration(subscription: sub, region: region) } catch { print("error \(error) happened") speechConfig = nil } speechConfig?.speechSynthesisVoiceName = "en-US-Ava:DragonHDLatestNeural"; let synthesizer = try! SPXSpeechSynthesizer(speechConfig!) let result = try! synthesizer.speakText(inputText) if result.reason == SPXResultReason.canceled { let cancellationDetails = try! SPXSpeechSynthesisCancellationDetails(fromCanceledSynthesisResult: result) print("cancelled, error code: \(cancellationDetails.errorCode) detail: \(cancellationDetails.errorDetails!) ") print("Did you set the speech resource key and region values?"); return } } func controlTextDidChange(_ obj: Notification) { let textFiled = obj.object as! NSTextField inputText = textFiled.stringValue } }في AppDelegate.m، استخدم متغيرات البيئة التي قمت بتعيينها مسبقا لمفتاح مورد الكلام والمنطقة.
sub = ProcessInfo.processInfo.environment["SPEECH_KEY"] region = ProcessInfo.processInfo.environment["SPEECH_REGION"]اختياريا في AppDelegate.m، قم بتضمين اسم صوت توليف الكلام كما هو موضح هنا:
speechConfig?.speechSynthesisVoiceName = "en-US-Ava:DragonHDLatestNeural";لتغيير لغة تركيب الكلام، استبدلها
en-US-Ava:DragonHDLatestNeuralبصوت آخر مدعوم.جميع الأصوات العصبية هي متعددة اللغات وطلاقة في لغتهم الخاصة والإنكليزية. على سبيل المثال، إذا كان نص الإدخال باللغة الإنجليزية متحمسا لتجربة النص إلى كلام وقمت بتعيين
es-ES-Ximena:DragonHDLatestNeural، يتم التحدث بالنص باللغة الإنجليزية بلكنة إسبانية. إذا كان الصوت لا يتحدث لغة نص الإدخال، فلن تقوم خدمة الكلام إخراج الصوت المركب.لجعل إخراج تصحيح الأخطاء مرئيا، حدد عرض> منطقة >تنشيط وحدة التحكم.
لإنشاء مثال التعليمات البرمجية وتشغيله، حدد تشغيل المنتج> من القائمة أو حدد الزر تشغيل.
Important
تأكد من تعيين SPEECH_KEYSPEECH_REGION. إذا لم تقم بتعيين هذه المتغيرات، تفشل العينة مع ظهور رسالة خطأ.
بعد إدخال بعض النص وتحديد الزر في التطبيق، يجب أن تسمع الصوت المركب الذي تم تشغيله.
Remarks
المزيد من خيارات تركيب الكلام
يستخدم SpeakText هذا التشغيل السريع العملية لتجميع كتلة نص قصيرة تقوم بإدخالها. يمكنك أيضا استخدام نص طويل النماذج من ملف والحصول على تحكم أدق في أنماط الصوت والمحترفين والإعدادات الأخرى.
- تعرف على كيفية تركيب الكلامونظرة عامة على لغة ترميز تركيب الكلام (SSML) للحصول على معلومات حول تركيب الكلام من ملف والتحكم بشكل أدق في أنماط الصوت والمحترفين والإعدادات الأخرى.
- راجع واجهة برمجة تطبيقات تجميع الدفعات للنص إلى كلام للحصول على معلومات حول تركيب نص طويل النموذج إلى كلام.
أصوات تحويل النص إلى كلام من OpenAI في Azure Speech in Foundry Tools
يتم أيضا دعم نص OpenAI لأصوات الكلام. انظر أصوات تحويل النص إلى كلام في OpenAI في Azure Speechوالأصوات متعددة اللغات. يمكنك استبدال en-US-Ava:DragonHDLatestNeural باسم صوت OpenAI معتمد مثل en-US-FableMultilingualNeural.
تنظيف الموارد
يمكنك استخدام مدخل Microsoft Azure أو واجهة سطر أوامر Azure (CLI) لإزالة مورد الكلام الذي قمت بإنشائه.
الوثائق | المرجعيةالحزمة (PyPi) | عينات إضافية على GitHub
مع Azure Speech في أدوات Foundry، يمكنك تشغيل تطبيق يجمع صوتا شبيها بالإنسان لقراءة النص. يمكنك تغيير الصوت، وإدخال النص الذي سيتم التحدث به، والاستماع إلى الإخراج على سماعة الكمبيوتر.
Tip
يمكنك محاولة تحويل النص إلى كلام في Speech Studio Voice Gallery دون الاشتراك أو كتابة أي تعليمة برمجية.
Tip
جرب أداة Azure Speech Toolkit لبناء وتشغيل العينات بسهولة على Visual Studio Code.
Prerequisites
- اشتراك Azure. يمكنك إنشاء حساب مجانا.
- إنشاء مورد خدمات الذكاء الاصطناعي للكلام في مدخل Microsoft Azure.
- احصل على مفتاح مورد الكلام ونقطة النهاية. بعد نشر مورد Speech، حدد Go to resource لعرض المفاتيح وإدارتها.
إعداد البيئة
يتوفر Speech SDK ل Python كوحدة نمطية ل Python Package Index (PyPI). Speech SDK ل Python متوافق مع Windows وLinux وmacOS.
- على Windows، قم بتثبيت Microsoft Visual C++ Redistributable ل Visual Studio 2015 و2017 و2019 و2022 للنظام الأساسي الخاص بك. قد يتطلب تثبيت هذه الحزمة إعادة تشغيل.
- على Linux، يجب عليك استخدام البنية الهدف x64.
تثبيت إصدار من Python من 3.7 أو أحدث. للحصول على أي متطلبات، راجع تثبيت Speech SDK.
تعيين متغيرات البيئة
تحتاج إلى التحقق من صحتك للوصول إلى أدوات Foundry. توضح لك هذه المقالة كيفية استخدام متغيرات البيئة لتخزين بيانات الاعتماد الخاصة بك. يمكنك بعد ذلك الوصول إلى متغيرات البيئة من التعليمات البرمجية الخاصة بك لمصادقة التطبيق الخاص بك. للإنتاج، استخدم طريقة أكثر أمانا لتخزين بيانات الاعتماد والوصول إليها.
Important
نوصي بمصادقة معرف Microsoft Entra مع الهويات المدارة لموارد Azure لتجنب تخزين بيانات الاعتماد مع التطبيقات التي تعمل في السحابة.
استخدم مفاتيح واجهة برمجة التطبيقات بحذر. لا تقم بتضمين مفتاح API مباشرة في التعليمات البرمجية الخاصة بك، ولا تنشره بشكل عام. إذا كنت تستخدم مفاتيح واجهة برمجة التطبيقات، فخزنها بأمان في Azure Key Vault، وقم بتدوير المفاتيح بانتظام، وتقييد الوصول إلى Azure Key Vault باستخدام التحكم في الوصول المستند إلى الدور وقيود الوصول إلى الشبكة. لمزيد من المعلومات حول استخدام مفاتيح واجهة برمجة التطبيقات بشكل آمن في تطبيقاتك، راجع مفاتيح واجهة برمجة التطبيقات باستخدام Azure Key Vault.
لمزيد من المعلومات حول أمان خدمات الذكاء الاصطناعي، راجع مصادقة الطلبات إلى خدمات Azure الذكاء الاصطناعي.
لتعيين متغيرات البيئة لمفتاح مورد Speech ونقطة النهاية، افتح نافذة وحدة التحكم، واتبع الإرشادات الخاصة بنظام التشغيل وبيئة التطوير.
- لتعيين
SPEECH_KEYمتغير البيئة، استبدل مفتاحك بأحد مفاتيح المورد الخاص بك. - لتعيين
ENDPOINTمتغير البيئة، استبدل نقطة النهاية بإحدى نقاط النهاية الخاصة بمورك.
setx SPEECH_KEY your-key
setx ENDPOINT your-endpoint
Note
إذا كنت بحاجة فقط إلى الوصول إلى متغيرات البيئة في وحدة التحكم الحالية، يمكنك تعيين متغير البيئة باستخدام set بدلا من setx.
بعد إضافة متغيرات البيئة، قد تحتاج إلى إعادة تشغيل أي برامج تحتاج إلى قراءة متغيرات البيئة، بما في ذلك نافذة وحدة التحكم. على سبيل المثال، إذا كنت تستخدم Visual Studio كمحرر، فقم بإعادة تشغيل Visual Studio قبل تشغيل المثال.
إنشاء التطبيق
اتبع هذه الخطوات لإنشاء تطبيق وحدة تحكم.
افتح نافذة موجه الأوامر في المجلد حيث تريد المشروع الجديد. قم بإنشاء ملف باسم speech_synthesis.py.
قم بتشغيل هذا الأمر لتثبيت Speech SDK:
pip install azure-cognitiveservices-speechانسخ الكود التالي إلى speech_synthesis.py:
import os import azure.cognitiveservices.speech as speechsdk # This example requires environment variables named "SPEECH_KEY" and "ENDPOINT" # Replace with your own subscription key and endpoint, the endpoint is like : "https://YourServiceRegion.api.cognitive.microsoft.com" speech_config = speechsdk.SpeechConfig(subscription=os.environ.get('SPEECH_KEY'), endpoint=os.environ.get('ENDPOINT')) audio_config = speechsdk.audio.AudioOutputConfig(use_default_speaker=True) # The neural multilingual voice can speak different languages based on the input text. speech_config.speech_synthesis_voice_name='en-US-Ava:DragonHDLatestNeural' speech_synthesizer = speechsdk.SpeechSynthesizer(speech_config=speech_config, audio_config=audio_config) # Get text from the console and synthesize to the default speaker. print("Enter some text that you want to speak >") text = input() speech_synthesis_result = speech_synthesizer.speak_text_async(text).get() if speech_synthesis_result.reason == speechsdk.ResultReason.SynthesizingAudioCompleted: print("Speech synthesized for text [{}]".format(text)) elif speech_synthesis_result.reason == speechsdk.ResultReason.Canceled: cancellation_details = speech_synthesis_result.cancellation_details print("Speech synthesis canceled: {}".format(cancellation_details.reason)) if cancellation_details.reason == speechsdk.CancellationReason.Error: if cancellation_details.error_details: print("Error details: {}".format(cancellation_details.error_details)) print("Did you set the speech resource key and endpoint values?")لتغيير لغة تركيب الكلام، استبدلها
en-US-Ava:DragonHDLatestNeuralبصوت آخر مدعوم.جميع الأصوات العصبية هي متعددة اللغات وطلاقة في لغتهم الخاصة والإنكليزية. على سبيل المثال، إذا كان نص الإدخال باللغة الإنجليزية متحمسا لتجربة النص إلى كلام وقمت بتعيين
es-ES-Ximena:DragonHDLatestNeural، يتم التحدث بالنص باللغة الإنجليزية بلكنة إسبانية. إذا كان الصوت لا يتحدث لغة نص الإدخال، فلن تقوم خدمة الكلام إخراج الصوت المركب.قم بتشغيل تطبيق وحدة التحكم الجديد لبدء تركيب الكلام إلى السماعة الافتراضية.
python speech_synthesis.pyأدخل بعض النصوص التي تريد التحدث بها. على سبيل المثال، اكتب أنا متحمس لمحاولة تحويل النص إلى كلام. حدد المفتاح Enter لسماع الكلام المركب.
Enter some text that you want to speak > I'm excited to try text to speech
Remarks
المزيد من خيارات تركيب الكلام
يستخدم speak_text_async هذا التشغيل السريع العملية لتجميع كتلة نص قصيرة تقوم بإدخالها. يمكنك أيضا استخدام نص طويل النماذج من ملف والحصول على تحكم أدق في أنماط الصوت والمحترفين والإعدادات الأخرى.
- تعرف على كيفية تركيب الكلامونظرة عامة على لغة ترميز تركيب الكلام (SSML) للحصول على معلومات حول تركيب الكلام من ملف والتحكم بشكل أدق في أنماط الصوت والمحترفين والإعدادات الأخرى.
- راجع واجهة برمجة تطبيقات تجميع الدفعات للنص إلى كلام للحصول على معلومات حول تركيب نص طويل النموذج إلى كلام.
أصوات تحويل النص إلى كلام من OpenAI في Azure Speech in Foundry Tools
يتم أيضا دعم نص OpenAI لأصوات الكلام. انظر أصوات تحويل النص إلى كلام في OpenAI في Azure Speechوالأصوات متعددة اللغات. يمكنك استبدال en-US-Ava:DragonHDLatestNeural باسم صوت OpenAI معتمد مثل en-US-FableMultilingualNeural.
تنظيف الموارد
يمكنك استخدام مدخل Microsoft Azure أو واجهة سطر أوامر Azure (CLI) لإزالة مورد الكلام الذي قمت بإنشائه.
مرجع | Speech to text REST API for short audio reference | عينات إضافية على GitHub
مع Azure Speech في أدوات Foundry، يمكنك تشغيل تطبيق يجمع صوتا شبيها بالإنسان لقراءة النص. يمكنك تغيير الصوت، وإدخال النص الذي سيتم التحدث به، والاستماع إلى الإخراج على سماعة الكمبيوتر.
Tip
يمكنك محاولة تحويل النص إلى كلام في Speech Studio Voice Gallery دون الاشتراك أو كتابة أي تعليمة برمجية.
Tip
جرب أداة Azure Speech Toolkit لبناء وتشغيل العينات بسهولة على Visual Studio Code.
Prerequisites
- اشتراك Azure. يمكنك إنشاء حساب مجانا.
- أنشئ موردا في Foundry للكلام في بوابة Azure.
- احصل على مفتاح مورد الكلام والمنطقة. بعد نشر مورد Speech، حدد Go to resource لعرض المفاتيح وإدارتها.
تعيين متغيرات البيئة
تحتاج إلى التحقق من صحتك للوصول إلى أدوات Foundry. توضح لك هذه المقالة كيفية استخدام متغيرات البيئة لتخزين بيانات الاعتماد الخاصة بك. يمكنك بعد ذلك الوصول إلى متغيرات البيئة من التعليمات البرمجية الخاصة بك لمصادقة التطبيق الخاص بك. للإنتاج، استخدم طريقة أكثر أمانا لتخزين بيانات الاعتماد والوصول إليها.
Important
نوصي بمصادقة معرف Microsoft Entra مع الهويات المدارة لموارد Azure لتجنب تخزين بيانات الاعتماد مع التطبيقات التي تعمل في السحابة.
استخدم مفاتيح واجهة برمجة التطبيقات بحذر. لا تقم بتضمين مفتاح API مباشرة في التعليمات البرمجية الخاصة بك، ولا تنشره بشكل عام. إذا كنت تستخدم مفاتيح واجهة برمجة التطبيقات، فخزنها بأمان في Azure Key Vault، وقم بتدوير المفاتيح بانتظام، وتقييد الوصول إلى Azure Key Vault باستخدام التحكم في الوصول المستند إلى الدور وقيود الوصول إلى الشبكة. لمزيد من المعلومات حول استخدام مفاتيح واجهة برمجة التطبيقات بشكل آمن في تطبيقاتك، راجع مفاتيح واجهة برمجة التطبيقات باستخدام Azure Key Vault.
لمزيد من المعلومات حول أمان خدمات الذكاء الاصطناعي، راجع مصادقة الطلبات إلى خدمات Azure الذكاء الاصطناعي.
لتعيين متغيرات البيئة لمفتاح مورد الكلام والمنطقة، افتح نافذة وحدة التحكم، واتبع الإرشادات الخاصة بنظام التشغيل وبيئة التطوير.
- لتعيين
SPEECH_KEYمتغير البيئة، استبدل مفتاحك بأحد مفاتيح المورد الخاص بك. - لتعيين
SPEECH_REGIONمتغير البيئة، استبدل منطقتك بإحدى مناطق المورد الخاص بك. - لتعيين
ENDPOINTمتغير البيئة، استبدلyour-endpointبنقطة النهاية الفعلية لمورد الكلام.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region
setx ENDPOINT your-endpoint
Note
إذا كنت بحاجة فقط إلى الوصول إلى متغيرات البيئة في وحدة التحكم الحالية، يمكنك تعيين متغير البيئة باستخدام set بدلا من setx.
بعد إضافة متغيرات البيئة، قد تحتاج إلى إعادة تشغيل أي برامج تحتاج إلى قراءة متغيرات البيئة، بما في ذلك نافذة وحدة التحكم. على سبيل المثال، إذا كنت تستخدم Visual Studio كمحرر، فقم بإعادة تشغيل Visual Studio قبل تشغيل المثال.
تجميع الكلام إلى ملف
في موجه الأوامر، قم بتشغيل الأمر cURL التالي. اختياريا، يمكنك إعادة تسمية output.mp3 إلى اسم ملف إخراج آخر.
curl --location --request POST "https://%SPEECH_REGION%.tts.speech.microsoft.com/cognitiveservices/v1" ^
--header "Ocp-Apim-Subscription-Key: %SPEECH_KEY%" ^
--header "Content-Type: application/ssml+xml" ^
--header "X-Microsoft-OutputFormat: audio-16khz-128kbitrate-mono-mp3" ^
--header "User-Agent: curl" ^
--data-raw "<speak version='1.0' xml:lang='en-US'><voice xml:lang='en-US' xml:gender='Female' name='en-US-Ava:DragonHDLatestNeural'>my voice is my passport verify me</voice></speak>" --output output.mp3
Important
تأكد من تعيين SPEECH_KEYSPEECH_REGION. إذا لم تقم بتعيين هذه المتغيرات، تفشل العينة مع ظهور رسالة خطأ.
يجب إخراج النص المقدم إلى ملف صوتي باسم output.mp3.
لتغيير لغة تركيب الكلام، استبدلها en-US-Ava:DragonHDLatestNeuralبصوت آخر مدعوم.
جميع الأصوات العصبية هي متعددة اللغات وطلاقة في لغتهم الخاصة والإنكليزية. على سبيل المثال، إذا كان نص الإدخال باللغة الإنجليزية متحمسا لتجربة النص إلى كلام وقمت بتعيين es-ES-Ximena:DragonHDLatestNeural، يتم التحدث بالنص باللغة الإنجليزية بلكنة إسبانية. إذا كان الصوت لا يتحدث لغة نص الإدخال، فلن تقوم خدمة الكلام إخراج الصوت المركب.
لمزيد من المعلومات، راجع واجهة برمجة تطبيقات REST لتحويل النص إلى كلام.
Remarks
أصوات تحويل النص إلى كلام من OpenAI في Azure Speech in Foundry Tools
يتم أيضا دعم نص OpenAI لأصوات الكلام. انظر أصوات تحويل النص إلى كلام في OpenAI في Azure Speechوالأصوات متعددة اللغات. يمكنك استبدال en-US-Ava:DragonHDLatestNeural باسم صوت OpenAI معتمد مثل en-US-FableMultilingualNeural.
تنظيف الموارد
يمكنك استخدام مدخل Microsoft Azure أو واجهة سطر أوامر Azure (CLI) لإزالة مورد الكلام الذي قمت بإنشائه.
الوثائق | المرجعيةالحزمة (npm) | عينات إضافية على GitHub | التعليمات البرمجية المصدر للمكتبة
مع Azure Speech في أدوات Foundry، يمكنك تشغيل تطبيق يجمع صوتا شبيها بالإنسان لقراءة النص. يمكنك تغيير الصوت، وإدخال النص الذي سيتم التحدث به، والاستماع إلى الإخراج على سماعة الكمبيوتر.
Tip
يمكنك محاولة تحويل النص إلى كلام في Speech Studio Voice Gallery دون الاشتراك أو كتابة أي تعليمة برمجية.
Tip
جرب أداة Azure Speech Toolkit لبناء وتشغيل العينات بسهولة على Visual Studio Code.
Prerequisites
- اشتراك Azure. يمكنك إنشاء حساب مجانا.
- أنشئ موردا في Foundry للكلام في بوابة Azure.
- احصل على مفتاح مورد الكلام والمنطقة. بعد نشر مورد Speech، حدد Go to resource لعرض المفاتيح وإدارتها.
الإعداد
أنشئ مجلدا
synthesis-quickstartجديدا وانتقل إلى مجلد التشغيل السريع باستخدام الأمر التالي:mkdir synthesis-quickstart && cd synthesis-quickstartpackage.jsonأنشئ باستخدام الأمر التالي:npm init -ypackage.jsonقم بتحديث إلى ECMAScript باستخدام الأمر التالي:npm pkg set type=moduleتثبيت Speech SDK ل JavaScript باستخدام:
npm install microsoft-cognitiveservices-speech-sdkتحتاج إلى تثبيت تعريفات نوع Node.js لتجنب أخطاء TypeScript. قم بتنفيذ الأمر التالي:
npm install --save-dev @types/node
استرداد معلومات المورد
تحتاج إلى التحقق من صحتك للوصول إلى أدوات Foundry. توضح لك هذه المقالة كيفية استخدام متغيرات البيئة لتخزين بيانات الاعتماد الخاصة بك. يمكنك بعد ذلك الوصول إلى متغيرات البيئة من التعليمات البرمجية الخاصة بك لمصادقة التطبيق الخاص بك. للإنتاج، استخدم طريقة أكثر أمانا لتخزين بيانات الاعتماد والوصول إليها.
Important
نوصي بمصادقة معرف Microsoft Entra مع الهويات المدارة لموارد Azure لتجنب تخزين بيانات الاعتماد مع التطبيقات التي تعمل في السحابة.
استخدم مفاتيح واجهة برمجة التطبيقات بحذر. لا تقم بتضمين مفتاح API مباشرة في التعليمات البرمجية الخاصة بك، ولا تنشره بشكل عام. إذا كنت تستخدم مفاتيح واجهة برمجة التطبيقات، فخزنها بأمان في Azure Key Vault، وقم بتدوير المفاتيح بانتظام، وتقييد الوصول إلى Azure Key Vault باستخدام التحكم في الوصول المستند إلى الدور وقيود الوصول إلى الشبكة. لمزيد من المعلومات حول استخدام مفاتيح واجهة برمجة التطبيقات بشكل آمن في تطبيقاتك، راجع مفاتيح واجهة برمجة التطبيقات باستخدام Azure Key Vault.
لمزيد من المعلومات حول أمان خدمات الذكاء الاصطناعي، راجع مصادقة الطلبات إلى خدمات Azure الذكاء الاصطناعي.
لتعيين متغيرات البيئة لمفتاح مورد الكلام والمنطقة، افتح نافذة وحدة التحكم، واتبع الإرشادات الخاصة بنظام التشغيل وبيئة التطوير.
- لتعيين
SPEECH_KEYمتغير البيئة، استبدل مفتاحك بأحد مفاتيح المورد الخاص بك. - لتعيين
SPEECH_REGIONمتغير البيئة، استبدل منطقتك بإحدى مناطق المورد الخاص بك. - لتعيين
ENDPOINTمتغير البيئة، استبدلyour-endpointبنقطة النهاية الفعلية لمورد الكلام.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region
setx ENDPOINT your-endpoint
Note
إذا كنت بحاجة فقط إلى الوصول إلى متغيرات البيئة في وحدة التحكم الحالية، يمكنك تعيين متغير البيئة باستخدام set بدلا من setx.
بعد إضافة متغيرات البيئة، قد تحتاج إلى إعادة تشغيل أي برامج تحتاج إلى قراءة متغيرات البيئة، بما في ذلك نافذة وحدة التحكم. على سبيل المثال، إذا كنت تستخدم Visual Studio كمحرر، فقم بإعادة تشغيل Visual Studio قبل تشغيل المثال.
تجميع الكلام إلى ملف
لترجمة الكلام من ملف:
قم بإنشاء ملف جديد باسم synthesis.ts بالمحتوى التالي:
import { createInterface } from "readline"; import { SpeechConfig, AudioConfig, SpeechSynthesizer, ResultReason, SpeechSynthesisResult } from "microsoft-cognitiveservices-speech-sdk"; function synthesizeSpeech(): void { const audioFile = "YourAudioFile.wav"; // This example requires environment variables named "ENDPOINT" and "SPEECH_KEY" const speechConfig: SpeechConfig = SpeechConfig.fromEndpoint(new URL(process.env.ENDPOINT!), process.env.SPEECH_KEY!); const audioConfig: AudioConfig = AudioConfig.fromAudioFileOutput(audioFile); // The language of the voice that speaks. speechConfig.speechSynthesisVoiceName = "en-US-Ava:DragonHDLatestNeural"; // Create the speech synthesizer. const synthesizer: SpeechSynthesizer = new SpeechSynthesizer(speechConfig, audioConfig); const rl = createInterface({ input: process.stdin, output: process.stdout }); rl.question("Enter some text that you want to speak >\n> ", function (text: string) { rl.close(); // Start the synthesizer and wait for a result. synthesizer.speakTextAsync(text, function (result: SpeechSynthesisResult) { if (result.reason === ResultReason.SynthesizingAudioCompleted) { console.log("synthesis finished."); } else { console.error("Speech synthesis canceled, " + result.errorDetails + "\nDid you set the speech resource key and region values?"); } synthesizer.close(); }, function (err: string) { console.trace("err - " + err); synthesizer.close(); }); console.log("Now synthesizing to: " + audioFile); }); } synthesizeSpeech();في synthesis.ts ، يمكنك اختياريا إعادة تسمية YourAudioFile.wav إلى اسم ملف إخراج آخر.
لتغيير لغة تركيب الكلام، استبدلها
en-US-Ava:DragonHDLatestNeuralبصوت آخر مدعوم.جميع الأصوات العصبية هي متعددة اللغات وطلاقة في لغتهم الخاصة والإنكليزية. على سبيل المثال، إذا كان نص الإدخال باللغة الإنجليزية متحمسا لتجربة النص إلى كلام وقمت بتعيين
es-ES-Ximena:DragonHDLatestNeural، يتم التحدث بالنص باللغة الإنجليزية بلكنة إسبانية. إذا كان الصوت لا يتحدث لغة نص الإدخال، فلن تقوم خدمة الكلام إخراج الصوت المركب.tsconfig.jsonقم بإنشاء الملف لتبديل التعليمات البرمجية TypeScript ونسخ التعليمات البرمجية التالية ل ECMAScript.{ "compilerOptions": { "module": "NodeNext", "target": "ES2022", // Supports top-level await "moduleResolution": "NodeNext", "skipLibCheck": true, // Avoid type errors from node_modules "strict": true // Enable strict type-checking options }, "include": ["*.ts"] }تحويل من TypeScript إلى JavaScript.
tscيجب ألا ينتج عن هذا الأمر أي إخراج إذا كان ناجحا.
تشغيل تطبيق وحدة التحكم لبدء تركيب الكلام إلى ملف:
node synthesis.js
Output
يجب أن تشاهد الإخراج التالي في وحدة التحكم. اتبع المطالبة لإدخال النص الذي تريد تركيبه:
Enter some text that you want to speak >
> I'm excited to try text to speech
Now synthesizing to: YourAudioFile.wav
synthesis finished.
Remarks
المزيد من خيارات تركيب الكلام
يستخدم SpeakTextAsync هذا التشغيل السريع العملية لتجميع كتلة نص قصيرة تقوم بإدخالها. يمكنك أيضا استخدام نص طويل النماذج من ملف والحصول على تحكم أدق في أنماط الصوت والمحترفين والإعدادات الأخرى.
- تعرف على كيفية تركيب الكلامونظرة عامة على لغة ترميز تركيب الكلام (SSML) للحصول على معلومات حول تركيب الكلام من ملف والتحكم بشكل أدق في أنماط الصوت والمحترفين والإعدادات الأخرى.
- راجع واجهة برمجة تطبيقات تجميع الدفعات للنص إلى كلام للحصول على معلومات حول تركيب نص طويل النموذج إلى كلام.
أصوات تحويل النص إلى كلام من OpenAI في Azure Speech in Foundry Tools
يتم أيضا دعم نص OpenAI لأصوات الكلام. انظر أصوات تحويل النص إلى كلام في OpenAI في Azure Speechوالأصوات متعددة اللغات. يمكنك استبدال en-US-Ava:DragonHDLatestNeural باسم صوت OpenAI معتمد مثل en-US-FableMultilingualNeural.
تنظيف الموارد
يمكنك استخدام مدخل Microsoft Azure أو واجهة سطر أوامر Azure (CLI) لإزالة مورد الكلام الذي قمت بإنشائه.