الكلام المضمن

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

هام

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

متطلبات النظام الأساسي

يتم تضمين الكلام المضمن مع Speech SDK (الإصدار 1.24.1 والإصدارات الأحدث) ل C# وC++وJava. راجع متطلبات تثبيت Speech SDK العامة للغة البرمجة وتفاصيل النظام الأساسي المستهدف المحددة.

اختَر البيئة المستهدفة

يتطلب Android 7.0 (API level 24) أو أعلى على أجهزة Arm64 (arm64-v8a) أو Arm32 (armeabi-v7a).

يتم دعم TTS المضمن مع الأصوات العصبية فقط على Arm64.

القيود

يتوفر الكلام المضمن فقط مع C# وC++وJava SDKs. لا تدعم Speech SDKs و Speech CLI و REST APIs الكلام المضمن.

يدعم التعرف على الكلام المضمن تنسيقات صوت WAV أحادية 16 بت أو 8 كيلوهرتز أو 16 كيلوهرتز.

تدعم الأصوات العصبية المضمنة 24 كيلوهرتز RIFF/RAW، مع متطلبات ذاكرة الوصول العشوائي التي تبلغ 100 ميغابايت.

حزم Speech SDK المضمنة

بالنسبة لتطبيقات C# المضمنة، قم بتثبيت Speech SDK التالية لحزم C#‎:

الحزمة ‏‏الوصف
Microsoft.CognitiveServices.Speech مطلوب لاستخدام Speech SDK
Microsoft.CognitiveServices.Speech.Extension.Embedded.SR مطلوب للتعرف على الكلام المضمن
Microsoft.CognitiveServices.Speech.Extension.Embedded.TTS مطلوب لتجميع الكلام المضمن
Microsoft.CognitiveServices.Speech.Extension.ONNX.Runtime مطلوب للتعرف على الكلام المضمن وتركيبه
Microsoft.CognitiveServices.Speech.Extension.Telemetry مطلوب للتعرف على الكلام المضمن وتركيبه

بالنسبة إلى تطبيقات C++ المضمنة، قم بتثبيت Speech SDK التالية لحزم C++‎:

الحزمة ‏‏الوصف
Microsoft.CognitiveServices.Speech مطلوب لاستخدام Speech SDK
Microsoft.CognitiveServices.Speech.Extension.Embedded.SR مطلوب للتعرف على الكلام المضمن
Microsoft.CognitiveServices.Speech.Extension.Embedded.TTS مطلوب لتجميع الكلام المضمن
Microsoft.CognitiveServices.Speech.Extension.ONNX.Runtime مطلوب للتعرف على الكلام المضمن وتركيبه
Microsoft.CognitiveServices.Speech.Extension.Telemetry مطلوب للتعرف على الكلام المضمن وتركيبه

اختَر البيئة المستهدفة

بالنسبة لتطبيقات Java المضمنة، أضف client-sdk-embedded (.jar) كتبعية. تدعم هذه الحزمة الكلام السحابي والمضمن والمختلط.

هام

لا تقم بإضافة client-sdk في نفس المشروع، لأنه يدعم خدمات الكلام السحابية فقط.

اتبع هذه الخطوات لتثبيت Speech SDK لـ Java باستخدام Apache Maven:

  1. قم بتثبيت Apache Maven.
  2. يجب فتح موجه الأوامر حيث تريد المشروع الجديد، وأنشئ ملف pom.xmlجديد.
  3. انسخ محتوى XML التالي إلى 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-embedded</artifactId>
            <version>1.38.0</version>
            </dependency>
        </dependencies>
    </project>
    
  4. يجب تشغيل أمر Maven التالي لتثبيت Speech SDK والتبعيات.
    mvn clean dependency:copy-dependencies
    

النماذج والأصوات

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

تتوفر النماذج النصية للكلام التالي: da-DK، de-DE و en-AU و en-CA و en-GB و en-IE و en-IN و en-NZ و en-US و es-ES و es-MX و fr-CA و fr-FR و it-IT و ja-JP و ko-KR و pt-BR و pt-PT و zh-CN و zh-HK و zh-TW.

تتوفر جميع النصوص إلى لغات الكلام هنا (باستثناء fa-IR والفارسية (إيران)) خارج الصندوق مع إما 1 أنثى محددة و/أو صوت ذكر واحد محدد. نرحب بإدخالك لمساعدتنا في قياس الطلب على المزيد من اللغات والأصوات.

تكوين الكلام المضمن

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

استخدم الكائن EmbeddedSpeechConfig لتعيين موقع النماذج أو الأصوات. إذا تم استخدام التطبيق الخاص بك لكل من الكلام إلى النص والنص إلى كلام، يمكنك استخدام نفس EmbeddedSpeechConfig الكائن لتعيين موقع النماذج والأصوات.

// Provide the location of the models and voices.
List<string> paths = new List<string>();
paths.Add("C:\\dev\\embedded-speech\\stt-models");
paths.Add("C:\\dev\\embedded-speech\\tts-voices");
var embeddedSpeechConfig = EmbeddedSpeechConfig.FromPaths(paths.ToArray());

// For speech to text
embeddedSpeechConfig.SetSpeechRecognitionModel(
    "Microsoft Speech Recognizer en-US FP Model V8",
    Environment.GetEnvironmentVariable("MODEL_KEY"));

// For text to speech
embeddedSpeechConfig.SetSpeechSynthesisVoice(
    "Microsoft Server Speech Text to Speech Voice (en-US, JennyNeural)",
    Environment.GetEnvironmentVariable("VOICE_KEY"));
