مشاركة عبر


التشغيل السريع: تحويل النص إلى كلام

في هذا البدء السريع، جرب نموذج النص إلى كلام من Azure Speech في أدوات Foundry Tools باستخدام Microsoft Foundry.

Prerequisites

تجربة تحويل النص إلى كلام

جرب تحويل النص إلى كلام في بوابة Foundry باتباع الخطوات التالية:

  1. تسجيل الدخول إلى Microsoft Foundry. تأكد من تفعيل مفتاح New Foundry . تشير هذه الخطوات إلى Foundry (جديد).
  2. حدد إنشاء من القائمة العلوية اليمنى.
  3. حدد النماذج في الجزء الأيمن.
  4. تعرض علامة التبويب خدمات الذكاء الاصطناعي نماذج الذكاء الاصطناعي Azure التي يمكن استخدامها خارج الصندوق في مدخل Foundry. حدد Azure Speech - تحويل النص إلى كلام لفتح ملعب تحويل النص إلى كلام.
  5. اختر صوتا تم إنشاؤه مسبقا من القائمة المنسدلة، وقم بضبطه اختياريا باستخدام أشرطة تمرير معلمة الموفر.
  6. أدخل نموذج النص في مربع النص.
  7. حدد تشغيل لسماع الصوت الاصطناعي يقرأ النص الخاص بك.

الوثائق | المرجعيةحزمة (NuGet) | عينات إضافية على GitHub

مع Azure Speech في أدوات Foundry، يمكنك تشغيل تطبيق يجمع صوتا شبيها بالإنسان لقراءة النص. يمكنك تغيير الصوت، وإدخال النص الذي سيتم التحدث به، والاستماع إلى الإخراج على سماعة الكمبيوتر.

Tip

يمكنك محاولة تحويل النص إلى كلام في Speech Studio Voice Gallery دون الاشتراك أو كتابة أي تعليمة برمجية.

Tip

جرب أداة Azure Speech Toolkit لبناء وتشغيل العينات بسهولة على Visual Studio Code.

Prerequisites

إعداد البيئة

يتوفر 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.

  1. افتح نافذة موجه الأوامر في المجلد حيث تريد المشروع الجديد. قم بتشغيل هذا الأمر لإنشاء تطبيق وحدة تحكم باستخدام .NET CLI.

    dotnet new console
    

    يقوم الأمر بإنشاء ملف Program.cs في دليل المشروع.

  2. قم بتثبيت Speech SDK في مشروعك الجديد باستخدام .NET CLI.

    dotnet add package Microsoft.CognitiveServices.Speech
    
  3. استبدل محتويات 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();
        }
    }
    
  4. لتغيير لغة تركيب الكلام، استبدلها en-US-Ava:DragonHDLatestNeuralبصوت آخر مدعوم.

    جميع الأصوات العصبية هي متعددة اللغات وطلاقة في لغتهم الخاصة والإنكليزية. على سبيل المثال، إذا كان نص الإدخال باللغة الإنجليزية متحمسا لتجربة النص إلى كلام وقمت بتعيينه es-ES-Ximena:DragonHDLatestNeural كلغة، يتم التحدث بالنص باللغة الإنجليزية بلكنة إسبانية. إذا كان الصوت لا يتحدث لغة نص الإدخال، فلن تقوم خدمة الكلام إخراج الصوت المركب.

  5. قم بتشغيل تطبيق وحدة التحكم الجديد لبدء تركيب الكلام إلى السماعة الافتراضية.

    dotnet run
    

    Important

    تأكد من تعيين SPEECH_KEYEND_POINT. إذا لم تقم بتعيين هذه المتغيرات، تفشل العينة مع ظهور رسالة خطأ.

  6. أدخل بعض النصوص التي تريد التحدث بها. على سبيل المثال، اكتب أنا متحمس لمحاولة تحويل النص إلى كلام. حدد المفتاح Enter لسماع الكلام المركب.

    Enter some text that you want to speak >
    I'm excited to try text to speech
    

