مشاركة عبر


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

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

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

‏‫نَصِيحة

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

‏‫نَصِيحة

جرب Azure الذكاء الاصطناعي Speech Toolkit لإنشاء نماذج وتشغيلها بسهولة على Visual Studio Code.

المتطلبات الأساسية

إعداد البيئة

يتوفر Speech SDK كحزمة NuGet التي تنفذ .NET Standard 2.0. قم بتثبيت Speech SDK لاحقا في هذا الدليل باستخدام وحدة التحكم. للحصول على إرشادات التثبيت التفصيلية، راجع تثبيت Speech SDK.

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

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

هام

نوصي بمصادقة معرف 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

ملاحظة

إذا كنت بحاجة فقط إلى الوصول إلى متغيرات البيئة في وحدة التحكم الحالية، يمكنك تعيين متغير البيئة باستخدام 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-AvaMultilingualNeural"; 
    
            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-AvaMultilingualNeuralبصوت آخر مدعوم.

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

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

    dotnet run
    

    هام

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

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

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

الملاحظات

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

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

نص OpenAI لأصوات الكلام في Azure الذكاء الاصطناعي Speech

يتم أيضا دعم نص OpenAI لأصوات الكلام. راجع نص OpenAI لأصوات الكلام في Azure الذكاء الاصطناعي الكلاموالأصوات متعددة اللغات. يمكنك استبدال en-US-AvaMultilingualNeural باسم صوت OpenAI معتمد مثل en-US-FableMultilingualNeural.

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

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

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

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

‏‫نَصِيحة

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

‏‫نَصِيحة

جرب Azure الذكاء الاصطناعي Speech Toolkit لإنشاء نماذج وتشغيلها بسهولة على Visual Studio Code.

المتطلبات الأساسية

إعداد البيئة

يتوفر Speech SDK كحزمة NuGet التي تنفذ .NET Standard 2.0. قم بتثبيت Speech SDK لاحقا في هذا الدليل. للحصول على إرشادات التثبيت التفصيلية، راجع تثبيت Speech SDK.

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

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

هام

نوصي بمصادقة معرف 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

ملاحظة

إذا كنت بحاجة فقط إلى الوصول إلى متغيرات البيئة في وحدة التحكم الحالية، يمكنك تعيين متغير البيئة باستخدام 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-AvaMultilingualNeural");
    
        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. حدد Tools>Nuget Package Manager>Package Manager Console. في وحدة تحكم مدير الحزم، قم بتشغيل هذا الأمر:

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

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

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

    هام

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

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

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

الملاحظات

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

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

نص OpenAI لأصوات الكلام في Azure الذكاء الاصطناعي Speech

يتم أيضا دعم نص OpenAI لأصوات الكلام. راجع نص OpenAI لأصوات الكلام في Azure الذكاء الاصطناعي الكلاموالأصوات متعددة اللغات. يمكنك استبدال en-US-AvaMultilingualNeural باسم صوت OpenAI معتمد مثل en-US-FableMultilingualNeural.

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

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

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

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

‏‫نَصِيحة

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

‏‫نَصِيحة

جرب Azure الذكاء الاصطناعي Speech Toolkit لإنشاء نماذج وتشغيلها بسهولة على Visual Studio Code.

المتطلبات الأساسية

إعداد البيئة

تثبيت Speech SDK للغة Go. للحصول على إرشادات التثبيت التفصيلية، راجع تثبيت Speech SDK.

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

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

هام

نوصي بمصادقة معرف Microsoft Entra مع الهويات المدارة لموارد Azure لتجنب تخزين بيانات الاعتماد مع التطبيقات التي تعمل في السحابة.

استخدم مفاتيح واجهة برمجة التطبيقات بحذر. لا تقم بتضمين مفتاح API مباشرة في التعليمات البرمجية الخاصة بك، ولا تنشره بشكل عام. إذا كنت تستخدم مفاتيح واجهة برمجة التطبيقات، فخزنها بأمان في Azure Key Vault، وقم بتدوير المفاتيح بانتظام، وتقييد الوصول إلى Azure Key Vault باستخدام التحكم في الوصول المستند إلى الدور وقيود الوصول إلى الشبكة. لمزيد من المعلومات حول استخدام مفاتيح واجهة برمجة التطبيقات بشكل آمن في تطبيقاتك، راجع مفاتيح واجهة برمجة التطبيقات باستخدام Azure Key Vault.

