Co je 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:
- Nainstalujte Apache Maven.
- Otevřete příkazový řádek, na kterém chcete nový projekt, a vytvořte nový
pom.xml
soubor. - 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.42.0</version> </dependency> </dependencies> </project>
- 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("EMBEDDED_SPEECH_MODEL_LICENSE"));
// For text to speech
embeddedSpeechConfig.SetSpeechSynthesisVoice(
"Microsoft Server Speech Text to Speech Voice (en-US, JennyNeural)",
Environment.GetEnvironmentVariable("EMBEDDED_SPEECH_MODEL_LICENSE"));
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("EMBEDDED_SPEECH_MODEL_LICENSE"));
// For text to speech
embeddedSpeechConfig->SetSpeechSynthesisVoice(
"Microsoft Server Speech Text to Speech Voice (en-US, JennyNeural)",
GetEnvironmentVariable("EMBEDDED_SPEECH_MODEL_LICENSE"));
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("EMBEDDED_SPEECH_MODEL_LICENSE"));
// For text to speech
embeddedSpeechConfig.setSpeechSynthesisVoice(
"Microsoft Server Speech Text to Speech Voice (en-US, JennyNeural)",
System.getenv("EMBEDDED_SPEECH_MODEL_LICENSE"));
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 startu pro 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 SpeechConfig
EmbeddedSpeechConfig
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íla | Ano | |
čas | Ano | ||
umlčet | type | Přední, Tailing, Čárka-přesná, atd. | No |
hodnota | No | ||
důraz | úroveň | No | |
Lang | No | ||
lexikon | uri | Ano | |
matematika | No | ||
msttsaudioduration | hodnota | No | |
msttsbackgroundaudio | src | No | |
volume | 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 | ||
prozódie | kontura | Podpora na úrovni vět, pouze úroveň slova en-US a zh-CN | Ano |
hřiště | Ano | ||
range | Ano | ||
sazba | Ano | ||
volume | Ano | ||
s | Ano | ||
say-as | interpretovat jako | znaky, pravopis, number_digit, datum atd. | Ano |
format | Ano | ||
detail | Ano | ||
předmět | alias | Ano | |
mluvit | Ano | ||
voice | No |