Remarks

المزيد من خيارات تركيب الكلام

يستخدم SpeakTextAsync هذا التشغيل السريع العملية لتجميع كتلة نص قصيرة تقوم بإدخالها. يمكنك أيضا استخدام نص طويل النماذج من ملف والحصول على تحكم أدق في أنماط الصوت والمحترفين والإعدادات الأخرى.

أصوات تحويل النص إلى كلام من 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

إعداد البيئة

يتوفر 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.

  1. إنشاء مشروع وحدة تحكم C++ في Visual Studio Community المسمى SpeechSynthesis.

  2. استبدل محتويات 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
    }  
    
  3. حدد أدوات> وحدةتحكم إدارة الحزم>. في وحدة تحكم مدير الحزم، قم بتشغيل هذا الأمر:

    Install-Package Microsoft.CognitiveServices.Speech
    
  4. لتغيير لغة تركيب الكلام، استبدلها en-US-Ava:DragonHDLatestNeuralبصوت آخر مدعوم.

    جميع الأصوات العصبية هي متعددة اللغات وطلاقة في لغتهم الخاصة والإنكليزية. على سبيل المثال، إذا كان نص الإدخال باللغة الإنجليزية متحمسا لتجربة النص إلى كلام وقمت بتعيين es-ES-Ximena:DragonHDLatestNeural، يتم التحدث بالنص باللغة الإنجليزية بلكنة إسبانية. إذا كان الصوت لا يتحدث لغة نص الإدخال، فلن تقوم خدمة الكلام إخراج الصوت المركب.

  5. لبدء تركيب الكلام إلى السماعة الافتراضية، قم بإنشاء وتشغيل تطبيق وحدة التحكم الجديد.

    Important

    تأكد من تعيين SPEECH_KEYENDPOINT. إذا لم تقم بتعيين هذه المتغيرات، تفشل العينة مع ظهور رسالة خطأ.

  6. أدخل بعض النصوص التي تريد التحدث بها. على سبيل المثال، اكتب أنا متحمس لمحاولة تحويل النص إلى كلام. حدد المفتاح Enter لسماع الكلام المركب.

    Enter some text that you want to speak >
    I'm excited to try text to speech
    

Remarks

المزيد من خيارات تركيب الكلام

يستخدم SpeakTextAsync هذا التشغيل السريع العملية لتجميع كتلة نص قصيرة تقوم بإدخالها. يمكنك أيضا استخدام نص طويل النماذج من ملف والحصول على تحكم أدق في أنماط الصوت والمحترفين والإعدادات الأخرى.

أصوات تحويل النص إلى كلام من 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

إعداد البيئة

تثبيت 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.

  1. افتح نافذة موجه الأوامر في المجلد حيث تريد المشروع الجديد. قم بإنشاء ملف جديد باسم speech-synthesis.go.

  2. انسخ الكود التالي إلى 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)
                }
            }
        }
    }
    
  3. لتغيير لغة تركيب الكلام، استبدلها en-US-Ava:DragonHDLatestNeuralبصوت آخر مدعوم.

    جميع الأصوات العصبية هي متعددة اللغات وطلاقة في لغتهم الخاصة والإنكليزية. على سبيل المثال، إذا كان نص الإدخال باللغة الإنجليزية متحمسا لتجربة النص إلى كلام وقمت بتعيين es-ES-Ximena:DragonHDLatestNeural، يتم التحدث بالنص باللغة الإنجليزية بلكنة إسبانية. إذا كان الصوت لا يتحدث لغة نص الإدخال، فلن تقوم خدمة الكلام إخراج الصوت المركب.

  4. قم بتشغيل الأوامر التالية لإنشاء ملف go.mod يرتبط بالمكونات المستضافة على GitHub:

    go mod init speech-synthesis
    go get github.com/Microsoft/cognitive-services-speech-sdk-go
    

    Important

    تأكد من تعيين SPEECH_KEYSPEECH_REGION. إذا لم تقم بتعيين هذه المتغيرات، تفشل العينة مع ظهور رسالة خطأ.

  5. الآن أنشئ التعليمة البرمجية وشغّلها:

    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