لمزيد من المعلومات حول أمان خدمات الذكاء الاصطناعي، راجع مصادقة الطلبات إلى خدمات Azure الذكاء الاصطناعي.

لتعيين متغيرات البيئة لمفتاح مورد الكلام والمنطقة، افتح نافذة وحدة التحكم، واتبع الإرشادات الخاصة بنظام التشغيل وبيئة التطوير.

  • لتعيين SPEECH_KEY متغير البيئة، استبدل مفتاحك بأحد مفاتيح المورد الخاص بك.
  • لتعيين SPEECH_REGION متغير البيئة، استبدل منطقتك بإحدى المناطق لموردك.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region

ملاحظة

إذا كنت بحاجة فقط إلى الوصول إلى متغيرات البيئة في وحدة التحكم الحالية، يمكنك تعيين متغير البيئة باستخدام 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-AvaMultilingualNeural")
    
        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-AvaMultilingualNeuralبصوت آخر مدعوم.

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

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

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

    هام

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

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

    go build
    go run speech-synthesis
    

الملاحظات

نص OpenAI لأصوات الكلام في Azure الذكاء الاصطناعي Speech

يتم أيضا دعم نص OpenAI لأصوات الكلام. راجع نص OpenAI لأصوات الكلام في Azure الذكاء الاصطناعي الكلاموالأصوات متعددة اللغات. يمكنك استبدال en-US-AvaMultilingualNeural باسم صوت OpenAI معتمد مثل en-US-FableMultilingualNeural.

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

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

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

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

‏‫نَصِيحة

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

‏‫نَصِيحة

جرب Azure الذكاء الاصطناعي Speech Toolkit لإنشاء نماذج وتشغيلها بسهولة على Visual Studio Code.

المتطلبات الأساسية

إعداد البيئة

لإعداد بيئتك، قم بتثبيت 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
    

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

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

هام

نوصي بمصادقة معرف 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

ملاحظة

إذا كنت بحاجة فقط إلى الوصول إلى متغيرات البيئة في وحدة التحكم الحالية، يمكنك تعيين متغير البيئة باستخدام 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-AvaMultilingualNeural"); 
    
            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-AvaMultilingualNeuralبصوت آخر مدعوم.

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

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

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

    هام

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

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

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

الملاحظات

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

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

نص OpenAI لأصوات الكلام في Azure الذكاء الاصطناعي Speech

يتم أيضا دعم نص OpenAI لأصوات الكلام. راجع نص OpenAI لأصوات الكلام في Azure الذكاء الاصطناعي الكلاموالأصوات متعددة اللغات. يمكنك استبدال en-US-AvaMultilingualNeural باسم صوت OpenAI معتمد مثل en-US-FableMultilingualNeural.

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

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

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

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

‏‫نَصِيحة

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

‏‫نَصِيحة

جرب Azure الذكاء الاصطناعي Speech Toolkit لإنشاء نماذج وتشغيلها بسهولة على Visual Studio Code.

المتطلبات الأساسية

إعداد البيئة

لإعداد بيئتك، قم بتثبيت Speech SDK ل JavaScript. إذا كنت تريد فقط تثبيت اسم الحزمة، فقم بتشغيل npm install microsoft-cognitiveservices-speech-sdk . للحصول على إرشادات التثبيت التفصيلية، راجع تثبيت Speech SDK.

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

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

هام

نوصي بمصادقة معرف Microsoft Entra مع الهويات المدارة لموارد Azure لتجنب تخزين بيانات الاعتماد مع التطبيقات التي تعمل في السحابة.

