التشغيل السريع: التعرّف على الكلام وتحويله إلى نص
هام
قد تتوفر بعض الميزات الموضحة في هذه المقالة فقط في المعاينة. يتم توفير هذه المعاينة دون اتفاقية على مستوى الخدمة، ولا نوصي بها لأحمال عمل الإنتاج. بعض الميزات ربما لا تكون مدعمة أو بها بعض القدرات المقيدة. لمزيد من المعلومات، راجع شروط الاستخدام التكميلية لمعاينات Microsoft Azure.
في هذا التشغيل السريع، يمكنك محاولة تحويل الكلام في الوقت الحقيقي إلى نص في Azure الذكاء الاصطناعي Studio.
المتطلبات الأساسية
- اشتراك Azure - إنشاء حساب مجانًا
- بعض ميزات خدمات الذكاء الاصطناعي مجانية لتجربتها في الذكاء الاصطناعي Studio. للوصول إلى جميع الإمكانات الموضحة في هذه المقالة، تحتاج إلى توصيل خدمات الذكاء الاصطناعي بمركزك في الذكاء الاصطناعي Studio.
تجربة تحويل الكلام إلى نص في الوقت الحقيقي
انتقل إلى الصفحة الرئيسية في الذكاء الاصطناعي Studio ثم حدد الذكاء الاصطناعي Services من الجزء الأيمن.
حدد Speech من قائمة خدمات الذكاء الاصطناعي.
حدد تحويل الكلام في الوقت الحقيقي إلى نص.
في قسم Try it out ، حدد اتصال الذكاء الاصطناعي services الخاص بالمركز. لمزيد من المعلومات حول اتصالات خدمات الذكاء الاصطناعي، راجع توصيل خدمات الذكاء الاصطناعي بمركزك في الذكاء الاصطناعي Studio.
حدد إظهار الخيارات المتقدمة لتكوين الكلام إلى خيارات نصية مثل:
- تعريف اللغة: يستخدم لتحديد اللغات المنطوقة في الصوت عند مقارنتها بقائمة اللغات المدعومة. لمزيد من المعلومات حول خيارات تعريف اللغة مثل في البداية والتعرف المستمر، راجع تعريف اللغة.
- يوميات المحاضر: تستخدم لتحديد السماعات وفصلها في الصوت. تميز اليوميات بين المتحدثين المختلفين الذين يشاركون في المحادثة. توفر خدمة الكلام معلومات حول المتحدث الذي كان يتحدث جزءا معينا من الكلام المنسوخ. لمزيد من المعلومات حول يوميات المحاضر، راجع التشغيل السريع للخطاب في الوقت الحقيقي إلى النص باستخدام يوميات المحاضر .
- نقطة النهاية المخصصة: استخدم نموذجا منشورا من الكلام المخصص لتحسين دقة التعرف. لاستخدام النموذج الأساسي ل Microsoft، اترك هذه المجموعة على بلا. لمزيد من المعلومات حول الكلام المخصص، راجع الكلام المخصص.
- تنسيق الإخراج: اختر بين تنسيقات الإخراج البسيطة والمفصلة. يتضمن الإخراج البسيط تنسيق العرض والطوابع الزمنية. يتضمن الإخراج التفصيلي المزيد من التنسيقات (مثل العرض والمعجمي و ITN و ITN المقنع) والطوابع الزمنية وقوائم N-best.
- قائمة العبارات: تحسين دقة النسخ من خلال توفير قائمة بالعبارات المعروفة، مثل أسماء الأشخاص أو مواقع محددة. استخدم الفواصل أو الفواصل المنقطة لفصل كل قيمة في قائمة العبارات. لمزيد من المعلومات حول قوائم العبارات، راجع قوائم العبارات.
حدد ملفا صوتيا لتحميله أو تسجيل الصوت في الوقت الفعلي. في هذا المثال، نستخدم
Call1_separated_16k_health_insurance.wav
الملف المتوفر في مستودع Speech SDK على GitHub. يمكنك تنزيل الملف أو استخدام ملف الصوت الخاص بك.يمكنك عرض الكلام في الوقت الحقيقي لنتائج النص في قسم النتائج .
حزمة الوثائق المرجعية | (NuGet) | عينات إضافية على GitHub
في هذا التشغيل السريع، يمكنك إنشاء وتشغيل تطبيق للتعرف على الكلام ونسخه إلى نص في الوقت الفعلي.
لنسخ الملفات الصوتية بدلا من ذلك بشكل غير متزامن، راجع ما هو النسخ الدفعي. إذا لم تكن متأكدا من حل الكلام إلى النص المناسب لك، فشاهد ما هو تحويل الكلام إلى نص؟
المتطلبات الأساسية
- اشتراك Azure - إنشاء حساب مجانًا
- إنشاء مورد Speech في مدخل Microsoft Azure.
- مفتاح مورد الكلام والمنطقة. بعد توزيع مورد Speech، اختر الانتقال إلى المورد لعرض المفاتيح وإدارتها. لمزيد من المعلومات حول موارد خدمات Azure الذكاء الاصطناعي، راجع الحصول على مفاتيح المورد الخاص بك.
إعداد البيئة
يتوفر Speech SDK كحزمة NuGet وينفذ .NET Standard 2.0. يمكنك تثبيت Speech SDK لاحقا في هذا الدليل. للحصول على أي متطلبات أخرى، راجع تثبيت Speech SDK.
تعيين متغيرات البيئة
يجب مصادقة التطبيق الخاص بك للوصول إلى موارد خدمات Azure الذكاء الاصطناعي. وللإنتاج، استخدم طريقة آمنة لتخزين بيانات الاعتماد والوصول إليها. على سبيل المثال، بعد الحصول على مفتاح لمورد Speech، اكتبه إلى متغير بيئة جديد على الجهاز المحلي الذي يقوم بتشغيل التطبيق.
تلميح
لا تقم بتضمين المفتاح مباشرة في التعليمات البرمجية الخاصة بك، ولا تنشره بشكل عام. راجع أمان خدمات Azure الذكاء الاصطناعي لمزيد من خيارات المصادقة مثل Azure Key Vault.
لتعيين متغير البيئة لمفتاح مورد Speech، افتح نافذة وحدة التحكم، واتبع الإرشادات الخاصة بنظام التشغيل وبيئة التطوير.
- لتعيين
SPEECH_KEY
متغير البيئة، استبدل مفتاحك بأحد مفاتيح المورد الخاص بك. - لتعيين
SPEECH_REGION
متغير البيئة، استبدل منطقتك بإحدى المناطق لموردك.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region
إشعار
إذا كنت بحاجة فقط إلى الوصول إلى متغيرات البيئة في وحدة التحكم الحالية، يمكنك تعيين متغير البيئة باستخدام set
بدلا من setx
.
بعد إضافة متغيرات البيئة، قد تحتاج إلى إعادة تشغيل أي برامج تحتاج إلى قراءة متغير البيئة، بما في ذلك نافذة وحدة التحكم. على سبيل المثال، إذا كنت تستخدم Visual Studio كمحرر، فقم بإعادة تشغيل Visual Studio قبل تشغيل المثال.
التعرّف على الكلام من الميكروفون
اتبع هذه الخطوات لإنشاء تطبيق وحدة تحكم وتثبيت Speech SDK.
افتح نافذة موجه الأوامر في المجلد حيث تريد المشروع الجديد. قم بتشغيل هذا الأمر لإنشاء تطبيق وحدة تحكم باستخدام .NET CLI.
dotnet new console
ينشئ هذا الأمر ملف Program.cs في دليل المشروع.
قم بتثبيت Speech SDK في مشروعك الجديد باستخدام .NET CLI.
dotnet add package Microsoft.CognitiveServices.Speech
استبدال محتويات Program.cs بالتعليمة البرمجية التالية:
using System; using System.IO; using System.Threading.Tasks; using Microsoft.CognitiveServices.Speech; using Microsoft.CognitiveServices.Speech.Audio; class Program { // This example requires environment variables named "SPEECH_KEY" and "SPEECH_REGION" static string speechKey = Environment.GetEnvironmentVariable("SPEECH_KEY"); static string speechRegion = Environment.GetEnvironmentVariable("SPEECH_REGION"); static void OutputSpeechRecognitionResult(SpeechRecognitionResult speechRecognitionResult) { switch (speechRecognitionResult.Reason) { case ResultReason.RecognizedSpeech: Console.WriteLine($"RECOGNIZED: Text={speechRecognitionResult.Text}"); break; case ResultReason.NoMatch: Console.WriteLine($"NOMATCH: Speech could not be recognized."); break; case ResultReason.Canceled: var cancellation = CancellationDetails.FromResult(speechRecognitionResult); 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 region values?"); } break; } } async static Task Main(string[] args) { var speechConfig = SpeechConfig.FromSubscription(speechKey, speechRegion); speechConfig.SpeechRecognitionLanguage = "en-US"; using var audioConfig = AudioConfig.FromDefaultMicrophoneInput(); using var speechRecognizer = new SpeechRecognizer(speechConfig, audioConfig); Console.WriteLine("Speak into your microphone."); var speechRecognitionResult = await speechRecognizer.RecognizeOnceAsync(); OutputSpeechRecognitionResult(speechRecognitionResult); } }
لتغيير لغة التعرّف على الكلام، استبدل
en-US
بلغة الأخرى المعتمدة. على سبيل المثال، استخدمes-ES
للإسبانية (إسبانيا). إذا لم تحدد لغة، فإن الإعداد الافتراضي هوen-US
. للحصول على تفاصيل حول كيفية تحديد إحدى اللغات المتعددة التي قد يتم التحدث بها، راجع تعريف اللغة.شغّل تطبيق وحدة التحكم الجديد لبدء التعرّف على الكلام من ميكروفون:
dotnet run
هام
تأكد من تعيين متغيري البيئة و
SPEECH_REGION
.SPEECH_KEY
إذا لم تقم بتعيين هذه المتغيرات، تفشل العينة مع ظهور رسالة خطأ.تحدّث باستخدام الميكروفون عند مطالبتك بذلك. يجب أن يظهر ما تتحدثه كنص:
Speak into your microphone. RECOGNIZED: Text=I'm excited to try speech to text.
الملاحظات
فيما يلي بعض الاعتبارات الأخرى:
يستخدم هذا المثال عملية
RecognizeOnceAsync
لكتابة العبارات المنطوقة طوال مدة تصل إلى 30 ثانية، أو حتى يتم اكتشاف صمت. للحصول على معلومات حول التعرّف المستمر على المقاطع الصوتية الأطول، بما يشمل المحادثات متعددة اللغات، راجع كيفية التعرّف على الكلام.للتعرّف على الكلام من ملف صوتي، استخدم
FromWavFileInput
بدلًا منFromDefaultMicrophoneInput
:using var audioConfig = AudioConfig.FromWavFileInput("YourAudioFile.wav");
بالنسبة إلى الملفات الصوتية المضغوطة مثل ملفات MP4، ثبّت GStreamer واستخدم
PullAudioInputStream
أوPushAudioInputStream
. لمزيد من المعلومات، راجع كيفية استخدام صوت الإدخال المضغوط.
تنظيف الموارد
يمكنك استخدام مدخل Azure أو واجهة سطر الأوامر (CLI) في Azure لإزالة مورد Speech الذي أنشأته.
حزمة الوثائق المرجعية | (NuGet) | عينات إضافية على GitHub
في هذا التشغيل السريع، يمكنك إنشاء وتشغيل تطبيق للتعرف على الكلام ونسخه إلى نص في الوقت الفعلي.
لنسخ الملفات الصوتية بدلا من ذلك بشكل غير متزامن، راجع ما هو النسخ الدفعي. إذا لم تكن متأكدا من حل الكلام إلى النص المناسب لك، فشاهد ما هو تحويل الكلام إلى نص؟
المتطلبات الأساسية
- اشتراك Azure - إنشاء حساب مجانًا
- إنشاء مورد Speech في مدخل Microsoft Azure.
- مفتاح مورد الكلام والمنطقة. بعد توزيع مورد Speech، اختر الانتقال إلى المورد لعرض المفاتيح وإدارتها. لمزيد من المعلومات حول موارد خدمات Azure الذكاء الاصطناعي، راجع الحصول على مفاتيح المورد الخاص بك.
إعداد البيئة
يتوفر Speech SDK كحزمة NuGet وينفذ .NET Standard 2.0. يمكنك تثبيت Speech SDK لاحقا في هذا الدليل. للحصول على متطلبات أخرى، راجع تثبيت Speech SDK.
تعيين متغيرات البيئة
يجب مصادقة التطبيق الخاص بك للوصول إلى موارد خدمات Azure الذكاء الاصطناعي. وللإنتاج، استخدم طريقة آمنة لتخزين بيانات الاعتماد والوصول إليها. على سبيل المثال، بعد الحصول على مفتاح لمورد Speech، اكتبه إلى متغير بيئة جديد على الجهاز المحلي الذي يقوم بتشغيل التطبيق.
تلميح
لا تقم بتضمين المفتاح مباشرة في التعليمات البرمجية الخاصة بك، ولا تنشره بشكل عام. راجع أمان خدمات Azure الذكاء الاصطناعي لمزيد من خيارات المصادقة مثل Azure Key Vault.
لتعيين متغير البيئة لمفتاح مورد Speech، افتح نافذة وحدة التحكم، واتبع الإرشادات الخاصة بنظام التشغيل وبيئة التطوير.
- لتعيين
SPEECH_KEY
متغير البيئة، استبدل مفتاحك بأحد مفاتيح المورد الخاص بك. - لتعيين
SPEECH_REGION
متغير البيئة، استبدل منطقتك بإحدى المناطق لموردك.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region
إشعار
إذا كنت بحاجة فقط إلى الوصول إلى متغيرات البيئة في وحدة التحكم الحالية، يمكنك تعيين متغير البيئة باستخدام set
بدلا من setx
.
بعد إضافة متغيرات البيئة، قد تحتاج إلى إعادة تشغيل أي برامج تحتاج إلى قراءة متغير البيئة، بما في ذلك نافذة وحدة التحكم. على سبيل المثال، إذا كنت تستخدم Visual Studio كمحرر، فقم بإعادة تشغيل Visual Studio قبل تشغيل المثال.
التعرّف على الكلام من الميكروفون
اتبع هذه الخطوات لإنشاء تطبيق وحدة تحكم وتثبيت Speech SDK.
إنشاء مشروع وحدة تحكم C++ جديد في Visual Studio Community المسمى
SpeechRecognition
.حدد Tools>Nuget مدير الحِزَم> مدير الحِزَم Console. في وحدة تحكم مدير الحِزَم، قم بتشغيل هذا الأمر:
Install-Package Microsoft.CognitiveServices.Speech
استبدل محتويات
SpeechRecognition.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 "SPEECH_REGION" auto speechKey = GetEnvironmentVariable("SPEECH_KEY"); auto speechRegion = GetEnvironmentVariable("SPEECH_REGION"); if ((size(speechKey) == 0) || (size(speechRegion) == 0)) { std::cout << "Please set both SPEECH_KEY and SPEECH_REGION environment variables." << std::endl; return -1; } auto speechConfig = SpeechConfig::FromSubscription(speechKey, speechRegion); speechConfig->SetSpeechRecognitionLanguage("en-US"); auto audioConfig = AudioConfig::FromDefaultMicrophoneInput(); auto speechRecognizer = SpeechRecognizer::FromConfig(speechConfig, audioConfig); std::cout << "Speak into your microphone.\n"; auto result = speechRecognizer->RecognizeOnceAsync().get(); if (result->Reason == ResultReason::RecognizedSpeech) { std::cout << "RECOGNIZED: Text=" << result->Text << std::endl; } else if (result->Reason == ResultReason::NoMatch) { std::cout << "NOMATCH: Speech could not be recognized." << std::endl; } else if (result->Reason == ResultReason::Canceled) { auto cancellation = CancellationDetails::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 region values?" << std::endl; } } } 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 }
لتغيير لغة التعرّف على الكلام، استبدل
en-US
بلغة الأخرى المعتمدة. على سبيل المثال، استخدمes-ES
للإسبانية (إسبانيا). إذا لم تحدد لغة، فإن الإعداد الافتراضي هوen-US
. للحصول على تفاصيل حول كيفية تحديد إحدى اللغات المتعددة التي قد يتم التحدث بها، راجع تعريف اللغة.قم بإنشاء وتشغيلتطبيق وحدة التحكم الجديد لبدء التعرف على الكلام من ميكروفون.
هام
تأكد من تعيين متغيري البيئة و
SPEECH_REGION
.SPEECH_KEY
إذا لم تقم بتعيين هذه المتغيرات، تفشل العينة مع ظهور رسالة خطأ.تحدّث باستخدام الميكروفون عند مطالبتك بذلك. يجب أن يظهر ما تتحدثه كنص:
Speak into your microphone. RECOGNIZED: Text=I'm excited to try speech to text.
الملاحظات
فيما يلي بعض الاعتبارات الأخرى:
يستخدم هذا المثال عملية
RecognizeOnceAsync
لكتابة العبارات المنطوقة طوال مدة تصل إلى 30 ثانية، أو حتى يتم اكتشاف صمت. للحصول على معلومات حول التعرّف المستمر على المقاطع الصوتية الأطول، بما يشمل المحادثات متعددة اللغات، راجع كيفية التعرّف على الكلام.للتعرّف على الكلام من ملف صوتي، استخدم
FromWavFileInput
بدلًا منFromDefaultMicrophoneInput
:auto audioConfig = AudioConfig::FromWavFileInput("YourAudioFile.wav");
بالنسبة إلى الملفات الصوتية المضغوطة مثل ملفات MP4، ثبّت GStreamer واستخدم
PullAudioInputStream
أوPushAudioInputStream
. لمزيد من المعلومات، راجع كيفية استخدام صوت الإدخال المضغوط.
تنظيف الموارد
يمكنك استخدام مدخل Azure أو واجهة سطر الأوامر (CLI) في Azure لإزالة مورد Speech الذي أنشأته.
الوثائق المرجعية | حزمة (Go) | عينات إضافية على GitHub
في هذا التشغيل السريع، يمكنك إنشاء وتشغيل تطبيق للتعرف على الكلام ونسخه إلى نص في الوقت الفعلي.
لنسخ الملفات الصوتية بدلا من ذلك بشكل غير متزامن، راجع ما هو النسخ الدفعي. إذا لم تكن متأكدا من حل الكلام إلى النص المناسب لك، فشاهد ما هو تحويل الكلام إلى نص؟
المتطلبات الأساسية
- اشتراك Azure - إنشاء حساب مجانًا
- إنشاء مورد Speech في مدخل Microsoft Azure.
- مفتاح مورد الكلام والمنطقة. بعد توزيع مورد Speech، اختر الانتقال إلى المورد لعرض المفاتيح وإدارتها. لمزيد من المعلومات حول موارد خدمات Azure الذكاء الاصطناعي، راجع الحصول على مفاتيح المورد الخاص بك.
إعداد البيئة
ثبّت Speech SDK لـ Go. للحصول على المتطلبات والإرشادات، راجع تثبيت Speech SDK.
تعيين متغيرات البيئة
يجب مصادقة التطبيق الخاص بك للوصول إلى موارد خدمات Azure الذكاء الاصطناعي. وللإنتاج، استخدم طريقة آمنة لتخزين بيانات الاعتماد والوصول إليها. على سبيل المثال، بعد الحصول على مفتاح لمورد Speech، اكتبه إلى متغير بيئة جديد على الجهاز المحلي الذي يقوم بتشغيل التطبيق.
تلميح
لا تقم بتضمين المفتاح مباشرة في التعليمات البرمجية الخاصة بك، ولا تنشره بشكل عام. راجع أمان خدمات Azure الذكاء الاصطناعي لمزيد من خيارات المصادقة مثل Azure Key Vault.
لتعيين متغير البيئة لمفتاح مورد Speech، افتح نافذة وحدة التحكم، واتبع الإرشادات الخاصة بنظام التشغيل وبيئة التطوير.
- لتعيين
SPEECH_KEY
متغير البيئة، استبدل مفتاحك بأحد مفاتيح المورد الخاص بك. - لتعيين
SPEECH_REGION
متغير البيئة، استبدل منطقتك بإحدى المناطق لموردك.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region
إشعار
إذا كنت بحاجة فقط إلى الوصول إلى متغيرات البيئة في وحدة التحكم الحالية، يمكنك تعيين متغير البيئة باستخدام set
بدلا من setx
.
بعد إضافة متغيرات البيئة، قد تحتاج إلى إعادة تشغيل أي برامج تحتاج إلى قراءة متغير البيئة، بما في ذلك نافذة وحدة التحكم. على سبيل المثال، إذا كنت تستخدم Visual Studio كمحرر، فقم بإعادة تشغيل Visual Studio قبل تشغيل المثال.
التعرّف على الكلام من الميكروفون
اتبع هذه الخطوات لإنشاء وحدة GO.
افتح نافذة موجه الأوامر في المجلد حيث تريد المشروع الجديد. إنشاء ملف جديد يسمى speech-recognition.go.
انسخ التعليمات البرمجية التالية إلى speech-recognition.go:
package main import ( "bufio" "fmt" "os" "github.com/Microsoft/cognitive-services-speech-sdk-go/audio" "github.com/Microsoft/cognitive-services-speech-sdk-go/speech" ) func sessionStartedHandler(event speech.SessionEventArgs) { defer event.Close() fmt.Println("Session Started (ID=", event.SessionID, ")") } func sessionStoppedHandler(event speech.SessionEventArgs) { defer event.Close() fmt.Println("Session Stopped (ID=", event.SessionID, ")") } func recognizingHandler(event speech.SpeechRecognitionEventArgs) { defer event.Close() fmt.Println("Recognizing:", event.Result.Text) } func recognizedHandler(event speech.SpeechRecognitionEventArgs) { defer event.Close() fmt.Println("Recognized:", event.Result.Text) } func cancelledHandler(event speech.SpeechRecognitionCanceledEventArgs) { defer event.Close() fmt.Println("Received a cancellation: ", event.ErrorDetails) fmt.Println("Did you set the speech resource key and region values?") } 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.NewAudioConfigFromDefaultMicrophoneInput() 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() speechRecognizer, err := speech.NewSpeechRecognizerFromConfig(speechConfig, audioConfig) if err != nil { fmt.Println("Got an error: ", err) return } defer speechRecognizer.Close() speechRecognizer.SessionStarted(sessionStartedHandler) speechRecognizer.SessionStopped(sessionStoppedHandler) speechRecognizer.Recognizing(recognizingHandler) speechRecognizer.Recognized(recognizedHandler) speechRecognizer.Canceled(cancelledHandler) speechRecognizer.StartContinuousRecognitionAsync() defer speechRecognizer.StopContinuousRecognitionAsync() bufio.NewReader(os.Stdin).ReadBytes('\n') }
تشغيل الأوامر التالية لإنشاء ملف go.mod الذي يرتبط بالمكونات المستضافة على GitHub:
go mod init speech-recognition go get github.com/Microsoft/cognitive-services-speech-sdk-go
هام
تأكد من تعيين متغيري البيئة و
SPEECH_REGION
.SPEECH_KEY
إذا لم تقم بتعيين هذه المتغيرات، تفشل العينة مع ظهور رسالة خطأ.إنشاء التعليمات البرمجية وتشغيلها:
go build go run speech-recognition
تنظيف الموارد
يمكنك استخدام مدخل Azure أو واجهة سطر الأوامر (CLI) في Azure لإزالة مورد Speech الذي أنشأته.
وثائق مرجعية | نماذج إضافية على GitHub
في هذا التشغيل السريع، يمكنك إنشاء وتشغيل تطبيق للتعرف على الكلام ونسخه إلى نص في الوقت الفعلي.
لنسخ الملفات الصوتية بدلا من ذلك بشكل غير متزامن، راجع ما هو النسخ الدفعي. إذا لم تكن متأكدا من حل الكلام إلى النص المناسب لك، فشاهد ما هو تحويل الكلام إلى نص؟
المتطلبات الأساسية
- اشتراك Azure - إنشاء حساب مجانًا
- إنشاء مورد Speech في مدخل Microsoft Azure.
- مفتاح مورد الكلام والمنطقة. بعد توزيع مورد Speech، اختر الانتقال إلى المورد لعرض المفاتيح وإدارتها. لمزيد من المعلومات حول موارد خدمات Azure الذكاء الاصطناعي، راجع الحصول على مفاتيح المورد الخاص بك.
إعداد البيئة
لإعداد بيئتك، قم بتثبيت Speech SDK. تعمل العينة في هذا التشغيل السريع مع Java Runtime.
قم بتثبيت Apache Maven. ثم قم بتشغيل
mvn -v
لتأكيد التثبيت الناجح.أنشئ ملفا جديدا
pom.xml
في جذر مشروعك، وانسخ التعليمات البرمجية التالية فيه:<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.microsoft.cognitiveservices.speech.samples</groupId> <artifactId>quickstart-eclipse</artifactId> <version>1.0.0-SNAPSHOT</version> <build> <sourceDirectory>src</sourceDirectory> <plugins> <plugin> <artifactId>maven-compiler-plugin</artifactId> <version>3.7.0</version> <configuration> <source>1.8</source> <target>1.8</target> </configuration> </plugin> </plugins> </build> <dependencies> <dependency> <groupId>com.microsoft.cognitiveservices.speech</groupId> <artifactId>client-sdk</artifactId> <version>1.37.0</version> </dependency> </dependencies> </project>
تثبيت Speech SDK والتبعيات.
mvn clean dependency:copy-dependencies
تعيين متغيرات البيئة
يجب مصادقة التطبيق الخاص بك للوصول إلى موارد خدمات Azure الذكاء الاصطناعي. وللإنتاج، استخدم طريقة آمنة لتخزين بيانات الاعتماد والوصول إليها. على سبيل المثال، بعد الحصول على مفتاح لمورد Speech، اكتبه إلى متغير بيئة جديد على الجهاز المحلي الذي يقوم بتشغيل التطبيق.
تلميح
لا تقم بتضمين المفتاح مباشرة في التعليمات البرمجية الخاصة بك، ولا تنشره بشكل عام. راجع أمان خدمات Azure الذكاء الاصطناعي لمزيد من خيارات المصادقة مثل Azure Key Vault.
لتعيين متغير البيئة لمفتاح مورد Speech، افتح نافذة وحدة التحكم، واتبع الإرشادات الخاصة بنظام التشغيل وبيئة التطوير.
- لتعيين
SPEECH_KEY
متغير البيئة، استبدل مفتاحك بأحد مفاتيح المورد الخاص بك. - لتعيين
SPEECH_REGION
متغير البيئة، استبدل منطقتك بإحدى المناطق لموردك.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region
إشعار
إذا كنت بحاجة فقط إلى الوصول إلى متغيرات البيئة في وحدة التحكم الحالية، يمكنك تعيين متغير البيئة باستخدام set
بدلا من setx
.
بعد إضافة متغيرات البيئة، قد تحتاج إلى إعادة تشغيل أي برامج تحتاج إلى قراءة متغير البيئة، بما في ذلك نافذة وحدة التحكم. على سبيل المثال، إذا كنت تستخدم Visual Studio كمحرر، فقم بإعادة تشغيل Visual Studio قبل تشغيل المثال.
التعرّف على الكلام من الميكروفون
اتبع هذه الخطوات لإنشاء تطبيق وحدة تحكم للتعرف على الكلام.
إنشاء ملف جديد باسم SpeechRecognition.java في نفس الدليل الجذر للمشروع.
انسخ التعليمات البرمجية التالية في SpeechRecognition.java:
import com.microsoft.cognitiveservices.speech.*; import com.microsoft.cognitiveservices.speech.audio.AudioConfig; import java.util.concurrent.ExecutionException; import java.util.concurrent.Future; public class SpeechRecognition { // This example requires environment variables named "SPEECH_KEY" and "SPEECH_REGION" private static String speechKey = System.getenv("SPEECH_KEY"); private static String speechRegion = System.getenv("SPEECH_REGION"); public static void main(String[] args) throws InterruptedException, ExecutionException { SpeechConfig speechConfig = SpeechConfig.fromSubscription(speechKey, speechRegion); speechConfig.setSpeechRecognitionLanguage("en-US"); recognizeFromMicrophone(speechConfig); } public static void recognizeFromMicrophone(SpeechConfig speechConfig) throws InterruptedException, ExecutionException { AudioConfig audioConfig = AudioConfig.fromDefaultMicrophoneInput(); SpeechRecognizer speechRecognizer = new SpeechRecognizer(speechConfig, audioConfig); System.out.println("Speak into your microphone."); Future<SpeechRecognitionResult> task = speechRecognizer.recognizeOnceAsync(); SpeechRecognitionResult speechRecognitionResult = task.get(); if (speechRecognitionResult.getReason() == ResultReason.RecognizedSpeech) { System.out.println("RECOGNIZED: Text=" + speechRecognitionResult.getText()); } else if (speechRecognitionResult.getReason() == ResultReason.NoMatch) { System.out.println("NOMATCH: Speech could not be recognized."); } else if (speechRecognitionResult.getReason() == ResultReason.Canceled) { CancellationDetails cancellation = CancellationDetails.fromResult(speechRecognitionResult); 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 region values?"); } } System.exit(0); } }
لتغيير لغة التعرّف على الكلام، استبدل
en-US
بلغة الأخرى المعتمدة. على سبيل المثال، استخدمes-ES
للإسبانية (إسبانيا). إذا لم تحدد لغة، فإن الإعداد الافتراضي هوen-US
. للحصول على تفاصيل حول كيفية تحديد إحدى اللغات المتعددة التي قد يتم التحدث بها، راجع تعريف اللغة.شغّل تطبيق وحدة التحكم الجديد لبدء التعرّف على الكلام من ميكروفون:
javac SpeechRecognition.java -cp ".;target\dependency\*" java -cp ".;target\dependency\*" SpeechRecognition
هام
تأكد من تعيين متغيري البيئة و
SPEECH_REGION
.SPEECH_KEY
إذا لم تقم بتعيين هذه المتغيرات، تفشل العينة مع ظهور رسالة خطأ.تحدّث باستخدام الميكروفون عند مطالبتك بذلك. يجب أن يظهر ما تتحدثه كنص:
Speak into your microphone. RECOGNIZED: Text=I'm excited to try speech to text.
الملاحظات
فيما يلي بعض الاعتبارات الأخرى:
يستخدم هذا المثال عملية
RecognizeOnceAsync
لكتابة العبارات المنطوقة طوال مدة تصل إلى 30 ثانية، أو حتى يتم اكتشاف صمت. للحصول على معلومات حول التعرّف المستمر على المقاطع الصوتية الأطول، بما يشمل المحادثات متعددة اللغات، راجع كيفية التعرّف على الكلام.للتعرّف على الكلام من ملف صوتي، استخدم
fromWavFileInput
بدلًا منfromDefaultMicrophoneInput
:AudioConfig audioConfig = AudioConfig.fromWavFileInput("YourAudioFile.wav");
بالنسبة إلى الملفات الصوتية المضغوطة مثل ملفات MP4، ثبّت GStreamer واستخدم
PullAudioInputStream
أوPushAudioInputStream
. لمزيد من المعلومات، راجع كيفية استخدام صوت الإدخال المضغوط.
تنظيف الموارد
يمكنك استخدام مدخل Azure أو واجهة سطر الأوامر (CLI) في Azure لإزالة مورد Speech الذي أنشأته.
حزمة | الوثائق المرجعية (npm) | عينات إضافية على GitHub | التعليمة البرمجية لمصدر المكتبة
في هذا التشغيل السريع، يمكنك إنشاء وتشغيل تطبيق للتعرف على الكلام ونسخه إلى نص في الوقت الفعلي.
لنسخ الملفات الصوتية بدلا من ذلك بشكل غير متزامن، راجع ما هو النسخ الدفعي. إذا لم تكن متأكدا من حل الكلام إلى النص المناسب لك، فشاهد ما هو تحويل الكلام إلى نص؟
المتطلبات الأساسية
- اشتراك Azure - إنشاء حساب مجانًا
- إنشاء مورد Speech في مدخل Microsoft Azure.
- مفتاح مورد الكلام والمنطقة. بعد توزيع مورد Speech، اختر الانتقال إلى المورد لعرض المفاتيح وإدارتها. لمزيد من المعلومات حول موارد خدمات Azure الذكاء الاصطناعي، راجع الحصول على مفاتيح المورد الخاص بك.
تحتاج أيضا إلى ملف صوتي .wav على جهازك المحلي. يمكنك استخدام ملف .wav الخاص بك (حتى 30 ثانية) أو تنزيل ملف العينةhttps://crbn.us/whatstheweatherlike.wav.
إعداد البيئة
لإعداد بيئتك، قم بتثبيت Speech SDK ل JavaScript. قم بتشغيل هذا الأمر: npm install microsoft-cognitiveservices-speech-sdk
. للحصول على إرشادات التثبيت الإرشادية، راجع تثبيت Speech SDK.
تعيين متغيرات البيئة
يجب مصادقة التطبيق الخاص بك للوصول إلى موارد خدمات Azure الذكاء الاصطناعي. وللإنتاج، استخدم طريقة آمنة لتخزين بيانات الاعتماد والوصول إليها. على سبيل المثال، بعد الحصول على مفتاح لمورد Speech، اكتبه إلى متغير بيئة جديد على الجهاز المحلي الذي يقوم بتشغيل التطبيق.
تلميح
لا تقم بتضمين المفتاح مباشرة في التعليمات البرمجية الخاصة بك، ولا تنشره بشكل عام. راجع أمان خدمات Azure الذكاء الاصطناعي لمزيد من خيارات المصادقة مثل Azure Key Vault.
لتعيين متغير البيئة لمفتاح مورد Speech، افتح نافذة وحدة التحكم، واتبع الإرشادات الخاصة بنظام التشغيل وبيئة التطوير.
- لتعيين
SPEECH_KEY
متغير البيئة، استبدل مفتاحك بأحد مفاتيح المورد الخاص بك. - لتعيين
SPEECH_REGION
متغير البيئة، استبدل منطقتك بإحدى المناطق لموردك.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region
إشعار
إذا كنت بحاجة فقط إلى الوصول إلى متغيرات البيئة في وحدة التحكم الحالية، يمكنك تعيين متغير البيئة باستخدام set
بدلا من setx
.
بعد إضافة متغيرات البيئة، قد تحتاج إلى إعادة تشغيل أي برامج تحتاج إلى قراءة متغير البيئة، بما في ذلك نافذة وحدة التحكم. على سبيل المثال، إذا كنت تستخدم Visual Studio كمحرر، فقم بإعادة تشغيل Visual Studio قبل تشغيل المثال.
التعرف على الكلام من ملف
اتبع هذه الخطوات لإنشاء تطبيق وحدة تحكم Node.js للتعرّف على الكلام.
افتح نافذة موجه الأوامر حيث تريد المشروع الجديد، وأنشئ ملفا جديدا باسم SpeechRecognition.js.
تثبيت Speech SDK لـ JavaScript:
npm install microsoft-cognitiveservices-speech-sdk
انسخ التعليمات البرمجية التالية إلى SpeechRecognition.js:
const fs = require("fs"); const sdk = require("microsoft-cognitiveservices-speech-sdk"); // This example requires environment variables named "SPEECH_KEY" and "SPEECH_REGION" const speechConfig = sdk.SpeechConfig.fromSubscription(process.env.SPEECH_KEY, process.env.SPEECH_REGION); speechConfig.speechRecognitionLanguage = "en-US"; function fromFile() { let audioConfig = sdk.AudioConfig.fromWavFileInput(fs.readFileSync("YourAudioFile.wav")); let speechRecognizer = new sdk.SpeechRecognizer(speechConfig, audioConfig); speechRecognizer.recognizeOnceAsync(result => { switch (result.reason) { case sdk.ResultReason.RecognizedSpeech: console.log(`RECOGNIZED: Text=${result.text}`); break; case sdk.ResultReason.NoMatch: console.log("NOMATCH: Speech could not be recognized."); break; case sdk.ResultReason.Canceled: const cancellation = sdk.CancellationDetails.fromResult(result); console.log(`CANCELED: Reason=${cancellation.reason}`); if (cancellation.reason == sdk.CancellationReason.Error) { console.log(`CANCELED: ErrorCode=${cancellation.ErrorCode}`); console.log(`CANCELED: ErrorDetails=${cancellation.errorDetails}`); console.log("CANCELED: Did you set the speech resource key and region values?"); } break; } speechRecognizer.close(); }); } fromFile();
في SpeechRecognition.js، استبدل YourAudioFile.wav بملف .wav الخاص بك. يتعرف هذا المثال فقط على الكلام من ملف .wav . للحصول على معلومات حول تنسيقات الصوت الأخرى، راجع كيفية استخدام مقطع إدخال صوتي مضغوط. يدعم هذا المثال ما يصل إلى 30 ثانية من الصوت.
لتغيير لغة التعرّف على الكلام، استبدل
en-US
بلغة الأخرى المعتمدة. على سبيل المثال، استخدمes-ES
للإسبانية (إسبانيا). إذا لم تحدد لغة، فإن الإعداد الافتراضي هوen-US
. للحصول على تفاصيل حول كيفية تحديد إحدى اللغات المتعددة التي قد يتم التحدث بها، راجع تعريف اللغة.ينبغي تشغيل تطبيق وحدة التحكم الجديد لبدء التعرف على الكلام من خلال استخدام ميكروفون:
node.exe SpeechRecognition.js
هام
تأكد من تعيين متغيري البيئة و
SPEECH_REGION
.SPEECH_KEY
إذا لم تقم بتعيين هذه المتغيرات، تفشل العينة مع ظهور رسالة خطأ.يُفترض أن يكون الكلام المُستخرج من الملف الصوتي مخرجاً كنص:
RECOGNIZED: Text=I'm excited to try speech to text.
الملاحظات
يستخدم هذا المثال عملية recognizeOnceAsync
لكتابة العبارات المنطوقة طوال مدة تصل إلى 30 ثانية، أو حتى يتم اكتشاف صمت. للحصول على معلومات حول التعرّف المستمر على المقاطع الصوتية الأطول، بما يشمل المحادثات متعددة اللغات، راجع كيفية التعرّف على الكلام.
إشعار
التعرّف على الكلام من ميكروفون غير مدعوم في Node.js. بل مدعوم في بيئة JavaScript المستندة إلى المستعرض فحسب. لمزيد من المعلومات، راجع نموذج React وتنفيذ الكلام إلى نص من ميكروفون على GitHub.
يعرض نموذج React أنماط تصميم لتبادل الرموز المميزة للمصادقة وإدارتها. كما يعرض التقاط الصوت من ميكروفون أو ملف لتحويل الكلام إلى نص.
تنظيف الموارد
يمكنك استخدام مدخل Azure أو واجهة سطر الأوامر (CLI) في Azure لإزالة مورد Speech الذي أنشأته.
حزمة الوثائق المرجعية | (PyPi) | عينات إضافية على GitHub
في هذا التشغيل السريع، يمكنك إنشاء وتشغيل تطبيق للتعرف على الكلام ونسخه إلى نص في الوقت الفعلي.
لنسخ الملفات الصوتية بدلا من ذلك بشكل غير متزامن، راجع ما هو النسخ الدفعي. إذا لم تكن متأكدا من حل الكلام إلى النص المناسب لك، فشاهد ما هو تحويل الكلام إلى نص؟
المتطلبات الأساسية
- اشتراك Azure - إنشاء حساب مجانًا
- إنشاء مورد Speech في مدخل Microsoft Azure.
- مفتاح مورد الكلام والمنطقة. بعد توزيع مورد Speech، اختر الانتقال إلى المورد لعرض المفاتيح وإدارتها. لمزيد من المعلومات حول موارد خدمات Azure الذكاء الاصطناعي، راجع الحصول على مفاتيح المورد الخاص بك.
إعداد البيئة
يتوفر Speech SDK لـ Python كـ وحدة نمطية لفهرس حزمة Python (PyPI). يتوافق Speech SDK لـ Python مع أنظمة التشغيل Windows وLinux وmacOS.
- بالنسبة إلى Windows، قم بتثبيت Microsoft Visual C++ Redistributable ل Visual Studio 2015 و2017 و2019 و2022 للنظام الأساسي الخاص بك. يتطلب التثبيت لأول مرة إعادة تشغيل.
- على نظام التشغيل Linux، عليك استخدام هيكل الهدف x64.
تثبيت إصدار من Python من 3.7 أو أحدث. للحصول على متطلبات أخرى، راجع تثبيت Speech SDK.
تعيين متغيرات البيئة
يجب مصادقة التطبيق الخاص بك للوصول إلى موارد خدمات Azure الذكاء الاصطناعي. وللإنتاج، استخدم طريقة آمنة لتخزين بيانات الاعتماد والوصول إليها. على سبيل المثال، بعد الحصول على مفتاح لمورد Speech، اكتبه إلى متغير بيئة جديد على الجهاز المحلي الذي يقوم بتشغيل التطبيق.
تلميح
لا تقم بتضمين المفتاح مباشرة في التعليمات البرمجية الخاصة بك، ولا تنشره بشكل عام. راجع أمان خدمات Azure الذكاء الاصطناعي لمزيد من خيارات المصادقة مثل Azure Key Vault.
لتعيين متغير البيئة لمفتاح مورد Speech، افتح نافذة وحدة التحكم، واتبع الإرشادات الخاصة بنظام التشغيل وبيئة التطوير.
- لتعيين
SPEECH_KEY
متغير البيئة، استبدل مفتاحك بأحد مفاتيح المورد الخاص بك. - لتعيين
SPEECH_REGION
متغير البيئة، استبدل منطقتك بإحدى المناطق لموردك.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region
إشعار
إذا كنت بحاجة فقط إلى الوصول إلى متغيرات البيئة في وحدة التحكم الحالية، يمكنك تعيين متغير البيئة باستخدام set
بدلا من setx
.
بعد إضافة متغيرات البيئة، قد تحتاج إلى إعادة تشغيل أي برامج تحتاج إلى قراءة متغير البيئة، بما في ذلك نافذة وحدة التحكم. على سبيل المثال، إذا كنت تستخدم Visual Studio كمحرر، فقم بإعادة تشغيل Visual Studio قبل تشغيل المثال.
التعرّف على الكلام من الميكروفون
اتبع هذه الخطوات لإنشاء تطبيق وحدة تحكم.
افتح نافذة موجه الأوامر في المجلد حيث تريد المشروع الجديد. إنشاء ملف جديد باسم speech_recognition.py.
شغّل هذا الأمر لتثبيت Speech SDK:
pip install azure-cognitiveservices-speech
انسخ التعليمات البرمجية التالية إلى speech_recognition.py:
import os import azure.cognitiveservices.speech as speechsdk def recognize_from_microphone(): # This example requires environment variables named "SPEECH_KEY" and "SPEECH_REGION" speech_config = speechsdk.SpeechConfig(subscription=os.environ.get('SPEECH_KEY'), region=os.environ.get('SPEECH_REGION')) speech_config.speech_recognition_language="en-US" audio_config = speechsdk.audio.AudioConfig(use_default_microphone=True) speech_recognizer = speechsdk.SpeechRecognizer(speech_config=speech_config, audio_config=audio_config) print("Speak into your microphone.") speech_recognition_result = speech_recognizer.recognize_once_async().get() if speech_recognition_result.reason == speechsdk.ResultReason.RecognizedSpeech: print("Recognized: {}".format(speech_recognition_result.text)) elif speech_recognition_result.reason == speechsdk.ResultReason.NoMatch: print("No speech could be recognized: {}".format(speech_recognition_result.no_match_details)) elif speech_recognition_result.reason == speechsdk.ResultReason.Canceled: cancellation_details = speech_recognition_result.cancellation_details print("Speech Recognition canceled: {}".format(cancellation_details.reason)) if cancellation_details.reason == speechsdk.CancellationReason.Error: print("Error details: {}".format(cancellation_details.error_details)) print("Did you set the speech resource key and region values?") recognize_from_microphone()
لتغيير لغة التعرّف على الكلام، استبدل
en-US
بلغة الأخرى المعتمدة. على سبيل المثال، استخدمes-ES
للإسبانية (إسبانيا). إذا لم تحدد لغة، فإن الإعداد الافتراضي هوen-US
. للاطلاع على تفاصيل حول كيفية تحديد إحدى اللغات المتعددة التي قد تُنطق، راجع تعريف اللغة.شغّل تطبيق وحدة التحكم الجديد لبدء التعرّف على الكلام من ميكروفون:
python speech_recognition.py
هام
تأكد من تعيين متغيري البيئة و
SPEECH_REGION
.SPEECH_KEY
إذا لم تقم بتعيين هذه المتغيرات، تفشل العينة مع ظهور رسالة خطأ.تحدّث باستخدام الميكروفون عند مطالبتك بذلك. يجب أن يظهر ما تتحدثه كنص:
Speak into your microphone. RECOGNIZED: Text=I'm excited to try speech to text.
الملاحظات
فيما يلي بعض الاعتبارات الأخرى:
يستخدم هذا المثال عملية
recognize_once_async
لكتابة العبارات المنطوقة طوال مدة تصل إلى 30 ثانية، أو حتى يتم اكتشاف صمت. للحصول على معلومات حول التعرّف المستمر على المقاطع الصوتية الأطول، بما يشمل المحادثات متعددة اللغات، راجع كيفية التعرّف على الكلام.للتعرّف على الكلام من ملف صوتي، استخدم
filename
بدلًا منuse_default_microphone
:audio_config = speechsdk.audio.AudioConfig(filename="YourAudioFile.wav")
بالنسبة إلى الملفات الصوتية المضغوطة مثل ملفات MP4، ثبّت GStreamer واستخدم
PullAudioInputStream
أوPushAudioInputStream
. لمزيد من المعلومات، راجع كيفية استخدام صوت الإدخال المضغوط.
تنظيف الموارد
يمكنك استخدام مدخل Azure أو واجهة سطر الأوامر (CLI) في Azure لإزالة مورد Speech الذي أنشأته.
الوثائق المرجعية | حزمة (التنزيل) | نماذج إضافية على GitHub
في هذا التشغيل السريع، يمكنك إنشاء وتشغيل تطبيق للتعرف على الكلام ونسخه إلى نص في الوقت الفعلي.
لنسخ الملفات الصوتية بدلا من ذلك بشكل غير متزامن، راجع ما هو النسخ الدفعي. إذا لم تكن متأكدا من حل الكلام إلى النص المناسب لك، فشاهد ما هو تحويل الكلام إلى نص؟
المتطلبات الأساسية
- اشتراك Azure - إنشاء حساب مجانًا
- إنشاء مورد Speech في مدخل Microsoft Azure.
- مفتاح مورد الكلام والمنطقة. بعد توزيع مورد Speech، اختر الانتقال إلى المورد لعرض المفاتيح وإدارتها. لمزيد من المعلومات حول موارد خدمات Azure الذكاء الاصطناعي، راجع الحصول على مفاتيح المورد الخاص بك.
إعداد البيئة
يتم توزيع Speech SDK لـ Swift كمجموعة أطر عمل. يدعم إطار العمل كلاً من الهدف C وSwift على كلا نظاميْ التشغيل iOS وmacOS.
يمكن استخدام Speech SDK في مشاريع Xcode ك CocoaPod، أو تنزيلها مباشرة وربطها يدويا. يستخدم هذا الدليل CocoaPod. ثبّت مدير تبعيات CocoaPod على النحو الموضح في إرشادات التثبيت الخاصة به.
تعيين متغيرات البيئة
يجب مصادقة التطبيق الخاص بك للوصول إلى موارد خدمات Azure الذكاء الاصطناعي. وللإنتاج، استخدم طريقة آمنة لتخزين بيانات الاعتماد والوصول إليها. على سبيل المثال، بعد الحصول على مفتاح لمورد Speech، اكتبه إلى متغير بيئة جديد على الجهاز المحلي الذي يقوم بتشغيل التطبيق.
تلميح
لا تقم بتضمين المفتاح مباشرة في التعليمات البرمجية الخاصة بك، ولا تنشره بشكل عام. راجع أمان خدمات Azure الذكاء الاصطناعي لمزيد من خيارات المصادقة مثل Azure Key Vault.
لتعيين متغير البيئة لمفتاح مورد Speech، افتح نافذة وحدة التحكم، واتبع الإرشادات الخاصة بنظام التشغيل وبيئة التطوير.
- لتعيين
SPEECH_KEY
متغير البيئة، استبدل مفتاحك بأحد مفاتيح المورد الخاص بك. - لتعيين
SPEECH_REGION
متغير البيئة، استبدل منطقتك بإحدى المناطق لموردك.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region
إشعار
إذا كنت بحاجة فقط إلى الوصول إلى متغيرات البيئة في وحدة التحكم الحالية، يمكنك تعيين متغير البيئة باستخدام set
بدلا من setx
.
بعد إضافة متغيرات البيئة، قد تحتاج إلى إعادة تشغيل أي برامج تحتاج إلى قراءة متغير البيئة، بما في ذلك نافذة وحدة التحكم. على سبيل المثال، إذا كنت تستخدم Visual Studio كمحرر، فقم بإعادة تشغيل Visual Studio قبل تشغيل المثال.
التعرّف على الكلام من الميكروفون
اتبع هذه الخطوات للتعرّف على الكلام في تطبيق macOS.
انسخ المستودع Azure-Samples/cognitive-services-speech-sdk للحصول على مشروع عينة التعرّف على الكلام من ميكروفون في Swift على نظام التشغيل macOS. كذلك يحتوي المستودع على عينات iOS.
انتقل إلى دليل عينة التطبيق الذي تم تنزيله (
helloworld
) في وحدة طرفية.تشغيل الأمر
pod install
. ينشئhelloworld.xcworkspace
هذا الأمر مساحة عمل Xcode تحتوي على كل من نموذج التطبيق وSDK الكلام كتبعية.افتح مساحة العمل
helloworld.xcworkspace
باستخدام Xcode.افتح الملف المسمى AppDelegate.swift وحدد موقع الأسلوبين
applicationDidFinishLaunching
وrecognizeFromMic
كما هو موضح هنا.import Cocoa @NSApplicationMain class AppDelegate: NSObject, NSApplicationDelegate { var label: NSTextField! var fromMicButton: NSButton! 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"] label = NSTextField(frame: NSRect(x: 100, y: 50, width: 200, height: 200)) label.textColor = NSColor.black label.lineBreakMode = .byWordWrapping label.stringValue = "Recognition Result" label.isEditable = false self.window.contentView?.addSubview(label) fromMicButton = NSButton(frame: NSRect(x: 100, y: 300, width: 200, height: 30)) fromMicButton.title = "Recognize" fromMicButton.target = self fromMicButton.action = #selector(fromMicButtonClicked) self.window.contentView?.addSubview(fromMicButton) } @objc func fromMicButtonClicked() { DispatchQueue.global(qos: .userInitiated).async { self.recognizeFromMic() } } func recognizeFromMic() { var speechConfig: SPXSpeechConfiguration? do { try speechConfig = SPXSpeechConfiguration(subscription: sub, region: region) } catch { print("error \(error) happened") speechConfig = nil } speechConfig?.speechRecognitionLanguage = "en-US" let audioConfig = SPXAudioConfiguration() let reco = try! SPXSpeechRecognizer(speechConfiguration: speechConfig!, audioConfiguration: audioConfig) reco.addRecognizingEventHandler() {reco, evt in print("intermediate recognition result: \(evt.result.text ?? "(no result)")") self.updateLabel(text: evt.result.text, color: .gray) } updateLabel(text: "Listening ...", color: .gray) print("Listening...") let result = try! reco.recognizeOnce() print("recognition result: \(result.text ?? "(no result)"), reason: \(result.reason.rawValue)") updateLabel(text: result.text, color: .black) if result.reason != SPXResultReason.recognizedSpeech { let cancellationDetails = try! SPXCancellationDetails(fromCanceledRecognitionResult: result) print("cancelled: \(result.reason), \(cancellationDetails.errorDetails)") print("Did you set the speech resource key and region values?") updateLabel(text: "Error: \(cancellationDetails.errorDetails)", color: .red) } } func updateLabel(text: String?, color: NSColor) { DispatchQueue.main.async { self.label.stringValue = text! self.label.textColor = color } } }
في AppDelegate.m، استخدم متغيرات البيئة التي قمت بتعيينها مسبقا لمفتاح مورد الكلام والمنطقة.
sub = ProcessInfo.processInfo.environment["SPEECH_KEY"] region = ProcessInfo.processInfo.environment["SPEECH_REGION"]
لتغيير لغة التعرّف على الكلام، استبدل
en-US
بلغة الأخرى المعتمدة. على سبيل المثال، استخدمes-ES
للإسبانية (إسبانيا). إذا لم تحدد لغة، فإن الإعداد الافتراضي هوen-US
. للحصول على تفاصيل حول كيفية تحديد إحدى اللغات المتعددة التي قد يتم التحدث بها، راجع تعريف اللغة.لجعل إخراج التصحيح مرئيا، حدد View>Debug Area>Activate Console.
إنشاء التعليمات البرمجية المثال وتشغيلها عن طريق تحديد تشغيل المنتج>من القائمة أو تحديد الزر تشغيل.
هام
تأكد من تعيين متغيري البيئة و
SPEECH_REGION
.SPEECH_KEY
إذا لم تقم بتعيين هذه المتغيرات، تفشل العينة مع ظهور رسالة خطأ.
بعد تحديد الزر في التطبيق ونطق بضع كلمات، يجب أن تشاهد النص الذي تحدثت به في الجزء السفلي من الشاشة. عند تشغيل التطبيق للمرة الأولى، فإنه يطالبك بمنح التطبيق حق الوصول إلى ميكروفون الكمبيوتر الخاص بك.
الملاحظات
يستخدم هذا المثال عملية recognizeOnce
لكتابة العبارات المنطوقة طوال مدة تصل إلى 30 ثانية، أو حتى يتم اكتشاف صمت. للحصول على معلومات حول التعرّف المستمر على المقاطع الصوتية الأطول، بما يشمل المحادثات متعددة اللغات، راجع كيفية التعرّف على الكلام.
Objective-C
يشارك Speech SDK ل Objective-C مكتبات العميل والوثائق المرجعية مع Speech SDK ل Swift. للحصول على أمثلة التعليمات البرمجية Objective-C، راجع التعرف على الكلام من ميكروفون في مشروع نموذج Objective-C على macOS في GitHub.
تنظيف الموارد
يمكنك استخدام مدخل Azure أو واجهة سطر الأوامر (CLI) في Azure لإزالة مورد Speech الذي أنشأته.
يشير | Speech to text REST API إلى Speech to text REST API for short audio reference | Additional Samples on GitHub
في هذا التشغيل السريع، يمكنك إنشاء وتشغيل تطبيق للتعرف على الكلام ونسخه إلى نص في الوقت الفعلي.
لنسخ الملفات الصوتية بدلا من ذلك بشكل غير متزامن، راجع ما هو النسخ الدفعي. إذا لم تكن متأكدا من حل الكلام إلى النص المناسب لك، فشاهد ما هو تحويل الكلام إلى نص؟
المتطلبات الأساسية
- اشتراك Azure - إنشاء حساب مجانًا
- إنشاء مورد Speech في مدخل Microsoft Azure.
- مفتاح مورد الكلام والمنطقة. بعد توزيع مورد Speech، اختر الانتقال إلى المورد لعرض المفاتيح وإدارتها. لمزيد من المعلومات حول موارد خدمات Azure الذكاء الاصطناعي، راجع الحصول على مفاتيح المورد الخاص بك.
تحتاج أيضا إلى ملف صوتي .wav على جهازك المحلي. يمكنك استخدام ملف .wav الخاص بك حتى 60 ثانية أو تنزيل https://crbn.us/whatstheweatherlike.wav نموذج الملف.
تعيين متغيرات البيئة
يجب مصادقة التطبيق الخاص بك للوصول إلى موارد خدمات Azure الذكاء الاصطناعي. وللإنتاج، استخدم طريقة آمنة لتخزين بيانات الاعتماد والوصول إليها. على سبيل المثال، بعد الحصول على مفتاح لمورد Speech، اكتبه إلى متغير بيئة جديد على الجهاز المحلي الذي يقوم بتشغيل التطبيق.
تلميح
لا تقم بتضمين المفتاح مباشرة في التعليمات البرمجية الخاصة بك، ولا تنشره بشكل عام. راجع أمان خدمات Azure الذكاء الاصطناعي لمزيد من خيارات المصادقة مثل Azure Key Vault.
لتعيين متغير البيئة لمفتاح مورد Speech، افتح نافذة وحدة التحكم، واتبع الإرشادات الخاصة بنظام التشغيل وبيئة التطوير.
- لتعيين
SPEECH_KEY
متغير البيئة، استبدل مفتاحك بأحد مفاتيح المورد الخاص بك. - لتعيين
SPEECH_REGION
متغير البيئة، استبدل منطقتك بإحدى المناطق لموردك.
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region
إشعار
إذا كنت بحاجة فقط إلى الوصول إلى متغيرات البيئة في وحدة التحكم الحالية، يمكنك تعيين متغير البيئة باستخدام set
بدلا من setx
.
بعد إضافة متغيرات البيئة، قد تحتاج إلى إعادة تشغيل أي برامج تحتاج إلى قراءة متغير البيئة، بما في ذلك نافذة وحدة التحكم. على سبيل المثال، إذا كنت تستخدم Visual Studio كمحرر، فقم بإعادة تشغيل Visual Studio قبل تشغيل المثال.
التعرف على الكلام من ملف
افتح نافذة وحدة تحكم وقم بتشغيل الأمر cURL التالي. استبدل YourAudioFile.wav بمسار واسم الملف الصوتي.
curl --location --request POST "https://%SPEECH_REGION%.stt.speech.microsoft.com/speech/recognition/conversation/cognitiveservices/v1?language=en-US&format=detailed" ^
--header "Ocp-Apim-Subscription-Key: %SPEECH_KEY%" ^
--header "Content-Type: audio/wav" ^
--data-binary "@YourAudioFile.wav"
هام
تأكد من تعيين متغيري البيئة وSPEECH_REGION
.SPEECH_KEY
إذا لم تقم بتعيين هذه المتغيرات، تفشل العينة مع ظهور رسالة خطأ.
يُفترض أن تتلقى استجابة مشابهة لما هو موضح هنا. يجب أن يكون DisplayText
هو النص الذي تم التعرف عليه من ملفك الصوتي. يتعرف الأمر على ما يصل إلى 60 ثانية من الصوت ويحوله إلى نص.
{
"RecognitionStatus": "Success",
"DisplayText": "My voice is my passport, verify me.",
"Offset": 6600000,
"Duration": 32100000
}
لمزيد من المعلومات، راجع تحويل الكلام إلى نص REST API للحصول على صوت قصير.
تنظيف الموارد
يمكنك استخدام مدخل Azure أو واجهة سطر الأوامر (CLI) في Azure لإزالة مورد Speech الذي أنشأته.
في هذا التشغيل السريع، يمكنك إنشاء وتشغيل تطبيق للتعرف على الكلام ونسخه إلى نص في الوقت الفعلي.
لنسخ الملفات الصوتية بدلا من ذلك بشكل غير متزامن، راجع ما هو النسخ الدفعي. إذا لم تكن متأكدا من حل الكلام إلى النص المناسب لك، فشاهد ما هو تحويل الكلام إلى نص؟
المتطلبات الأساسية
- اشتراك Azure - إنشاء حساب مجانًا
- إنشاء مورد Speech في مدخل Microsoft Azure.
- مفتاح مورد الكلام والمنطقة. بعد توزيع مورد Speech، اختر الانتقال إلى المورد لعرض المفاتيح وإدارتها. لمزيد من المعلومات حول موارد خدمات Azure الذكاء الاصطناعي، راجع الحصول على مفاتيح المورد الخاص بك.
إعداد البيئة
اتبع هذه الخطوات وشاهد التشغيل السريع ل Speech CLI لمعرفة المتطلبات الأخرى للنظام الأساسي الخاص بك.
قم بتشغيل الأمر .NET CLI التالي لتثبيت Speech CLI:
dotnet tool install --global Microsoft.CognitiveServices.Speech.CLI
قم بتشغيل الأوامر التالية لتكوين مفتاح مورد الكلام والمنطقة. استبدل
SUBSCRIPTION-KEY
بمفتاح مورد Speech واستبدلREGION
بمنطقة مورد Speech.
التعرّف على الكلام من الميكروفون
شغّل الأمر التالي لبدء التعرّف على الكلام من ميكروفون:
spx recognize --microphone --source en-US
تحدث في الميكروفون لترى عملية التحويل الفوري لكلماتك المنطوقة إلى نص كتابي. يتوقف Speech CLI بعد فترة من الصمت أو 30 ثانية أو عند تحديد Ctrl+C.
Connection CONNECTED... RECOGNIZED: I'm excited to try speech to text.
الملاحظات
فيما يلي بعض الاعتبارات الأخرى:
للتعرّف على الكلام من ملف صوتي، استخدم
--file
بدلاً من--microphone
. بالنسبة للملفات الصوتية المضغوطة مثل MP4، ركب GStreamer واستخدم--format
. لمزيد من المعلومات، راجع كيفية استخدام صوت الإدخال المضغوط.لتحسين دقة التعرف على كلمات أو كلمات معينة، يجب استخدامقائمة عبارات. يمكنك تضمين قائمة عبارات في سطر أو مع ملف نصي مع
recognize
الأمر :لتغيير لغة التعرّف على الكلام، استبدل
en-US
بلغة الأخرى المعتمدة. على سبيل المثال، استخدمes-ES
للإسبانية (إسبانيا). إذا لم تحدد لغة، فإن الإعداد الافتراضي هوen-US
.spx recognize --microphone --source es-ES
للتعرف المستمر على الصوت الذي يزيد طوله عن 30 ثانية، يجب إلحاق
--continuous
:spx recognize --microphone --source es-ES --continuous
قم بتشغيل هذا الأمر للحصول على معلومات حول المزيد من خيارات التعرف على الكلام مثل إدخال الملف وإخراجه:
spx help recognize
تنظيف الموارد
يمكنك استخدام مدخل Azure أو واجهة سطر الأوامر (CLI) في Azure لإزالة مورد Speech الذي أنشأته.