إعداد البيئة

لإعداد بيئتك، قم بتثبيت Speech SDK. تعمل العينة في هذا التشغيل السريع مع وقت تشغيل Java.

  1. قم بتثبيت Apache Maven. ثم قم بتشغيل mvn -v لتأكيد التثبيت الناجح.

  2. قم بإنشاء ملف 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>
    
  3. تثبيت 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 قبل تشغيل المثال.

إنشاء التطبيق

اتبع هذه الخطوات لإنشاء تطبيق وحدة تحكم للتعرف على الكلام.

  1. قم بإنشاء ملف باسم SpeechSynthesis.java في نفس الدليل الجذر للمشروع.

  2. انسخ الكود التالي إلى 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);
        }
    }
    
  3. لتغيير لغة تركيب الكلام، استبدلها en-US-Ava:DragonHDLatestNeuralبصوت آخر مدعوم.

    جميع الأصوات العصبية هي متعددة اللغات وطلاقة في لغتهم الخاصة والإنكليزية. على سبيل المثال، إذا كان نص الإدخال باللغة الإنجليزية متحمسا لتجربة النص إلى كلام وقمت بتعيين es-ES-Ximena:DragonHDLatestNeural، يتم التحدث بالنص باللغة الإنجليزية بلكنة إسبانية. إذا كان الصوت لا يتحدث لغة نص الإدخال، فلن تقوم خدمة الكلام إخراج الصوت المركب.

  4. قم بتشغيل تطبيق وحدة التحكم لإخراج تركيب الكلام إلى السماعة الافتراضية.

    javac SpeechSynthesis.java -cp ".;target\dependency\*"
    java -cp ".;target\dependency\*" SpeechSynthesis
    

    Important

    تأكد من تعيين SPEECH_KEYENDPOINT. إذا لم تقم بتعيين هذه المتغيرات، تفشل العينة مع ظهور رسالة خطأ.

  5. أدخل بعض النصوص التي تريد التحدث بها. على سبيل المثال، اكتب أنا متحمس لمحاولة تحويل النص إلى كلام. حدد المفتاح Enter لسماع الكلام المركب.

    Enter some text that you want to speak >
    I'm excited to try text to speech
    

Remarks

المزيد من خيارات تركيب الكلام

يستخدم SpeakTextAsync هذا التشغيل السريع العملية لتجميع كتلة نص قصيرة تقوم بإدخالها. يمكنك أيضا استخدام نص طويل النماذج من ملف والحصول على تحكم أدق في أنماط الصوت والمحترفين والإعدادات الأخرى.

أصوات تحويل النص إلى كلام من 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

الإعداد

  1. أنشئ مجلدا synthesis-quickstart جديدا وانتقل إلى مجلد التشغيل السريع باستخدام الأمر التالي:

    mkdir synthesis-quickstart && cd synthesis-quickstart
    
  2. package.json أنشئ باستخدام الأمر التالي:

    npm init -y
    
  3. تثبيت 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 قبل تشغيل المثال.

تجميع الكلام إلى ملف

لترجمة الكلام من ملف:

  1. قم بإنشاء ملف جديد باسم 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، يتم التحدث بالنص باللغة الإنجليزية بلكنة إسبانية. إذا كان الصوت لا يتحدث لغة نص الإدخال، فلن تقوم خدمة الكلام إخراج الصوت المركب.

  2. تشغيل تطبيق وحدة التحكم لبدء تركيب الكلام إلى ملف:

    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 هذا التشغيل السريع العملية لتجميع كتلة نص قصيرة تقوم بإدخالها. يمكنك أيضا استخدام نص طويل النماذج من ملف والحصول على تحكم أدق في أنماط الصوت والمحترفين والإعدادات الأخرى.

أصوات تحويل النص إلى كلام من 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

