Share via


Beágyazott beszéd

A Beágyazott beszéd eszközről szövegre és szövegről beszédre való beszédhez készült, ahol a felhőbeli kapcsolat időszakos vagy nem érhető el. Használhat például beágyazott beszédet ipari berendezésekben, hangalapú légkondicionáló egységben vagy olyan autóban, amely a tartományon kívülre is utazhat. Hibrid felhőalapú és offline megoldásokat is fejleszthet. Azokban az esetekben, amikor az eszközöknek biztonságos környezetben kell lenniük, például bank vagy kormányzati entitás, először érdemes megfontolni a leválasztott tárolók használatát.

Fontos

A Microsoft korlátozza a beágyazott beszédhez való hozzáférést. A hozzáférésre az Azure AI Speech embedded speech korlátozott hozzáférésű áttekintésével jelentkezhet. További információ: Korlátozott hozzáférés beágyazott beszédhez.

Platformkövetelmények

A beágyazott beszéd a Speech SDK (1.24.1-es és újabb verzió) részét képezi c#, C++ és Java esetén. Tekintse meg a Speech SDK általános telepítési követelményeit a programozási nyelvre és a célplatformra vonatkozó részletekre vonatkozóan.

A célkörnyezet kiválasztása

Az Arm64arm64-v8a () vagy Arm32 (armeabi-v7a) hardveren Android 7.0 (API level 24) vagy újabb verzió szükséges.

A neurális hangokkal rendelkező beágyazott TTS csak az Arm64-en támogatott.

Korlátozások

A beágyazott beszéd csak C#, C++ és Java SDK-k esetén érhető el. A többi Speech SDK, Speech CLI és REST API nem támogatja a beágyazott beszédet.

A beágyazott beszédfelismerés csak a mono 16 bites, 8 kHz-es vagy 16 kHz-es PCM-kódolású WAV hangformátumokat támogatja.

A beágyazott neurális hangok támogatják a 24 kHz-es RIFF/RAW 100 MB RAM-követelményt.

Beágyazott beszéd SDK-csomagok

Beágyazott C#-alkalmazások esetén telepítse a következő Speech SDK for C# csomagokat:

Csomag Leírás
Microsoft.CognitiveServices.Speech A Speech SDK használatához szükséges
Microsoft.CognitiveServices.Speech.Extension.Embedded.SR Beágyazott beszédfelismeréshez szükséges
Microsoft.CognitiveServices.Speech.Extension.Embedded.TTS Beágyazott beszédszintézishez szükséges
Microsoft.CognitiveServices.Speech.Extension.ONNX.Runtime A beágyazott beszédfelismeréshez és -szintézishez szükséges
Microsoft.CognitiveServices.Speech.Extension.Telemetria A beágyazott beszédfelismeréshez és -szintézishez szükséges

C++ beágyazott alkalmazások esetén telepítse a következő Speech SDK-t C++ csomagokhoz:

Csomag Leírás
Microsoft.CognitiveServices.Speech A Speech SDK használatához szükséges
Microsoft.CognitiveServices.Speech.Extension.Embedded.SR Beágyazott beszédfelismeréshez szükséges
Microsoft.CognitiveServices.Speech.Extension.Embedded.TTS Beágyazott beszédszintézishez szükséges
Microsoft.CognitiveServices.Speech.Extension.ONNX.Runtime A beágyazott beszédfelismeréshez és -szintézishez szükséges
Microsoft.CognitiveServices.Speech.Extension.Telemetria A beágyazott beszédfelismeréshez és -szintézishez szükséges

A célkörnyezet kiválasztása

Java-beágyazott alkalmazások esetén add client-sdk-embedded (.jar) függvényt függőségként. Ez a csomag támogatja a felhőalapú, beágyazott és hibrid beszédet.

Fontos

Ne vegyen fel ügyféloldali sdk-t ugyanabban a projektben, mivel csak a felhőalapú beszédszolgáltatásokat támogatja.

A Java Speech SDK Apache Maven használatával történő telepítéséhez kövesse az alábbi lépéseket:

  1. Telepítse az Apache Maven-t.
  2. Nyisson meg egy parancssort, ahol az új projektet szeretné, és hozzon létre egy új pom.xml fájlt.
  3. Másolja a következő XML-tartalmat a következőbe 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.37.0</version>
            </dependency>
        </dependencies>
    </project>
    
  4. Futtassa a következő Maven-parancsot a Speech SDK és a függőségek telepítéséhez.
    mvn clean dependency:copy-dependencies
    

Modellek és hangok

Beágyazott beszéd esetén le kell töltenie a beszédfelismerési modelleket a szöveggé és a beszédhez használt hangokat. Útmutatást a korlátozott hozzáférésű felülvizsgálati folyamat sikeres befejezésekor adnak meg.