استخدم مفاتيح واجهة برمجة التطبيقات بحذر. لا تقم بتضمين مفتاح API مباشرة في التعليمات البرمجية الخاصة بك، ولا تنشره بشكل عام. إذا كنت تستخدم مفاتيح واجهة برمجة التطبيقات، فخزنها بأمان في Azure Key Vault، وقم بتدوير المفاتيح بانتظام، وتقييد الوصول إلى Azure Key Vault باستخدام التحكم في الوصول المستند إلى الدور وقيود الوصول إلى الشبكة. لمزيد من المعلومات حول استخدام مفاتيح واجهة برمجة التطبيقات بشكل آمن في تطبيقاتك، راجع مفاتيح واجهة برمجة التطبيقات باستخدام Azure Key Vault.

لمزيد من المعلومات حول أمان خدمات الذكاء الاصطناعي، راجع مصادقة الطلبات إلى خدمات Azure الذكاء الاصطناعي.

لتعيين متغيرات البيئة لمفتاح مورد الكلام والمنطقة، افتح نافذة وحدة التحكم، واتبع الإرشادات الخاصة بنظام التشغيل وبيئة التطوير.

  • لتعيين SPEECH_KEY متغير البيئة، استبدل مفتاحك بأحد مفاتيح المورد الخاص بك.
  • لتعيين SPEECH_REGION متغير البيئة، استبدل منطقتك بإحدى المناطق لموردك.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region

ملاحظة

إذا كنت بحاجة فقط إلى الوصول إلى متغيرات البيئة في وحدة التحكم الحالية، يمكنك تعيين متغير البيئة باستخدام set بدلا من setx.

بعد إضافة متغيرات البيئة، قد تحتاج إلى إعادة تشغيل أي برامج تحتاج إلى قراءة متغيرات البيئة، بما في ذلك نافذة وحدة التحكم. على سبيل المثال، إذا كنت تستخدم Visual Studio كمحرر، فقم بإعادة تشغيل Visual Studio قبل تشغيل المثال.

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

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

  1. افتح نافذة وحدة تحكم حيث تريد المشروع الجديد، وأنشئ ملفا باسم SpeechSynthesis.js.

  2. تثبيت Speech SDK ل JavaScript:

    npm install microsoft-cognitiveservices-speech-sdk
    
  3. انسخ التعليمات البرمجية التالية إلى SpeechSynthesis.js:

    (function() {
    
        "use strict";
    
        var sdk = require("microsoft-cognitiveservices-speech-sdk");
        var readline = require("readline");
    
        var audioFile = "YourAudioFile.wav";
        // This example requires environment variables named "SPEECH_KEY" and "SPEECH_REGION"
        const speechConfig = sdk.SpeechConfig.fromSubscription(process.env.SPEECH_KEY, process.env.SPEECH_REGION);
        const audioConfig = sdk.AudioConfig.fromAudioFileOutput(audioFile);
    
        // The language of the voice that speaks.
        speechConfig.speechSynthesisVoiceName = "en-US-AvaMultilingualNeural"; 
    
        // Create the speech synthesizer.
        var synthesizer = new sdk.SpeechSynthesizer(speechConfig, audioConfig);
    
        var rl = readline.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 === sdk.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();
            synthesizer = null;
          },
              function (err) {
            console.trace("err - " + err);
            synthesizer.close();
            synthesizer = null;
          });
          console.log("Now synthesizing to: " + audioFile);
        });
    }());
    
  4. في SpeechSynthesis.js، يمكنك اختياريا إعادة تسمية YourAudioFile.wav باسم ملف إخراج آخر.

  5. لتغيير لغة تركيب الكلام، استبدل en-US-AvaMultilingualNeuralبصوت آخر مدعوم.

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

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

    node SpeechSynthesis.js
    

    هام

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

  7. يجب أن يكون النص المقدم في ملف صوتي:

    Enter some text that you want to speak >
    > I'm excited to try text to speech
    Now synthesizing to: YourAudioFile.wav
    synthesis finished.
    

الملاحظات

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

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

نص OpenAI لأصوات الكلام في Azure الذكاء الاصطناعي Speech