إعداد البيئة

يتم توزيع 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.

  1. استنساخ مستودع Azure-Samples/cognitive-services-speech-sdk للحصول على صوت Synthesize في Swift على macOS باستخدام نموذج مشروع Speech SDK . يحتوي المستودع أيضا على عينات iOS.

  2. انتقل إلى دليل نموذج التطبيق (helloworld) الذي تم تنزيله في محطة طرفية.

  3. تشغيل الأمر pod install. ينشئ helloworld.xcworkspace هذا الأمر مساحة عمل Xcode تحتوي على كل من نموذج التطبيق وSDK الكلام كتبعية.

  4. helloworld.xcworkspace افتح مساحة العمل في Xcode.

  5. افتح الملف المسمى 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
        }
    }
    
  6. في AppDelegate.m، استخدم متغيرات البيئة التي قمت بتعيينها مسبقا لمفتاح مورد الكلام والمنطقة.

    sub = ProcessInfo.processInfo.environment["SPEECH_KEY"]
    region = ProcessInfo.processInfo.environment["SPEECH_REGION"]
    
  7. اختياريا في AppDelegate.m، قم بتضمين اسم صوت توليف الكلام كما هو موضح هنا:

    speechConfig?.speechSynthesisVoiceName = "en-US-Ava:DragonHDLatestNeural";
    
  8. لتغيير لغة تركيب الكلام، استبدلها en-US-Ava:DragonHDLatestNeuralبصوت آخر مدعوم.

    جميع الأصوات العصبية هي متعددة اللغات وطلاقة في لغتهم الخاصة والإنكليزية. على سبيل المثال، إذا كان نص الإدخال باللغة الإنجليزية متحمسا لتجربة النص إلى كلام وقمت بتعيين es-ES-Ximena:DragonHDLatestNeural، يتم التحدث بالنص باللغة الإنجليزية بلكنة إسبانية. إذا كان الصوت لا يتحدث لغة نص الإدخال، فلن تقوم خدمة الكلام إخراج الصوت المركب.

  9. لجعل إخراج تصحيح الأخطاء مرئيا، حدد عرض> منطقة >تنشيط وحدة التحكم.

  10. لإنشاء مثال التعليمات البرمجية وتشغيله، حدد تشغيل المنتج> من القائمة أو حدد الزر تشغيل.

Important

تأكد من تعيين SPEECH_KEYSPEECH_REGION. إذا لم تقم بتعيين هذه المتغيرات، تفشل العينة مع ظهور رسالة خطأ.

بعد إدخال بعض النص وتحديد الزر في التطبيق، يجب أن تسمع الصوت المركب الذي تم تشغيله.

Remarks

المزيد من خيارات تركيب الكلام

يستخدم SpeakText هذا التشغيل السريع العملية لتجميع كتلة نص قصيرة تقوم بإدخالها. يمكنك أيضا استخدام نص طويل النماذج من ملف والحصول على تحكم أدق في أنماط الصوت والمحترفين والإعدادات الأخرى.

أصوات تحويل النص إلى كلام من 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

إعداد البيئة

يتوفر Speech SDK ل Python كوحدة نمطية ل Python Package Index (PyPI). Speech SDK ل Python متوافق مع Windows وLinux وmacOS.

تثبيت إصدار من 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 قبل تشغيل المثال.

إنشاء التطبيق