A következő szöveges beszédmodellek érhetők el: 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 és zh-TW.

Minden szöveg beszéd területi itt (kivéve fa-IR, perzsa (Irán)) állnak rendelkezésre dobozon kívül vagy 1 kiválasztott női és/vagy 1 kiválasztott férfi hang. Örömmel fogadjuk a bemenetét, hogy felmérhessük a további nyelvek és hangok iránti keresletet.

Beágyazott beszédkonfiguráció

A felhőalapú alkalmazások esetében, ahogyan a legtöbb Speech SDK-példában látható, az SpeechConfig objektumot speech erőforráskulcsgal és régióval használja. Beágyazott beszéd esetén nem használ Speech-erőforrást. Felhőbeli erőforrás helyett a helyi eszközre letöltött modelleket és hangokat használja.

EmbeddedSpeechConfig Az objektummal beállíthatja a modellek vagy hangok helyét. Ha az alkalmazást beszédről szövegre és szövegről beszédre is használják, ugyanazzal EmbeddedSpeechConfig az objektummal állíthatja be a modellek és hangok helyét.

// 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);

Tipp.

A GetEnvironmentVariable függvény a beszédről szövegre rövid útmutatóban , a szövegről a beszédre rövid útmutatóban van definiálva.

// 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);

Beágyazott beszédkódminták

Beágyazott beszédmintákat a GitHubon találhat. Az alapoktól kezdve a projektekre vonatkozó megjegyzésekért tekintse meg a mintákra vonatkozó dokumentációt:

Beágyazott beszédmintákat a GitHubon találhat. Az alapoktól kezdve a projektekre vonatkozó megjegyzésekért tekintse meg a mintákra vonatkozó dokumentációt:

Beágyazott beszédmintákat a GitHubon találhat. Az alapoktól kezdve a projektekre vonatkozó megjegyzésekért tekintse meg a mintákra vonatkozó dokumentációt:

Hibrid beszéd

Az HybridSpeechConfig objektummal való hibrid beszéd alapértelmezés szerint a felhőalapú beszédszolgáltatást használja, a beágyazott beszéd pedig tartalékként szolgál arra az esetre, ha a felhőkapcsolat korlátozott vagy lassú.

A beszédfelismerő modellek hibrid beszédkonfigurációjával beágyazott beszédet használ a rendszer, ha a felhőszolgáltatáshoz való csatlakozás ismétlődő próbálkozások után meghiúsul. Ha a kapcsolat később folytatódik, a felismerés ismét használhatja a felhőszolgáltatást.

A szövegfelolvasás (hangok) hibrid beszédkonfigurációjával a beágyazott és a felhőszintézis párhuzamosan fut, és a végeredmény a válaszsebesség alapján van kiválasztva. A legjobb eredményt minden új szintéziskérésen újra kiértékeljük.

Felhőbeli beszéd

A felhőbeli beszédhez az objektumot SpeechConfig kell használnia, ahogy az a beszédről szövegre rövid útmutatóban és a szövegről beszédre rövid útmutatóban is látható. A beágyazott beszéd gyorsútmutatóinak futtatásához lecserélheti SpeechConfigEmbeddedSpeechConfig a következőre: vagy HybridSpeechConfig. A többi beszédfelismerési és szintéziskód többsége ugyanaz, akár felhőbeli, beágyazott vagy hibrid konfigurációt használ.

Beágyazott hangok képességei

A beágyazott hangok esetében fontos megjegyezni, hogy egyes SSML-címkék jelenleg nem támogatottak a modellstruktúra eltérései miatt. A nem támogatott SSML-címkékkel kapcsolatos részletes információkért tekintse meg az alábbi táblázatot.

1. szint 2. szint Alértékek Támogatás beágyazott NTTS-ben
Audio src Nem
bookmark Igen
Szünet Erejét Nem
time Nem
Csend típus Vezető, Farok, Pontos vessző stb. Nem
Érték Nem
Hangsúlyt szint Nem
Lang Nem
Lexikon Uri Igen
Matematikai Nem
msttsaudioduration Érték Nem
msttsbackgroundaudio src Nem
Kötet Nem
fadein Nem
fakulás Nem
msttsexpress-as style Nem
styledegree Nem
szerepkör Nem
msttssilence Nem
msttsviseme típus redlips_front, FacialExpression Nem
p Igen
telefon Ábécé ipa, sapi, ups stb. Igen
Ph Igen
prosody Kontúr Mondatszintű támogatás, csak szószintű en-US és zh-CN Igen
Pályán Igen
Tartomány Igen
Arány Igen
Kötet Igen
s Igen
say-as interpret-as karakterek, helyesírás, number_digit, dátum stb. Igen
format Igen
Részlet Igen
Al alias Igen
Beszélni Igen
voice Nem

Következő lépések