إنشاء نسخ دفعي

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

هام

التسعير الجديد ساري المفعول للنسخ الدفعي باستخدام Speech to text REST API v3.2. لمزيد من المعلومات، راجع دليل التسعير.

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

  • تم تثبيت Speech SDK .
  • مورد الكلام القياسي (S0). الموارد المجانية (F0) غير مدعومة.

إنشاء مهمة كتابة

لإنشاء نسخة، استخدم عملية Transcriptions_Create من Speech to text REST API. إنشاء نص الطلب وفقًا للإرشادات التالية:

  • يجب تعيين إما الخاصية contentContainerUrl أو contentUrls . لمزيد من المعلومات حول تخزين Azure blob للنسخ الدفعي، راجع تحديد موقع الملفات الصوتية للنسخ الدفعي.
  • عيّن الخاصية locale المطلوبة. يجب أن تتطابق هذه القيمة مع اللغة المتوقعة للبيانات الصوتية للنسخ. لا يمكنك تغيير إعداداتك المحلية لاحقا.
  • عيّن الخاصية displayName المطلوبة. اختر اسم النسخ الذي يمكنك الرجوع إليه لاحقا. لا يجب أن يكون اسم النسخ فريدا ويمكن تغييره لاحقا.
  • اختياريا، لاستخدام نموذج آخر غير النموذج الأساسي، قم بتعيين الخاصية model إلى معرف النموذج. لمزيد من المعلومات، راجع استخدام نموذج مخصص واستخدام نموذج هامس.
  • اختياريا، قم بتعيين الخاصية wordLevelTimestampsEnabled إلى true لتمكين الطوابع الزمنية على مستوى الكلمات في نتائج النسخ. القيمة الافتراضية هي false. بالنسبة لنماذج الهمس، قم بتعيين الخاصية displayFormWordLevelTimestampsEnabled بدلا من ذلك. الهمس هو نموذج عرض فقط، لذلك لا يتم ملء الحقل المعجمي في النسخ.
  • اختياريا، قم بتعيين الخاصية languageIdentification . يتم استخدام تعريف اللغة لتحديد اللغات المنطوقة في الصوت عند مقارنتها بقائمة اللغات المدعومة. إذا قمت بتعيين الخاصية languageIdentification ، فيجب عليك أيضا تعيين languageIdentification.candidateLocales مع الإعدادات المحلية المرشحة.

لمزيد من المعلومات، راجع خيارات تكوين الطلب.

قم بإجراء طلب HTTP POST الذي يستخدم URI كما هو موضح في المثال Transcriptions_Create التالي.

  • استبدل YourSubscriptionKey بمفتاح مورد الكلام.
  • استبدل YourServiceRegion بمنطقة مورد Speech.
  • تعيين خصائص نص الطلب كما هو موضح سابقا.
curl -v -X POST -H "Ocp-Apim-Subscription-Key: YourSubscriptionKey" -H "Content-Type: application/json" -d '{
  "contentUrls": [
    "https://crbn.us/hello.wav",
    "https://crbn.us/whatstheweatherlike.wav"
  ],
  "locale": "en-US",
  "displayName": "My Transcription",
  "model": null,
  "properties": {
    "wordLevelTimestampsEnabled": true,
    "languageIdentification": {
      "candidateLocales": [
        "en-US", "de-DE", "es-ES"
      ],
    }
  },
}'  "https://YourServiceRegion.api.cognitive.microsoft.com/speechtotext/v3.1/transcriptions"

يجب أن تتلقى نص الاستجابة بالتنسيق التالي:

{
  "self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/transcriptions/db474955-ab85-4c6c-ba6e-3bfe63d041ba",
  "model": {
    "self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/models/base/13fb305e-09ad-4bce-b3a1-938c9124dda3"
  },
  "links": {
    "files": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/transcriptions/db474955-ab85-4c6c-ba6e-3bfe63d041ba/files"
  },
  "properties": {
    "diarizationEnabled": false,
    "wordLevelTimestampsEnabled": true,
    "channels": [
      0,
      1
    ],
    "punctuationMode": "DictatedAndAutomatic",
    "profanityFilterMode": "Masked",
    "languageIdentification": {
      "candidateLocales": [
        "en-US",
        "de-DE",
        "es-ES"
      ]
    }
  },
  "lastActionDateTime": "2022-10-21T14:18:06Z",
  "status": "NotStarted",
  "createdDateTime": "2022-10-21T14:18:06Z",
  "locale": "en-US",
  "displayName": "My Transcription"
}

