Speech to text REST API for short audio
حالات استخدام Speech to text REST API للصوت القصير محدودة. استخدمه فقط في الحالات التي لا يمكنك فيها استخدام Speech SDK.
قبل استخدام Speech to text REST API للصوت القصير، ضع في اعتبارك القيود التالية:
- يمكن أن تحتوي الطلبات التي تستخدم واجهة برمجة تطبيقات REST للصوت القصير ونقل الصوت مباشرة على ما لا يزيد عن 60 ثانية من الصوت. تنسيقات صوت الإدخال محدودة أكثر مقارنة ب Speech SDK.
- ترجع واجهة برمجة تطبيقات REST للصوت القصير النتائج النهائية فقط. لا يوفر نتائج جزئية.
- ترجمة الكلام غير مدعومة عبر واجهة برمجة تطبيقات REST للصوت القصير. تحتاج إلى استخدام Speech SDK.
- لا يتم دعم النسخ الدفعي والكلام المخصص عبر واجهة برمجة تطبيقات REST للصوت القصير. يجب عليك دائما استخدام Speech للنص REST API للنسخ الدفعي والكلام المخصص.
قبل استخدام Speech to text REST API للصوت القصير، افهم أنك بحاجة إلى إكمال تبادل الرمز المميز كجزء من المصادقة للوصول إلى الخدمة. لمزيد من المعلومات، راجع المصادقة.
المناطق ونقاط النهاية
تحتوي نقطة النهاية لواجهة برمجة تطبيقات REST للصوت القصير على هذا التنسيق:
https://<REGION_IDENTIFIER>.stt.speech.microsoft.com/speech/recognition/conversation/cognitiveservices/v1
استبدل <REGION_IDENTIFIER>
بالمعرف الذي يطابق منطقة مورد الكلام.
إشعار
بالنسبة إلى Azure Government وMicrosoft Azure المشغلة بواسطة نقاط نهاية 21Vianet، راجع هذه المقالة حول السحب السيادية.
تنسيقات الصوت
يتم إرسال الصوت في نص طلب HTTP POST
. يجب أن يكون بأحد التنسيقات في هذا الجدول:
Format | برنامج ضغط الوسائط وفكها | معدل البت | معدل العينة |
---|---|---|---|
WAV | PCM | 256 كيلوبت في الثانية | 16 كيلوهرتز، أحادي |
OGG | OPUS | 256 كيلوبت في الثانية | 16 كيلوهرتز، أحادي |
إشعار
يتم دعم التنسيقات السابقة من خلال واجهة برمجة تطبيقات REST للصوت القصير وWebSocket في خدمة الكلام. يدعم Speech SDK تنسيق WAV مع برنامج ترميز PCM بالإضافة إلى تنسيقات أخرى.
عناوين الطلبات
يسرد هذا الجدول الرؤوس المطلوبة والاختيارية لطلبات الكلام إلى النص:
الرأس | الوصف | مطلوب أو اختياري |
---|---|---|
Ocp-Apim-Subscription-Key |
مفتاح المورد لخدمة Speech. | هذا العنوان أو Authorization مطلوب. |
Authorization |
رمز مميز للتخويل تسبقه الكلمة Bearer . لمزيد من المعلومات، راجع المصادقة. |
هذا العنوان أو Ocp-Apim-Subscription-Key مطلوب. |
Pronunciation-Assessment |
تحديد المعلمات لإظهار درجات النطق في نتائج التعرف. تقيم هذه الدرجات جودة النطق لإدخال الكلام، مع مؤشرات مثل الدقة والطلاقة والاكتمال. هذه المعلمة هي JSON مرمزة بـBase64 تحتوي على معلمات مفصلة متعددة. لمعرفة كيفية إنشاء هذا العنوان، راجع معلمات تقييم النطق. |
اختياري |
Content-type |
يصف تنسيق وفك ترميز البيانات الصوتية المتوفرة. القيم المقبولة هي audio/wav; codecs=audio/pcm; samplerate=16000 وaudio/ogg; codecs=opus . |
المطلوب |
Transfer-Encoding |
يحدد أنه يتم إرسال البيانات الصوتية المكعبة، بدلًا من ملف واحد. استخدم هذا العنوان فقط إذا كنت تقوم بتقسيم البيانات الصوتية. | اختياري |
Expect |
إذا كنت تستخدم النقل المكعب، فأرسل Expect: 100-continue . تعترف خدمة Speech بالطلب الأولي وتنتظر المزيد من البيانات. |
مطلوب إذا كنت ترسل بيانات صوتية مقتسمة. |
Accept |
إذا تم توفيره، يجب أن يكون application/json . توفر خدمة Speech النتائج في JSON. توفر بعض أطر عمل الطلب قيمة افتراضية غير متوافقة. من الممارسات الجيدة تضمين Accept دائمًا. |
.اختياري ولكن مُستحسن. |
معلمات الاستعلام
قد يتم تضمين هذه المعلمات في سلسلة الاستعلام لطلب REST.
إشعار
يجب إلحاق معلمة اللغة بعنوان URL لتجنب تلقي خطأ HTTP 4xx. على سبيل المثال، اللغة التي تم تعيينها إلى الإنجليزية الأمريكية عبر نقطة نهاية غرب الولايات المتحدة هي: https://westus.stt.speech.microsoft.com/speech/recognition/conversation/cognitiveservices/v1?language=en-US
.
المعلمة | الوصف | مطلوب أو اختياري |
---|---|---|
language |
يحدد اللغة المنطوقة التي يتم التعرف عليها. راجع اللغات المعتمدة. | المطلوب |
format |
تحديد تنسيق النتيجة. القيم المقبولة هي simple وdetailed . تتضمن النتائج البسيطة RecognitionStatus وDisplayText وOffset وDuration . تتضمن الاستجابات التفصيلية أربعة تمثيلات مختلفة لنص العرض. الإعداد الافتراضي هو simple . |
اختياري |
profanity |
تحديد كيفية التعامل مع الألفاظ النابية في نتائج التعرف. القيم المقبولة هي: masked ، الذي يستبدل الألفاظ النابية بعلامات نجمية. removed ، الذي يزيل كل الألفاظ النابية من النتيجة. raw ، الذي يتضمن الألفاظ النابية في النتيجة. الإعداد الافتراضي هو masked . |
اختياري |
cid |
عند استخدام Speech Studio لإنشاء نماذج مخصصة، يمكنك الاستفادة من قيمة معرف نقطة النهاية من صفحة النشر. استخدم قيمة معرف نقطة النهاية كوسيطة لمعلمة cid سلسلة الاستعلام. |
اختياري |
معلمات تقييم النطق
يسرد هذا الجدول المعلمات المطلوبة والاختيارية لتقييم النطق:
المعلمة | الوصف | مطلوب أو اختياري |
---|---|---|
ReferenceText |
النص الذي يتم تقييم النطق مقابله. | المطلوب |
GradingSystem |
نظام النقاط لمعايرة النتيجة. يعطي النظام FivePoint درجة نقطة عائمة من 0 إلى 5، ويعطي HundredMark درجة نقطة عائمة من 0 إلى 100. افتراضي: FivePoint . |
اختياري |
Granularity |
دقة التقييم. القيم المقبولة هي:Phoneme ، الذي يظهر النتيجة على مستويات النص الكامل والكلمة والهاتف.Word ، الذي يظهر النتيجة على مستويات النص الكامل والكلمة. FullText ، الذي يظهر النتيجة على مستوى النص الكامل فقط.الإعداد الافتراضي هو Phoneme . |
اختياري |
Dimension |
تعريف معايير الإخراج. القيم المقبولة هي:Basic ، الذي يظهر درجة الدقة فقط. Comprehensive ، الذي يظهر الدرجات على المزيد من الأبعاد (على سبيل المثال، درجة الطلاقة ودرجة الاكتمال على مستوى النص الكامل، ونوع الخطأ على مستوى الكلمة).للاطلاع على تعريفات أبعاد النقاط المختلفة وأنواع أخطاء الكلمات، راجع خصائص الاستجابة. الإعداد الافتراضي هو Basic . |
اختياري |
EnableMiscue |
تمكين حساب الأخطاء. مع تمكين هذه المعلمة، تتم مقارنة الكلمات النطقية بالنص المرجعي. يتم تمييزها بإغفال أو إدراج بناء على المقارنة. القيم المقبولة هي False وTrue . الإعداد الافتراضي هو False . |
اختياري |
ScenarioId |
GUID الذي يشير إلى نظام نقطة مخصص. | اختياري |
فيما يلي مثال JSON الذي يحتوي على معلمات تقييم النطق:
{
"ReferenceText": "Good morning.",
"GradingSystem": "HundredMark",
"Granularity": "FullText",
"Dimension": "Comprehensive"
}
يوضح نموذج التعليمات البرمجية التالي كيفية إنشاء معلمات تقييم النطق في العنوان Pronunciation-Assessment
:
var pronAssessmentParamsJson = $"{{\"ReferenceText\":\"Good morning.\",\"GradingSystem\":\"HundredMark\",\"Granularity\":\"FullText\",\"Dimension\":\"Comprehensive\"}}";
var pronAssessmentParamsBytes = Encoding.UTF8.GetBytes(pronAssessmentParamsJson);
var pronAssessmentHeader = Convert.ToBase64String(pronAssessmentParamsBytes);
نوصي بشدة بتحميل البث (نقل مقطعي) أثناء نشر البيانات الصوتية، مما قد يقلل بشكل كبير من زمن الانتقال. لمعرفة كيفية تمكين الدفق، راجع نموذج التعليمات البرمجية بلغات البرمجة المختلفة.
إشعار
لمزيد من المعلومات، راجع تقييم النطق.
نموذج الطلب
يتضمن النموذج التالي اسم المضيف والرؤوس المطلوبة. من المهم ملاحظة أن الخدمة تتوقع أيضا بيانات صوتية، وهي غير مضمنة في هذه العينة. كما ذكرنا سابقًا، يوصى بالتقسيم ولكن ليس مطلوبًا.
POST speech/recognition/conversation/cognitiveservices/v1?language=en-US&format=detailed HTTP/1.1
Accept: application/json;text/xml
Content-Type: audio/wav; codecs=audio/pcm; samplerate=16000
Ocp-Apim-Subscription-Key: YOUR_RESOURCE_KEY
Host: westus.stt.speech.microsoft.com
Transfer-Encoding: chunked
Expect: 100-continue
لتمكين تقييم النطق، يمكنك إضافة العنوان التالي. لمعرفة كيفية إنشاء هذا العنوان، راجع معلمات تقييم النطق.
Pronunciation-Assessment: eyJSZWZlcm...
تعليمة برمجية حالة HTTP
تشير تعليمة حالة HTTP البرمجية لكل استجابة إلى النجاح أو الأخطاء الشائعة.
رمز حالة HTTP | الوصف | الأسباب الممكنة |
---|---|---|
100 | متابعة | يتم قبول الطلب الأولي. تابع مع إرسال بقية البيانات. (يتم استخدام هذه التعليمة البرمجية مع النقل المجزئ.) |
200 | موافق | الطلب ناجح. نص الاستجابة هو كائن JSON. |
400 | طلب غير صالح | لم يتم توفير رمز اللغة أو اللغة غير معتمدة أو الملف الصوتي غير صالح (على سبيل المثال). |
401 | غير مصرح به | مفتاح المورد أو رمز التخويل غير صالح في المنطقة المحددة، أو نقطة نهاية غير صالحة. |
403 | محظور | مفتاح مورد أو رمز التخويل مفقود. |
نماذج الاستجابات
فيما يلي استجابة نموذجية للتعرف simple
:
{
"RecognitionStatus": "Success",
"DisplayText": "Remind me to buy 5 pencils.",
"Offset": "1236645672289",
"Duration": "1236645672289"
}
فيما يلي استجابة نموذجية للتعرف detailed
:
{
"RecognitionStatus": "Success",
"Offset": "1236645672289",
"Duration": "1236645672289",
"NBest": [
{
"Confidence": 0.9052885,
"Display": "What's the weather like?",
"ITN": "what's the weather like",
"Lexical": "what's the weather like",
"MaskedITN": "what's the weather like"
},
{
"Confidence": 0.92459863,
"Display": "what is the weather like",
"ITN": "what is the weather like",
"Lexical": "what is the weather like",
"MaskedITN": "what is the weather like"
}
]
}
فيما يلي استجابة نموذجية للتعرف عليها من خلال تقييم النطق:
{
"RecognitionStatus": "Success",
"Offset": "400000",
"Duration": "11000000",
"NBest": [
{
"Confidence" : "0.87",
"Lexical" : "good morning",
"ITN" : "good morning",
"MaskedITN" : "good morning",
"Display" : "Good morning.",
"PronScore" : 84.4,
"AccuracyScore" : 100.0,
"FluencyScore" : 74.0,
"CompletenessScore" : 100.0,
"Words": [
{
"Word" : "Good",
"AccuracyScore" : 100.0,
"ErrorType" : "None",
"Offset" : 500000,
"Duration" : 2700000
},
{
"Word" : "morning",
"AccuracyScore" : 100.0,
"ErrorType" : "None",
"Offset" : 5300000,
"Duration" : 900000
}
]
}
]
}
خصائص الاستجابة
يتم توفير النتائج ك JSON. يتضمن التنسيق simple
حقول المستوى الأعلى التالية:
الخاصية | الوصف |
---|---|
RecognitionStatus |
الحالة، مثل Success للتعرف الناجح. انظر الجدول التالي. |
DisplayText |
النص الذي تم التعرف عليه بعد الكتابة بالأحرف الكبيرة وعلامات الترقيم وتطبيع النص العكسي وإخفاء الألفاظ النابية. تقديم فقط عن النجاح. تطبيع النص العكسي هو تحويل النص المنطوق إلى أشكال أقصر، مثل 200 لـ "200" أو "الدكتور سميث" لـ"الطبيب سميث." |
Offset |
الوقت (بوحدات 100 نانو ثانية) الذي يبدأ فيه الكلام المعترف به في دفق الصوت. |
Duration |
المدة (بوحدات 100 نانو ثانية) للكلام المعترف به في دفق الصوت. |
قد يحتوي الحقل RecognitionStatus
على هذه القيم:
الحالة | الوصف |
---|---|
Success |
كان الاعتراف ناجحًا، والحقل DisplayText موجود. |
NoMatch |
تم الكشف عن الكلام في دفق الصوت، ولكن لم تتم مطابقة أي كلمات من اللغة الهدف. تعني هذه الحالة عادة أن لغة التعرف تختلف عن اللغة التي يتحدثها المستخدم. |
InitialSilenceTimeout |
احتوى بداية دفق الصوت على الصمت فقط، وتوقفت مهلة الخدمة في أثناء انتظار الكلام. |
BabbleTimeout |
احتوى بداية دفق الصوت على ضوضاء فقط، وقد انتهت مهلة الخدمة أثناء انتظار الكلام. |
Error |
واجهت خدمة التعرف خطأ داخليا وتعذرت المتابعة. حاول مرة أخرى إذا كان ذلك ممكنًا. |
إشعار
إذا كان الصوت يتكون فقط من الألفاظ النابية، وتم تعيين معلمة الاستعلام profanity
إلى remove
، فلن ترجع الخدمة نتيجة الكلام.
detailed
يتضمن التنسيق المزيد من أشكال النتائج التي تم التعرف عليها.
عند استخدام التنسيق detailed
، يتم توفير DisplayText
لكل Display
نتيجة في القائمة NBest
.
يمكن أن يتضمن الكائن في القائمة NBest
ما يلي:
الخاصية | الوصف |
---|---|
Confidence |
درجة ثقة الإدخال، من 0.0 (بدون ثقة) إلى 1.0 (الثقة الكاملة). |
Lexical |
الشكل المعجمي للنص المتعرف عليه: الكلمات الفعلية التي تم التعرف عليها. |
ITN |
يتم تطبيق تسوية النص العكسي (ITN) أو الشكل المتعارف عليه للنص الذي تم التعرف عليه، مع أرقام الهواتف والأرقام والاختصارات ("الطبيب سميث" إلى "dr smith")، والتحولات الأخرى المطبقة. |
MaskedITN |
نموذج ITN مع تطبيق إخفاء الألفاظ النابية، إذا طلب ذلك. |
Display |
نموذج العرض للنص الذي تم التعرف عليه، مع إضافة علامات الترقيم والأحرف الكبيرة. هذه المعلمة هي نفسها التي توفر DisplayText عند تعيين التنسيق إلى simple . |
AccuracyScore |
دقة نطق الكلام. تشير الدقة إلى مدى تطابق الصوتيات مع نطق المتحدث الأصلي. يتم تجميع درجة الدقة في مستويات الكلمة والنص الكامل من درجة الدقة على مستوى الهاتف. |
FluencyScore |
الطلاقة من الكلام المقدمة. تشير الطلاقة إلى مدى تطابق الكلام مع استخدام المتحدث الأصلي للفواصل الصامتة بين الكلمات. |
CompletenessScore |
اكتمال الكلام، يتم تحديده عن طريق حساب نسبة الكلمات الواضحة إلى إدخال النص المرجعي. |
PronScore |
النتيجة الإجمالية التي تشير إلى جودة النطق للكلام المقدم. يتم تجميع هذه النتيجة من AccuracyScore وFluencyScore وCompletenessScore بوزن. |
ErrorType |
القيمة التي تشير إلى ما إذا كان يتم حذف كلمة أو إدراجها أو نطقها بشكل سيئ، مقارنة بـReferenceText . القيم المحتملة هي None (بمعنى عدم وجود خطأ في هذه الكلمة) وOmission وInsertion وMispronunciation . |
نقل مقسم
يمكن أن يساعد النقل المقسم (Transfer-Encoding: chunked
) في تقليل زمن انتقال التعرف. يسمح لخدمة الكلام بالبدء في معالجة الملف الصوتي أثناء إرساله. لا توفر واجهة برمجة تطبيقات REST للصوت القصير نتائج جزئية أو مؤقتة.
يوضح نموذج التعليمات البرمجية التالي كيفية إرسال الصوت في مجموعات. يجب أن تحتوي المجموعة الأولى فقط على رأس ملف الصوت. request
هو كائن HttpWebRequest
متصل بنقطة نهاية REST المناسبة. audioFile
هو المسار إلى ملف صوتي على القرص.
var request = (HttpWebRequest)HttpWebRequest.Create(requestUri);
request.SendChunked = true;
request.Accept = @"application/json;text/xml";
request.Method = "POST";
request.ProtocolVersion = HttpVersion.Version11;
request.Host = host;
request.ContentType = @"audio/wav; codecs=audio/pcm; samplerate=16000";
request.Headers["Ocp-Apim-Subscription-Key"] = "YOUR_RESOURCE_KEY";
request.AllowWriteStreamBuffering = false;
using (var fs = new FileStream(audioFile, FileMode.Open, FileAccess.Read))
{
// Open a request stream and write 1,024-byte chunks in the stream one at a time.
byte[] buffer = null;
int bytesRead = 0;
using (var requestStream = request.GetRequestStream())
{
// Read 1,024 raw bytes from the input audio file.
buffer = new Byte[checked((uint)Math.Min(1024, (int)fs.Length))];
while ((bytesRead = fs.Read(buffer, 0, buffer.Length)) != 0)
{
requestStream.Write(buffer, 0, bytesRead);
}
requestStream.Flush();
}
}
المصادقة
يتطلب كل طلب عنوان تخويل. يوضح هذا الجدول العناوين المدعمة لكل ميزة:
عنوان التخويل المدعم | الكلام إلى النص | نص إلى كلام |
---|---|---|
Ocp-Apim-Subscription-Key |
نعم | نعم |
Authorization: Bearer |
نعم | نعم |
عند استخدام Ocp-Apim-Subscription-Key
العنوان، يطلب منك فقط توفير مفتاح المورد الخاص بك. على سبيل المثال:
'Ocp-Apim-Subscription-Key': 'YOUR_SUBSCRIPTION_KEY'
عند استخدام العنوان Authorization: Bearer
، يُطلب منك تقديم طلب إلى نقطة نهاية issueToken
. في هذا الطلب، يمكنك استبدال مفتاح المورد الخاص بك رمز مميز للوصول صالح لمدة 10 دقائق.
كيفية الحصول على الرمز المميز للوصول
للحصول على رمز مميز للوصول، تحتاج إلى تقديم طلب إلى issueToken
نقطة النهاية باستخدام Ocp-Apim-Subscription-Key
ومفتاح المورد الخاص بك.
لنقطة نهاية issueToken
التنسيق التالي:
https://<REGION_IDENTIFIER>.api.cognitive.microsoft.com/sts/v1.0/issueToken
استبدل <REGION_IDENTIFIER>
بالمعرّف الذي يتوافق مع منطقة اشتراكك.
استخدم النماذج التالية لإنشاء طلب الرمز المميز للوصول.
نموذج HTTP
هذا المثال هو طلب HTTP بسيط للحصول على رمز مميز. استبدل YOUR_SUBSCRIPTION_KEY
بمفتاح المورد لخدمة Speech. إذا لم يكن اشتراكك في منطقة غرب الولايات المتحدة، فاستبدل العنوان Host
باسم مضيف منطقتك.
POST /sts/v1.0/issueToken HTTP/1.1
Ocp-Apim-Subscription-Key: YOUR_SUBSCRIPTION_KEY
Host: eastus.api.cognitive.microsoft.com
Content-type: application/x-www-form-urlencoded
Content-Length: 0
يتضمن نص الاستجابة الرمز المميز للوصول بتنسيق JSON Web Token (JWT).
نموذج PowerShell
هذا المثال هو برنامج نصي بسيط من PowerShell للحصول على رمز مميز للوصول. استبدل YOUR_SUBSCRIPTION_KEY
بمفتاح المورد لخدمة Speech. تأكد من استخدام نقطة النهاية الصحيحة للمنطقة التي تتوافق مع اشتراكك. هذا المثال مُعيّن حالياً على غرب الولايات المتحدة.
$FetchTokenHeader = @{
'Content-type'='application/x-www-form-urlencoded';
'Content-Length'= '0';
'Ocp-Apim-Subscription-Key' = 'YOUR_SUBSCRIPTION_KEY'
}
$OAuthToken = Invoke-RestMethod -Method POST -Uri https://eastus.api.cognitive.microsoft.com/sts/v1.0/issueToken
-Headers $FetchTokenHeader
# show the token received
$OAuthToken
عينة cURL
cURL أداة سطر أوامر متوفرة في Linux (وفي نظام Windows الفرعي لـ Linux). يوضح أمر cURL هذا كيفية الحصول على رمز مميز للوصول. استبدل YOUR_SUBSCRIPTION_KEY
بمفتاح المورد لخدمة Speech. تأكد من استخدام نقطة النهاية الصحيحة للمنطقة التي تتوافق مع اشتراكك. هذا المثال مُعيّن حالياً على غرب الولايات المتحدة.
curl -v -X POST \
"https://eastus.api.cognitive.microsoft.com/sts/v1.0/issueToken" \
-H "Content-type: application/x-www-form-urlencoded" \
-H "Content-Length: 0" \
-H "Ocp-Apim-Subscription-Key: YOUR_SUBSCRIPTION_KEY"
عينة C#
توضح فئة C# هذه كيفية الحصول على رمز مميز للوصول. مرر مفتاح المورد لخدمة Speech عند إنشاء مثيل للفئة. إذا لم يكن اشتراكك في منطقة غرب الولايات المتحدة، فقم بتغيير قيمة FetchTokenUri
لتتوافق مع منطقة اشتراكك.
public class Authentication
{
public static readonly string FetchTokenUri =
"https://eastus.api.cognitive.microsoft.com/sts/v1.0/issueToken";
private string subscriptionKey;
private string token;
public Authentication(string subscriptionKey)
{
this.subscriptionKey = subscriptionKey;
this.token = FetchTokenAsync(FetchTokenUri, subscriptionKey).Result;
}
public string GetAccessToken()
{
return this.token;
}
private async Task<string> FetchTokenAsync(string fetchUri, string subscriptionKey)
{
using (var client = new HttpClient())
{
client.DefaultRequestHeaders.Add("Ocp-Apim-Subscription-Key", subscriptionKey);
UriBuilder uriBuilder = new UriBuilder(fetchUri);
var result = await client.PostAsync(uriBuilder.Uri.AbsoluteUri, null);
Console.WriteLine("Token Uri: {0}", uriBuilder.Uri.AbsoluteUri);
return await result.Content.ReadAsStringAsync();
}
}
}
عينة Python
# Request module must be installed.
# Run pip install requests if necessary.
import requests
subscription_key = 'REPLACE_WITH_YOUR_KEY'
def get_token(subscription_key):
fetch_token_url = 'https://eastus.api.cognitive.microsoft.com/sts/v1.0/issueToken'
headers = {
'Ocp-Apim-Subscription-Key': subscription_key
}
response = requests.post(fetch_token_url, headers=headers)
access_token = str(response.text)
print(access_token)
كيفية استخدام الرمز المميز للوصول
يجب إرسال الرمز المميز للوصول إلى الخدمة باعتباره عنوان Authorization: Bearer <TOKEN>
. كل رمز مميز للوصول صالح لمدة 10 دقائق. يمكنك الحصول على رمز مميز جديد في أي وقت، ولكن لتقليل نسبة استخدام الشبكة وزمن الانتقال، نوصي باستخدام نفس الرمز المميز لمدة تسع دقائق.
فيما يلي نموذج طلب HTTP إلى Speech to text REST API للصوت القصير:
POST /cognitiveservices/v1 HTTP/1.1
Authorization: Bearer YOUR_ACCESS_TOKEN
Host: westus.stt.speech.microsoft.com
Content-type: application/ssml+xml
Content-Length: 199
Connection: Keep-Alive
// Message body here...