اتبع هذه الخطوات لإنشاء تطبيق وحدة تحكم.

  1. افتح نافذة موجه الأوامر في المجلد حيث تريد المشروع الجديد. قم بإنشاء ملف باسم speech_synthesis.py.

  2. قم بتشغيل هذا الأمر لتثبيت Speech SDK:

    pip install azure-cognitiveservices-speech
    
  3. انسخ الكود التالي إلى 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?")
    
  4. لتغيير لغة تركيب الكلام، استبدلها en-US-Ava:DragonHDLatestNeuralبصوت آخر مدعوم.

    جميع الأصوات العصبية هي متعددة اللغات وطلاقة في لغتهم الخاصة والإنكليزية. على سبيل المثال، إذا كان نص الإدخال باللغة الإنجليزية متحمسا لتجربة النص إلى كلام وقمت بتعيين es-ES-Ximena:DragonHDLatestNeural، يتم التحدث بالنص باللغة الإنجليزية بلكنة إسبانية. إذا كان الصوت لا يتحدث لغة نص الإدخال، فلن تقوم خدمة الكلام إخراج الصوت المركب.

  5. قم بتشغيل تطبيق وحدة التحكم الجديد لبدء تركيب الكلام إلى السماعة الافتراضية.

    python speech_synthesis.py
    

    Important

    تأكد من تعيين SPEECH_KEYENDPOINT. إذا لم تقم بتعيين هذه المتغيرات، تفشل العينة مع ظهور رسالة خطأ.

  6. أدخل بعض النصوص التي تريد التحدث بها. على سبيل المثال، اكتب أنا متحمس لمحاولة تحويل النص إلى كلام. حدد المفتاح Enter لسماع الكلام المركب.

    Enter some text that you want to speak > 
    I'm excited to try text to speech
    

Remarks

المزيد من خيارات تركيب الكلام

يستخدم speak_text_async هذا التشغيل السريع العملية لتجميع كتلة نص قصيرة تقوم بإدخالها. يمكنك أيضا استخدام نص طويل النماذج من ملف والحصول على تحكم أدق في أنماط الصوت والمحترفين والإعدادات الأخرى.

أصوات تحويل النص إلى كلام من 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

تعيين متغيرات البيئة

تحتاج إلى التحقق من صحتك للوصول إلى أدوات 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

الإعداد

  1. أنشئ مجلدا synthesis-quickstart جديدا وانتقل إلى مجلد التشغيل السريع باستخدام الأمر التالي:

    mkdir synthesis-quickstart && cd synthesis-quickstart
    
  2. package.json أنشئ باستخدام الأمر التالي:

    npm init -y
    
  3. package.json قم بتحديث إلى ECMAScript باستخدام الأمر التالي:

    npm pkg set type=module
    
  4. تثبيت Speech SDK ل JavaScript باستخدام:

    npm install microsoft-cognitiveservices-speech-sdk
    
  5. تحتاج إلى تثبيت تعريفات نوع 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 قبل تشغيل المثال.

تجميع الكلام إلى ملف

لترجمة الكلام من ملف:

  1. قم بإنشاء ملف جديد باسم 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، يتم التحدث بالنص باللغة الإنجليزية بلكنة إسبانية. إذا كان الصوت لا يتحدث لغة نص الإدخال، فلن تقوم خدمة الكلام إخراج الصوت المركب.

  2. 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"]
    }
    
  3. تحويل من TypeScript إلى JavaScript.

    tsc
    

    يجب ألا ينتج عن هذا الأمر أي إخراج إذا كان ناجحا.

  4. تشغيل تطبيق وحدة التحكم لبدء تركيب الكلام إلى ملف:

    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 هذا التشغيل السريع العملية لتجميع كتلة نص قصيرة تقوم بإدخالها. يمكنك أيضا استخدام نص طويل النماذج من ملف والحصول على تحكم أدق في أنماط الصوت والمحترفين والإعدادات الأخرى.

أصوات تحويل النص إلى كلام من OpenAI في Azure Speech in Foundry Tools

يتم أيضا دعم نص OpenAI لأصوات الكلام. انظر أصوات تحويل النص إلى كلام في OpenAI في Azure Speechوالأصوات متعددة اللغات. يمكنك استبدال en-US-Ava:DragonHDLatestNeural باسم صوت OpenAI معتمد مثل en-US-FableMultilingualNeural.

تنظيف الموارد

يمكنك استخدام مدخل Microsoft Azure أو واجهة سطر أوامر Azure (CLI) لإزالة مورد الكلام الذي قمت بإنشائه.

الخطوة التالية