خاصية المستوى self الأعلى في نص الاستجابة هي URI الخاص بالنسخ. استخدم URI هذا للحصول على تفاصيل مثل URI للنسخ وملفات تقرير النسخ. يمكنك أيضا استخدام URI هذا لتحديث نسخة أو حذفها.

يمكنك الاستعلام عن حالة النسخ باستخدام عملية Transcriptions_Get .

اتصل Transcriptions_Delete بانتظام من الخدمة، بعد استرداد النتائج. بدلاً من ذلك، عيِّن الخاصية timeToLive لضمان الحذف النهائي للنتائج.

لإنشاء نسخة، استخدم spx batch transcription create الأمر . أنشئ عمليات الطلب وفقاً للتعليمات التالية:

  • يوصى بتعيين المعلمة content المطلوبة. يمكنك تحديد قائمة محددة منقوطة من الملفات الفردية أو عنوان URL لحاوية بأكملها. لمزيد من المعلومات حول تخزين Azure blob للنسخ الدفعي، راجع تحديد موقع الملفات الصوتية للنسخ الدفعي.
  • عيّن الخاصية language المطلوبة. يجب أن تتطابق هذه القيمة مع اللغة المتوقعة للبيانات الصوتية للنسخ. لا يمكنك تغيير إعداداتك المحلية لاحقا. المعلمة Speech CLIlanguageمتوافقة مع الخاصيةlocaleفي طلب JSON والاستجابة.
  • عيّن الخاصية name المطلوبة. اختر اسم النسخ الذي يمكنك الرجوع إليه لاحقا. لا يجب أن يكون اسم النسخ فريدا ويمكن تغييره لاحقا. المعلمة Speech CLInameمتوافقة مع الخاصيةdisplayNameفي طلب JSON والاستجابة.

فيما يلي مثال على أمر Speech CLI الذي ينشئ مهمة النسخ:

spx batch transcription create --name "My Transcription" --language "en-US" --content https://crbn.us/hello.wav;https://crbn.us/whatstheweatherlike.wav

يجب أن تتلقى نص الاستجابة بالتنسيق التالي:

{
  "self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/transcriptions/7f4232d5-9873-47a7-a6f7-4a3f00d00dc0",
  "model": {
    "self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/models/base/13fb305e-09ad-4bce-b3a1-938c9124dda3"
  },
  "links": {
    "files": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/transcriptions/7f4232d5-9873-47a7-a6f7-4a3f00d00dc0/files"
  },
  "properties": {
    "diarizationEnabled": false,
    "wordLevelTimestampsEnabled": false,
    "channels": [
      0,
      1
    ],
    "punctuationMode": "DictatedAndAutomatic",
    "profanityFilterMode": "Masked"
  },
  "lastActionDateTime": "2022-10-21T14:21:59Z",
  "status": "NotStarted",
  "createdDateTime": "2022-10-21T14:21:59Z",
  "locale": "en-US",
  "displayName": "My Transcription",
  "description": ""
}

خاصية المستوى self الأعلى في نص الاستجابة هي URI الخاص بالنسخ. استخدم URI هذا للحصول على تفاصيل مثل URI للنسخ وملفات تقرير النسخ. يمكنك أيضا استخدام URI هذا لتحديث نسخة أو حذفها.

للحصول على تعليمات Speech CLI في النسخ، قم بتشغيل الأمر التالي:

spx help batch transcription

طلب خيارات التكوين

فيما يلي بعض خيارات الخصائص التي يمكنك استخدامها لتكوين النسخ عند استدعاء عملية Transcriptions_Create .

الخاصية ‏‏الوصف
channels صفيف من أرقام القنوات لمعالجتها. يتم نسخ القنوات 0 و 1 بشكل افتراضي.
contentContainerUrl يمكنك إرسال ملفات صوتية فردية أو حاوية تخزين كاملة.

يجب تحديد موقع البيانات الصوتية باستخدام الخاصية contentContainerUrl أو contentUrls . لمزيد من المعلومات حول تخزين Azure blob للنسخ الدفعي، راجع تحديد موقع الملفات الصوتية للنسخ الدفعي.