يتم أيضا دعم نص OpenAI لأصوات الكلام. راجع نص OpenAI لأصوات الكلام في Azure الذكاء الاصطناعي الكلاموالأصوات متعددة اللغات. يمكنك استبدال en-US-AvaMultilingualNeural باسم صوت OpenAI معتمد مثل en-US-FableMultilingualNeural.

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

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

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

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

‏‫نَصِيحة

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

‏‫نَصِيحة

جرب Azure الذكاء الاصطناعي Speech Toolkit لإنشاء نماذج وتشغيلها بسهولة على Visual Studio Code.

المتطلبات الأساسية

إعداد البيئة

يتم توزيع Speech SDK Objective-C كحزمة إطار عمل. يدعم إطار العمل كلا من Objective-C وSwift على كل من iOS وmacOS.

يمكن استخدام Speech SDK في مشاريع Xcode ك CocoaPod، أو تنزيلها مباشرة وربطها يدويا. يستخدم هذا الدليل CocoaPod. قم بتثبيت مدير تبعية CocoaPod كما هو موضح في إرشادات التثبيت الخاصة به.

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

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

هام

نوصي بمصادقة معرف Microsoft Entra مع الهويات المدارة لموارد Azure لتجنب تخزين بيانات الاعتماد مع التطبيقات التي تعمل في السحابة.

استخدم مفاتيح واجهة برمجة التطبيقات بحذر. لا تقم بتضمين مفتاح API مباشرة في التعليمات البرمجية الخاصة بك، ولا تنشره بشكل عام. إذا كنت تستخدم مفاتيح واجهة برمجة التطبيقات، فخزنها بأمان في Azure Key Vault، وقم بتدوير المفاتيح بانتظام، وتقييد الوصول إلى Azure Key Vault باستخدام التحكم في الوصول المستند إلى الدور وقيود الوصول إلى الشبكة. لمزيد من المعلومات حول استخدام مفاتيح واجهة برمجة التطبيقات بشكل آمن في تطبيقاتك، راجع مفاتيح واجهة برمجة التطبيقات باستخدام Azure Key Vault.

لمزيد من المعلومات حول أمان خدمات الذكاء الاصطناعي، راجع مصادقة الطلبات إلى خدمات Azure الذكاء الاصطناعي.

لتعيين متغيرات البيئة لمفتاح مورد الكلام والمنطقة، افتح نافذة وحدة التحكم، واتبع الإرشادات الخاصة بنظام التشغيل وبيئة التطوير.

  • لتعيين SPEECH_KEY متغير البيئة، استبدل مفتاحك بأحد مفاتيح المورد الخاص بك.
  • لتعيين SPEECH_REGION متغير البيئة، استبدل منطقتك بإحدى المناطق لموردك.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region

ملاحظة

إذا كنت بحاجة فقط إلى الوصول إلى متغيرات البيئة في وحدة التحكم الحالية، يمكنك تعيين متغير البيئة باستخدام set بدلا من setx.

بعد إضافة متغيرات البيئة، قد تحتاج إلى إعادة تشغيل أي برامج تحتاج إلى قراءة متغيرات البيئة، بما في ذلك نافذة وحدة التحكم. على سبيل المثال، إذا كنت تستخدم Visual Studio كمحرر، فقم بإعادة تشغيل Visual Studio قبل تشغيل المثال.

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

