Vložená řeč

Embedded Speech je určená pro scénáře převodu řeči na text a text na řeč, ve kterých je připojení ke cloudu přerušované nebo nedostupné. Můžete například použít vloženou řeč v průmyslovém vybavení, hlasovou klimatizaci nebo auto, které může cestovat mimo rozsah. Můžete také vyvíjet hybridní cloudová a offline řešení. V situacích, kdy se vaše zařízení musí nacházet v zabezpečeném prostředí, jako je banka nebo entita státní správy, byste měli nejprve zvážit odpojené kontejnery.

Důležité

Microsoft omezuje přístup k vložené řeči. Můžete požádat o přístup prostřednictvím kontroly omezeného přístupu služby Azure AI Speech Embedded. Další informace najdete v tématu Omezený přístup pro vloženou řeč.

Požadavky platformy

Vložená řeč je součástí sady Speech SDK (verze 1.24.1 a vyšší) pro C#, C++ a Javu. Projděte si obecné požadavky na instalaci sady Speech SDK pro programovací jazyk a konkrétní podrobnosti o cílové platformě.

Volba cílového prostředí

Vyžaduje Android 7.0 (úroveň rozhraní API 24) nebo vyšší na hardwaru Arm64 (arm64-v8a) nebo Arm32 (armeabi-v7a).

Vložené TTS s neurálními hlasy se podporují jenom v Arm64.

Omezení

Vložená řeč je dostupná jenom v sadách SDK jazyka C#, C++ a Java. Ostatní sady Speech SDK, Speech CLI a rozhraní REST API nepodporují vloženou řeč.

Integrované rozpoznávání řeči podporuje pouze mono 16bitové formáty zvuku WAV s kódováním 8 kHz nebo 16 kHz.

Vložené neurální hlasy podporují 24 kHz RIFF/RAW s požadavkem paměti RAM 100 MB.

Vložené balíčky sady Speech SDK

Pro vložené aplikace jazyka C# nainstalujte následující sady Speech SDK pro balíčky jazyka C#:

Balíček Popis
Microsoft.CognitiveServices.Speech Vyžadováno pro použití sady Speech SDK
Microsoft.CognitiveServices.Speech.Extension.Embedded.SR Vyžadováno pro rozpoznávání vloženého řeči
Microsoft.CognitiveServices.Speech.Extension.Embedded.TTS Vyžadováno pro vloženou syntézu řeči
Microsoft.CognitiveServices.Speech.Extension.ONNX.Runtime Vyžadováno pro rozpoznávání a syntézu vloženého řeči
Microsoft.CognitiveServices.Speech.Extension.Telemetry Vyžadováno pro rozpoznávání a syntézu vloženého řeči

Pro vložené aplikace C++ nainstalujte následující sady Speech SDK pro balíčky C++:

Balíček Popis
Microsoft.CognitiveServices.Speech Vyžadováno pro použití sady Speech SDK
Microsoft.CognitiveServices.Speech.Extension.Embedded.SR Vyžadováno pro rozpoznávání vloženého řeči
Microsoft.CognitiveServices.Speech.Extension.Embedded.TTS Vyžadováno pro vloženou syntézu řeči
Microsoft.CognitiveServices.Speech.Extension.ONNX.Runtime Vyžadováno pro rozpoznávání a syntézu vloženého řeči
Microsoft.CognitiveServices.Speech.Extension.Telemetry Vyžadováno pro rozpoznávání a syntézu vloženého řeči

Volba cílového prostředí

Pro vložené aplikace v Javě přidejte jako závislost klient-sdk-embedded (.jar). Tento balíček podporuje cloud, vložený a hybridní řeč.

Důležité

Do stejného projektu nepřidávejte sadu CLIENT-SDK , protože podporuje pouze cloudové služby speech.

Pokud chcete nainstalovat sadu Speech SDK pro Javu pomocí Apache Mavenu, postupujte takto:

  1. Nainstalujte Apache Maven.
  2. Otevřete příkazový řádek, na kterém chcete nový projekt, a vytvořte nový pom.xml soubor.
  3. Zkopírujte následující obsah XML do 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. Spuštěním následujícího příkazu Mavenu nainstalujte sadu Speech SDK a závislosti.
    mvn clean dependency:copy-dependencies
    

Modely a hlasy

Pro vloženou řeč je potřeba stáhnout modely rozpoznávání řeči pro převod řeči na text a hlasy pro převod textu na řeč. Pokyny jsou poskytovány po úspěšném dokončení procesu kontroly omezeného přístupu.