لا يتم إرجاع هذه الخاصية في الاستجابة.
contentUrls يمكنك إرسال ملفات صوتية فردية أو حاوية تخزين كاملة.

يجب تحديد موقع البيانات الصوتية باستخدام الخاصية contentContainerUrl أو contentUrls . لمزيد من المعلومات، راجع تحديد موقع الملفات الصوتية للنسخ الدفعي.

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

اليوميات هي عملية فصل السماعات في البيانات الصوتية. يمكن للبنية الأساسية لبرنامج ربط العمليات التجارية الدفعية التعرف على عدة سماعات وفصلها على تسجيلات القناة الأحادية.

حدد الحد الأدنى والحد الأقصى لعدد الأشخاص الذين قد يتحدثون. يجب أيضا تعيين الخاصية diarizationEnabled إلى true. يحتوي ملف النسخ على speaker إدخال لكل عبارة منسوخة.

تحتاج إلى استخدام هذه الخاصية عندما تتوقع ثلاثة متكلمين أو أكثر. بالنسبة لمتحدثين، يكون تعيين diarizationEnabled الخاصية إلى true كافيا. للحصول على مثال لاستخدام الخاصية، راجع Transcriptions_Create.

يجب أن يكون الحد الأقصى لعدد المتحدثين باليوميات أقل من 36 متكلما وأكثر أو مساويا للممتلكات minSpeakers . على سبيل المثال، راجع Transcriptions_Create.

عند تحديد هذه الخاصية، لا يمكن أن يتجاوز طول الصوت المصدر 240 دقيقة لكل ملف.

ملاحظة: تتوفر هذه الخاصية فقط مع Speech to text REST API الإصدار 3.1 والإصدارات الأحدث. إذا قمت بتعيين هذه الخاصية مع أي إصدار سابق، مثل الإصدار 3.0، يتم تجاهلها ويتم تحديد متحدثين فقط.
diarizationEnabled يحدد أن خدمة Speech يجب أن تحاول تحليل اليوميات على الإدخال، والذي من المتوقع أن يكون قناة أحادية تحتوي على صوتين. القيمة الافتراضية هي false.

لثلاثة أصوات أو أكثر تحتاج أيضا إلى استخدام الخاصية diarization. استخدم فقط مع Speech للنص REST API الإصدار 3.1 والإصدارات الأحدث.

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

هذه الخاصية مطلوبة.
displayFormWordLevelTimestampsEnabled تحديد ما إذا كان يجب تضمين الطوابع الزمنية على مستوى الكلمات في نموذج عرض نتائج النسخ. يتم إرجاع النتائج في displayWords خاصية ملف النسخ. القيمة الافتراضية هي false.

ملاحظة: تتوفر هذه الخاصية فقط مع Speech to text REST API الإصدار 3.1 والإصدارات الأحدث.
languageIdentification يتم استخدام تعريف اللغة لتحديد اللغات المنطوقة في الصوت عند مقارنتها بقائمة اللغات المدعومة.

إذا قمت بتعيين الخاصية languageIdentification ، فيجب عليك أيضا تعيين الخاصية المضمنة الخاصة بها candidateLocales .
languageIdentification.candidateLocales الإعدادات المحلية المرشحة لتعريف اللغة، مثل "properties": { "languageIdentification": { "candidateLocales": ["en-US", "de-DE", "es-ES"]}}. يتم دعم اثنين كحد أدنى وعشرة لغة مرشحة كحد أقصى، بما في ذلك اللغة الرئيسية للنسخ.
locale اللغة المحلية للنسخ الدفعي. يجب أن تتطابق هذه القيمة مع اللغة المتوقعة للبيانات الصوتية للنسخ. لا يمكن تغيير الإعدادات المحلية لاحقًا.