اتبع هذه الخطوات لتجميع الكلام في تطبيق macOS.

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

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

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

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

  5. افتح الملف المسمى AppDelegate.m وحدد موقع buttonPressed الأسلوب كما هو موضح هنا.

    - (void)buttonPressed:(NSButton *)button {
        // Creates an instance of a speech config with specified subscription key and service region.
        NSString *speechKey = [[[NSProcessInfo processInfo] environment] objectForKey:@"SPEECH_KEY"];
        NSString *serviceRegion = [[[NSProcessInfo processInfo] environment] objectForKey:@"SPEECH_REGION"];
    
        SPXSpeechConfiguration *speechConfig = [[SPXSpeechConfiguration alloc] initWithSubscription:speechKey region:serviceRegion];
        speechConfig.speechSynthesisVoiceName = @"en-US-AvaMultilingualNeural";
        SPXSpeechSynthesizer *speechSynthesizer = [[SPXSpeechSynthesizer alloc] init:speechConfig];
    
        NSLog(@"Start synthesizing...");
    
        SPXSpeechSynthesisResult *speechResult = [speechSynthesizer speakText:[self.textField stringValue]];
    
        // Checks result.
        if (SPXResultReason_Canceled == speechResult.reason) {
            SPXSpeechSynthesisCancellationDetails *details = [[SPXSpeechSynthesisCancellationDetails alloc] initFromCanceledSynthesisResult:speechResult];
            NSLog(@"Speech synthesis was canceled: %@. Did you set the speech resource key and region values?", details.errorDetails);
        } else if (SPXResultReason_SynthesizingAudioCompleted == speechResult.reason) {
            NSLog(@"Speech synthesis was completed");
        } else {
            NSLog(@"There was an error.");
        }
    }
    
  6. في AppDelegate.m، استخدم متغيرات البيئة التي قمت بتعيينها مسبقا لمفتاح مورد الكلام والمنطقة.

    NSString *speechKey = [[[NSProcessInfo processInfo] environment] objectForKey:@"SPEECH_KEY"];
    NSString *serviceRegion = [[[NSProcessInfo processInfo] environment] objectForKey:@"SPEECH_REGION"];
    
  7. اختياريا في AppDelegate.m، قم بتضمين اسم صوت تجميع الكلام كما هو موضح هنا:

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

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

  9. لجعل إخراج التصحيح مرئيا، حدد View>Debug Area>Activate Console.

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

    هام

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

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

الملاحظات

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

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

نص OpenAI لأصوات الكلام في Azure الذكاء الاصطناعي Speech

يتم أيضا دعم نص OpenAI لأصوات الكلام. راجع نص OpenAI لأصوات الكلام في Azure الذكاء الاصطناعي الكلاموالأصوات متعددة اللغات. يمكنك استبدال en-US-AvaMultilingualNeural باسم صوت OpenAI معتمد مثل en-US-FableMultilingualNeural.

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

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

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

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

‏‫نَصِيحة

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

‏‫نَصِيحة

جرب Azure الذكاء الاصطناعي Speech Toolkit لإنشاء نماذج وتشغيلها بسهولة على Visual Studio Code.

المتطلبات الأساسية

إعداد البيئة

يتم توزيع Speech SDK ل Swift كحزمة إطار عمل. يدعم إطار العمل كلا من Objective-C وSwift على كل من iOS وmacOS.

يمكن استخدام Speech SDK في مشاريع Xcode ك CocoaPod، أو تنزيلها مباشرة وربطها يدويا. يستخدم هذا الدليل CocoaPod. قم بتثبيت مدير تبعية CocoaPod كما هو موضح في إرشادات التثبيت الخاصة به.

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

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

هام

نوصي بمصادقة معرف Microsoft Entra مع الهويات المدارة لموارد Azure لتجنب تخزين بيانات الاعتماد مع التطبيقات التي تعمل في السحابة.

استخدم مفاتيح واجهة برمجة التطبيقات بحذر. لا تقم بتضمين مفتاح API مباشرة في التعليمات البرمجية الخاصة بك، ولا تنشره بشكل عام. إذا كنت تستخدم مفاتيح واجهة برمجة التطبيقات، فخزنها بأمان في Azure Key Vault، وقم بتدوير المفاتيح بانتظام، وتقييد الوصول إلى Azure Key Vault باستخدام التحكم في الوصول المستند إلى الدور وقيود الوصول إلى الشبكة. لمزيد من المعلومات حول استخدام مفاتيح واجهة برمجة التطبيقات بشكل آمن في تطبيقاتك، راجع مفاتيح واجهة برمجة التطبيقات باستخدام Azure Key Vault.

لمزيد من المعلومات حول أمان خدمات الذكاء الاصطناعي، راجع مصادقة الطلبات إلى خدمات Azure الذكاء الاصطناعي.