K dispozici je následující převod řeči na textové modely: 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 a zh-TW.

Veškerý text na řeč národní prostředí zde (s výjimkou fa-IR, Perský (Írán)) je k dispozici mimo kancelář s 1 vybranými ženami a/nebo 1 vybranými hlasy mužů. Vítáme vaše zadání, které nám pomůže měřit poptávku po více jazycích a hlasech.

Vložená konfigurace řeči

V případě cloudových připojených aplikací, jak je znázorněno ve většině ukázek sady Speech SDK, použijete SpeechConfig objekt s klíčem prostředku a oblastí služby Speech. Pro vloženou řeč nepoužíváte prostředek služby Speech. Místo cloudového prostředku použijete modely a hlasy , které si stáhnete do místního zařízení.

Pomocí objektu EmbeddedSpeechConfig nastavte umístění modelů nebo hlasů. Pokud se vaše aplikace používá pro převod řeči na text i text na řeč, můžete použít stejný EmbeddedSpeechConfig objekt k nastavení umístění modelů a hlasů.

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

Tip

Funkce GetEnvironmentVariable je definována v rychlém startu pro převod textu na text a rychlý start pro převod textu na řeč.

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

Ukázky vloženého kódu řeči

Na GitHubu můžete začít používat vložené ukázky řeči. Poznámky k projektům od začátku najdete v dokumentaci specifické pro ukázky:

Na GitHubu můžete začít používat vložené ukázky řeči. Poznámky k projektům od začátku najdete v dokumentaci specifické pro ukázky:

Na GitHubu můžete začít používat vložené ukázky řeči. Poznámky k projektům od začátku najdete v dokumentaci specifické pro ukázky:

Hybridní řeč

Hybridní řeč s objektem HybridSpeechConfig používá ve výchozím nastavení cloudovou službu Speech a vloženou řeč jako záložní v případě, že je připojení ke cloudu omezené nebo pomalé.

S hybridní konfigurací řeči pro převod řeči na text (modely rozpoznávání) se vložená řeč používá, když připojení ke cloudové službě selže po opakovaných pokusech. Rozpoznávání může cloudovou službu dál používat, pokud se připojení později obnoví.

Díky hybridní konfiguraci řeči pro převod textu na řeč (hlasy) se vložená a cloudová syntéza spouští paralelně a konečný výsledek se vybere na základě rychlosti odezvy. Nejlepší výsledek se vyhodnocuje znovu pro každý nový požadavek syntézy.

Cloudová řeč

Pro cloudovou řeč použijete SpeechConfig objekt, jak je znázorněno v rychlém startupro převod textu na text a rychlý start pro převod textu na řeč. Pokud chcete spustit rychlé starty pro vloženou řeč, můžete nahradit SpeechConfigEmbeddedSpeechConfig nebo HybridSpeechConfig. Většina ostatních kódů pro rozpoznávání řeči a syntézu je stejná bez ohledu na to, jestli používá cloud, vložené nebo hybridní konfigurace.

Funkce vložených hlasů

U vložených hlasů je důležité si uvědomit, že některé značky SSML nemusí být v současné době podporovány kvůli rozdílům ve struktuře modelu. Podrobné informace o nepodporovaných značkách SSML najdete v následující tabulce.

Úroveň 1 Úroveň 2 Dílčí hodnoty Podpora ve vložených protokolech NTTS
Audio src No
bookmark Ano
break Sílu No
čas No
Ticho type Přední, Tailing, Čárka-přesná, atd. No
hodnota No
Důraz úroveň No
Lang No
Lexikon uri Ano
Matematický No
msttsaudioduration hodnota No
msttsbackgroundaudio src No
Objem No
fadein No
fadeout No
msttsexpress-as – styl No
styledegree No
role No
msttssilence No
msttsviseme type redlips_front, FacialExpression No
p Ano
Foném Abeceda ipa, sapi, ups, atd. Ano
Ph Ano
Prosody Obrys Podpora na úrovni vět, pouze úroveň slova en-US a zh-CN Ano
Hřiště Ano
range Ano
Sazba Ano
Objem Ano
s Ano
say-as interpretovat jako znaky, pravopis, number_digit, datum atd. Ano
format Ano
Podrobností Ano
předmět alias Ano
Mluvit Ano
voice No

Další kroky