هذه الخاصية مطلوبة.
model يمكنك تعيين الخاصية model لاستخدام نموذج أساسي معين أو نموذج كلام مخصص. إذا لم تحدد model، يتم استخدام النموذج الأساس الافتراضي للإعدادات المحلية المستخدمة. لمزيد من المعلومات، راجع استخدام نموذج مخصص واستخدام نموذج هامس.
profanityFilterMode تحديد كيفية التعامل مع الألفاظ النابية في نتائج التعرف. القيم المقبولة هي None تعطيل تصفية الألفاظ النابية، Masked أو استبدال الألفاظ النابية بعلامات نجمية، أو Removed لإزالة جميع الألفاظ النابية من النتيجة، أو Tags لإضافة علامات الألفاظ النابية. القيمة الافتراضية هي Masked.
punctuationMode تحديد كيفية التعامل مع علامات الترقيم في نتائج التعرف. القيم المقبولة هي None تعطيل علامات الترقيم، Dictated أو للدلالة على علامات الترقيم الصريحة (المنطوقة)، أو Automatic للسماح لأداة فك التشفير بالتعامل مع علامات الترقيم، أو DictatedAndAutomatic لاستخدام علامات الترقيم الإملائية والتلقائية. القيمة الافتراضية هي DictatedAndAutomatic.

لا تنطبق هذه الخاصية على نماذج الهمس.
timeToLive مدة بعد إنشاء مهمة النسخ، عندما يتم حذف نتائج النسخ تلقائيا. القيمة هي مدة ترميز ISO 8601. على سبيل المثال، حدد PT12H لمدة 12 ساعة. كبديل، يمكنك استدعاء Transcriptions_Delete بانتظام بعد استرداد نتائج النسخ.
wordLevelTimestampsEnabled يحدد ما إذا كان يجب تضمين الطوابع الزمنية على مستوى الكلمات في الإخراج. القيمة الافتراضية هي false.

لا تنطبق هذه الخاصية على نماذج الهمس. الهمس هو نموذج عرض فقط، لذلك لا يتم ملء الحقل المعجمي في النسخ.

للحصول على مساعدة Speech CLI في خيارات تكوين النسخ، قم بتشغيل الأمر التالي:

spx help batch transcription create advanced

استخدام نموذج مخصص

يستخدم النسخ الدفعي النموذج الأساسي الافتراضي للإعدادات المحلية التي تحددها. لا تحتاج إلى تعيين أي خصائص لاستخدام النموذج الأساسي الافتراضي.

اختياريا، يمكنك تعديل مثال إنشاء النسخ السابق عن طريق تعيين الخاصية model لاستخدام نموذج أساسي معين أو نموذج كلام مخصص.

curl -v -X POST -H "Ocp-Apim-Subscription-Key: YourSubscriptionKey" -H "Content-Type: application/json" -d '{
  "contentUrls": [
    "https://crbn.us/hello.wav",
    "https://crbn.us/whatstheweatherlike.wav"
  ],
  "locale": "en-US",
  "displayName": "My Transcription",
  "model": {
    "self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/models/base/1aae1070-7972-47e9-a977-87e3b05c457d"
  },
  "properties": {
    "wordLevelTimestampsEnabled": true,
  },
}'  "https://YourServiceRegion.api.cognitive.microsoft.com/speechtotext/v3.1/transcriptions"
spx batch transcription create --name "My Transcription" --language "en-US" --content https://crbn.us/hello.wav;https://crbn.us/whatstheweatherlike.wav --model "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.1/models/base/1aae1070-7972-47e9-a977-87e3b05c457d"

لاستخدام نموذج كلام مخصص للنسخ الدفعي، تحتاج إلى URI الخاص بالنموذج. خاصية المستوى الأعلى self في نص الاستجابة هي URI للنموذج. يمكنك استرداد موقع النموذج عند إنشاء نموذج أو الحصول عليه. لمزيد من المعلومات، راجع مثال استجابة JSON في إنشاء نموذج.

تلميح

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

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

استخدام نموذج الهمس

يدعم Azure الذكاء الاصطناعي Speech نموذج الهمس الخاص ب OpenAI باستخدام واجهة برمجة تطبيقات النسخ الدفعي. يمكنك استخدام نموذج الهمس للنسخ الدفعي.

إشعار

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

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

هام

بالنسبة لنماذج الهمس، يجب عليك دائما استخدام الإصدار 3.2 من الكلام إلى واجهة برمجة تطبيقات النص.

يتم دعم نماذج الهمس حسب النسخ الدفعي في مناطق شرق أستراليا ووسط الولايات المتحدة وشرق الولايات المتحدة وشمال وسط الولايات المتحدة وجنوب وسط الولايات المتحدة وجنوب شرق آسيا وغرب أوروبا.

يمكنك تقديم طلب Models_ListBaseModels للحصول على نماذج أساسية متوفرة لجميع الإعدادات المحلية.