embeddedSpeechConfig.SetSpeechSynthesisOutputFormat(SpeechSynthesisOutputFormat.Riff24Khz16BitMonoPcm);

تلميح

GetEnvironmentVariable يتم تعريف الدالة في التشغيل السريع للكلام إلى النص والنص إلى التشغيل السريع للكلام.

// Provide the location of the models and voices.
vector<string> paths;
paths.push_back("C:\\dev\\embedded-speech\\stt-models");
paths.push_back("C:\\dev\\embedded-speech\\tts-voices");
auto embeddedSpeechConfig = EmbeddedSpeechConfig::FromPaths(paths);

// For speech to text
embeddedSpeechConfig->SetSpeechRecognitionModel((
    "Microsoft Speech Recognizer en-US FP Model V8",
    GetEnvironmentVariable("MODEL_KEY"));

// For text to speech
embeddedSpeechConfig->SetSpeechSynthesisVoice(
    "Microsoft Server Speech Text to Speech Voice (en-US, JennyNeural)",
    GetEnvironmentVariable("VOICE_KEY"));
embeddedSpeechConfig->SetSpeechSynthesisOutputFormat(SpeechSynthesisOutputFormat::Riff24Khz16BitMonoPcm);
// Provide the location of the models and voices.
List<String> paths = new ArrayList<>();
paths.add("C:\\dev\\embedded-speech\\stt-models");
paths.add("C:\\dev\\embedded-speech\\tts-voices");
var embeddedSpeechConfig = EmbeddedSpeechConfig.fromPaths(paths);

// For speech to text
embeddedSpeechConfig.setSpeechRecognitionModel(
    "Microsoft Speech Recognizer en-US FP Model V8",
    System.getenv("MODEL_KEY"));

// For text to speech
embeddedSpeechConfig.setSpeechSynthesisVoice(
    "Microsoft Server Speech Text to Speech Voice (en-US, JennyNeural)",
    System.getenv("VOICE_KEY"));
embeddedSpeechConfig.setSpeechSynthesisOutputFormat(SpeechSynthesisOutputFormat.Riff24Khz16BitMonoPcm);

نماذج التعليمات البرمجية للكلام المضمنة

يمكنك العثور على جاهز لاستخدام عينات الكلام المضمنة في GitHub. للحصول على ملاحظات حول المشاريع من البداية، راجع نماذج وثائق محددة:

يمكنك العثور على جاهز لاستخدام عينات الكلام المضمنة في GitHub. للحصول على ملاحظات حول المشاريع من البداية، راجع نماذج وثائق محددة:

يمكنك العثور على جاهز لاستخدام عينات الكلام المضمنة في GitHub. للحصول على ملاحظات حول المشاريع من البداية، راجع نماذج وثائق محددة:

الكلام المختلط

يستخدم الكلام المختلط مع HybridSpeechConfig العنصر خدمة الكلام السحابية بشكل افتراضي والكلام المضمن كخط احتياطي في حالة محدودية الاتصال السحابي أو بطءه.

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

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

الكلام السحابي

بالنسبة إلى الكلام السحابي SpeechConfig ، يمكنك استخدام الكائن، كما هو موضح في التشغيل السريع لتحويل الكلام إلى نص والبدء السريع لتحويل النص إلى كلام. لتشغيل التشغيل السريع للكلام المضمن، يمكنك استبدال SpeechConfig ب EmbeddedSpeechConfig أو HybridSpeechConfig. معظم التعليمات البرمجية الأخرى للتعرف على الكلام والتركيب هي نفسها، سواء باستخدام التكوين السحابي أو المضمن أو المختلط.

قدرات الأصوات المضمنة

بالنسبة للأصوات المضمنة، من الضروري ملاحظة أن بعض علامات SSML قد لا تكون مدعومة حاليا بسبب الاختلافات في بنية النموذج. للحصول على معلومات مفصلة حول علامات SSML غير المدعومة، راجع الجدول التالي.

المستوى 1 المستوى 2 القيم الفرعية الدعم في NTTS المضمن
audio src لا
⁧إشارة مرجعية⁧ ‏‏نعم‬
المقاطعة strength لا
time لا
الصمت النوع البادئة، والتعقب، والفاوصلة الدقيقة، وما إلى ذلك. لا
قيمة لا
التركيز المستوى لا
lang لا
المعجم URI ‏‏نعم‬
الرياضيات لا
msttsaudioduration قيمة لا
msttsbackgroundaudio src لا
وحدة التخزين لا
تلاشي لا
تلاشي لا
msttsexpress-as النمط لا
نمط الخضرة لا
الدور لا
msttssilence لا
msttsviseme النوع redlips_front، تعبير الوجه لا
-p ‏‏نعم‬
الوحدة الصوتية الابجديه ipa وsapi و ups وما إلى ذلك. ‏‏نعم‬
الرقم الهيدروجيني ‏‏نعم‬
تصاوت كفاف دعم مستوى الجمل، مستوى الكلمة فقط en-US وzh-CN ‏‏نعم‬
الملعب ‏‏نعم‬
النطاق ‏‏نعم‬
rate ‏‏نعم‬
وحدة التخزين ‏‏نعم‬
s ‏‏نعم‬
نطق ب interpret-as الأحرف، والإملاء، number_digit، والتاريخ، وما إلى ذلك. ‏‏نعم‬
format ‏‏نعم‬
التفاصيل ‏‏نعم‬
فرعي الاسم المستعار ‏‏نعم‬
التحدث ‏‏نعم‬
الصوت لا

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