لتعيين متغيرات البيئة لمفتاح مورد الكلام والمنطقة، افتح نافذة وحدة التحكم، واتبع الإرشادات الخاصة بنظام التشغيل وبيئة التطوير.

  • لتعيين SPEECH_KEY متغير البيئة، استبدل مفتاحك بأحد مفاتيح المورد الخاص بك.
  • لتعيين SPEECH_REGION متغير البيئة، استبدل منطقتك بإحدى المناطق لموردك.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region

ملاحظة

إذا كنت بحاجة فقط إلى الوصول إلى متغيرات البيئة في وحدة التحكم الحالية، يمكنك تعيين متغير البيئة باستخدام 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-AvaMultilingualNeural";
    
            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-AvaMultilingualNeural";
    
  8. لتغيير لغة تركيب الكلام، استبدل en-US-AvaMultilingualNeuralبصوت آخر مدعوم.

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

  9. لجعل إخراج التصحيح مرئيا، حدد View>Debug Area>Activate Console.

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

هام

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

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

الملاحظات

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

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

نص OpenAI لأصوات الكلام في Azure الذكاء الاصطناعي Speech

يتم أيضا دعم نص OpenAI لأصوات الكلام. راجع نص OpenAI لأصوات الكلام في Azure الذكاء الاصطناعي الكلاموالأصوات متعددة اللغات. يمكنك استبدال en-US-AvaMultilingualNeural باسم صوت OpenAI معتمد مثل en-US-FableMultilingualNeural.

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

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

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

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

‏‫نَصِيحة

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

‏‫نَصِيحة

جرب Azure الذكاء الاصطناعي Speech Toolkit لإنشاء نماذج وتشغيلها بسهولة على Visual Studio Code.

المتطلبات الأساسية

إعداد البيئة

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

تثبيت إصدار من Python من 3.7 أو أحدث. للحصول على أي متطلبات، راجع تثبيت Speech SDK.

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

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

هام

نوصي بمصادقة معرف 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

ملاحظة

إذا كنت بحاجة فقط إلى الوصول إلى متغيرات البيئة في وحدة التحكم الحالية، يمكنك تعيين متغير البيئة باستخدام 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-AvaMultilingualNeural'
    
    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-AvaMultilingualNeuralبصوت آخر مدعوم.

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

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

    python speech_synthesis.py
    

    هام

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

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

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

الملاحظات

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

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

نص OpenAI لأصوات الكلام في Azure الذكاء الاصطناعي Speech

يتم أيضا دعم نص OpenAI لأصوات الكلام. راجع نص OpenAI لأصوات الكلام في Azure الذكاء الاصطناعي الكلاموالأصوات متعددة اللغات. يمكنك استبدال en-US-AvaMultilingualNeural باسم صوت OpenAI معتمد مثل en-US-FableMultilingualNeural.

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

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

مرجع | Speech to text REST API for short audio reference | عينات إضافية على GitHub

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

‏‫نَصِيحة

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

‏‫نَصِيحة

جرب Azure الذكاء الاصطناعي Speech Toolkit لإنشاء نماذج وتشغيلها بسهولة على Visual Studio Code.

المتطلبات الأساسية

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

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

هام

نوصي بمصادقة معرف Microsoft Entra مع الهويات المدارة لموارد Azure لتجنب تخزين بيانات الاعتماد مع التطبيقات التي تعمل في السحابة.

استخدم مفاتيح واجهة برمجة التطبيقات بحذر. لا تقم بتضمين مفتاح API مباشرة في التعليمات البرمجية الخاصة بك، ولا تنشره بشكل عام. إذا كنت تستخدم مفاتيح واجهة برمجة التطبيقات، فخزنها بأمان في Azure Key Vault، وقم بتدوير المفاتيح بانتظام، وتقييد الوصول إلى Azure Key Vault باستخدام التحكم في الوصول المستند إلى الدور وقيود الوصول إلى الشبكة. لمزيد من المعلومات حول استخدام مفاتيح واجهة برمجة التطبيقات بشكل آمن في تطبيقاتك، راجع مفاتيح واجهة برمجة التطبيقات باستخدام Azure Key Vault.