قم بإجراء طلب HTTP GET كما هو موضح في المثال eastus التالي للمنطقة. استبدل YourSubscriptionKey بمفتاح مورد الكلام. استبدل eastus إذا كنت تستخدم منطقة مختلفة.

curl -v -X GET "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/models/base" -H "Ocp-Apim-Subscription-Key: YourSubscriptionKey"

بشكل افتراضي، يتم إرجاع أقدم 100 نموذج أساسي فقط. skip استخدم معلمات الاستعلام و top للصفحة عبر النتائج. على سبيل المثال، يرجع الطلب التالي النماذج الأساسية ال 100 التالية بعد أول 100.

curl -v -X GET "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/models/base?skip=100&top=100" -H "Ocp-Apim-Subscription-Key: YourSubscriptionKey"

تأكد من تعيين متغيرات التكوين لمورد Speech في إحدى المناطق المدعومة. يُمكنك تشغيل spx csr list --base الأمر للحصول على نماذج أساسية متوفرة لجميع الإعدادات المحلية.

spx csr list --base --api-version v3.2

displayName تحتوي خاصية نموذج الهمس على "هامس" كما هو موضح في هذا المثال. الهمس هو نموذج عرض فقط، لذلك لا يتم ملء الحقل المعجمي في النسخ.

{
  "self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/models/base/e418c4a9-9937-4db7-b2c9-8afbff72d950",
  "links": {
    "manifest": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/models/base/e418c4a9-9937-4db7-b2c9-8afbff72d950/manifest"
  },
  "properties": {
    "deprecationDates": {
      "adaptationDateTime": "2025-04-15T00:00:00Z",
      "transcriptionDateTime": "2026-04-15T00:00:00Z"
    },
    "features": {
      "supportsTranscriptions": true,
      "supportsEndpoints": false,
      "supportsTranscriptionsOnSpeechContainers": false,
      "supportsAdaptationsWith": [
        "Acoustic"
      ],
      "supportedOutputFormats": [
        "Display"
      ]
    },
    "chargeForAdaptation": true
  },
  "lastActionDateTime": "2024-02-29T15:53:28Z",
  "status": "Succeeded",
  "createdDateTime": "2024-02-29T15:46:07Z",
  "locale": "en-US",
  "displayName": "20240228 Whisper Large V2",
  "description": "OpenAI Whisper Model in Azure AI Speech (Whisper v2-large)"
},

يمكنك تعيين URI النموذج الكامل كما هو موضح في هذا المثال للمنطقة eastus . استبدل YourSubscriptionKey بمفتاح مورد الكلام. استبدل eastus إذا كنت تستخدم منطقة مختلفة.

curl -v -X POST -H "Ocp-Apim-Subscription-Key: YourSubscriptionKey" -H "Content-Type: application/json" -d '{
  "contentUrls": [
    "https://crbn.us/hello.wav",
    "https://crbn.us/whatstheweatherlike.wav"
  ],
  "locale": "en-US",
  "displayName": "My Transcription",
  "model": {
    "self": "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/models/base/d9cbeee6-582b-47ad-b5c1-6226583c92b6"
  },
  "properties": {
    "wordLevelTimestampsEnabled": true,
  },
}'  "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/transcriptions"
spx batch transcription create --name "My Transcription" --language "en-US" --content https://crbn.us/hello.wav;https://crbn.us/whatstheweatherlike.wav --model "https://eastus.api.cognitive.microsoft.com/speechtotext/v3.2/models/base/d9cbeee6-582b-47ad-b5c1-6226583c92b6" --api-version v3.2

تحديد عنوان URL لحاوية الوجهة

يمكن تخزين نتيجة النسخ في حاوية Azure. إذا لم تحدد حاوية، تقوم خدمة Speech بتخزين النتائج في حاوية تديرها Microsoft. في هذه الحالة، عند حذف مهمة النسخ، يتم أيضا حذف بيانات نتيجة النسخ.

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

إذا كنت ترغب في تخزين نتائج النسخ في حاوية تخزين Azure Blob باستخدام آلية أمان خدمات Azure الموثوق بها، ففكر في استخدام Bring-your-own-storage (BYOS). لمزيد من المعلومات، راجع استخدام مورد الكلام إحضار مساحة التخزين الخاصة بك (BYOS) لتحويل الكلام إلى نص.