لمزيد من المعلومات حول أمان خدمات الذكاء الاصطناعي، راجع مصادقة الطلبات إلى خدمات Azure الذكاء الاصطناعي.

لتعيين متغيرات البيئة لمفتاح مورد الكلام والمنطقة، افتح نافذة وحدة التحكم، واتبع الإرشادات الخاصة بنظام التشغيل وبيئة التطوير.

  • لتعيين SPEECH_KEY متغير البيئة، استبدل مفتاحك بأحد مفاتيح المورد الخاص بك.
  • لتعيين SPEECH_REGION متغير البيئة، استبدل منطقتك بإحدى المناطق لموردك.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region

ملاحظة

إذا كنت بحاجة فقط إلى الوصول إلى متغيرات البيئة في وحدة التحكم الحالية، يمكنك تعيين متغير البيئة باستخدام 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-AvaMultilingualNeural'>my voice is my passport verify me</voice></speak>" --output output.mp3

هام

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

يجب أن يكون النص المقدم ناتجا إلى ملف صوتي يسمى output.mp3.

لتغيير لغة تركيب الكلام، استبدل en-US-AvaMultilingualNeuralبصوت آخر مدعوم.

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

لمزيد من المعلومات، راجع واجهة برمجة تطبيقات REST لتحويل النص إلى كلام.

الملاحظات

نص OpenAI لأصوات الكلام في Azure الذكاء الاصطناعي Speech

يتم أيضا دعم نص OpenAI لأصوات الكلام. راجع نص OpenAI لأصوات الكلام في Azure الذكاء الاصطناعي الكلاموالأصوات متعددة اللغات. يمكنك استبدال en-US-AvaMultilingualNeural باسم صوت OpenAI معتمد مثل en-US-FableMultilingualNeural.

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

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

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

‏‫نَصِيحة

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

‏‫نَصِيحة

جرب Azure الذكاء الاصطناعي Speech Toolkit لإنشاء نماذج وتشغيلها بسهولة على Visual Studio Code.

المتطلبات الأساسية

إعداد البيئة

اتبع هذه الخطوات وشاهد التشغيل السريع ل Speech CLI لمعرفة المتطلبات الأخرى للنظام الأساسي الخاص بك.

  1. قم بتشغيل الأمر .NET CLI التالي لتثبيت Speech CLI:

    dotnet tool install --global Microsoft.CognitiveServices.Speech.CLI
    
  2. قم بتشغيل الأوامر التالية لتكوين مفتاح مورد الكلام والمنطقة. استبدل SUBSCRIPTION-KEY بمفتاح مورد Speech واستبدل REGION بمنطقة مورد Speech.

    spx config @key --set SUBSCRIPTION-KEY
    spx config @region --set REGION
    

إرسال الكلام إلى السماعة

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

spx synthesize --text "I'm excited to try text to speech" --voice "en-US-AvaMultilingualNeural"

إذا لم تقم بتعيين اسم صوت، فإن الصوت الافتراضي للكلام en-US .

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

قم بتشغيل هذا الأمر للحصول على معلومات حول المزيد من خيارات تركيب الكلام، مثل إدخال الملف وإخراجه:

spx help synthesize

الملاحظات

دعم SSML

يمكنك التحكم بشكل أفضل في أنماط الصوت والمحترفين والإعدادات الأخرى باستخدام لغة ترميز تركيب الكلام (SSML).

نص OpenAI لأصوات الكلام في Azure الذكاء الاصطناعي Speech

يتم أيضا دعم نص OpenAI لأصوات الكلام. راجع نص OpenAI لأصوات الكلام في Azure الذكاء الاصطناعي الكلاموالأصوات متعددة اللغات. يمكنك استبدال en-US-AvaMultilingualNeural باسم صوت OpenAI معتمد مثل en-US-FableMultilingualNeural.

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

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

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