Aracılığıyla paylaş


Ekli konuşma nedir?

Embedded Speech, bulut bağlantısının aralıklı olduğu veya kullanılamadığı cihaz içi konuşmayı metne dönüştürme ve metin okuma senaryoları için tasarlanmıştır. Örneğin, katıştırılmış konuşmayı endüstriyel ekipmanlarda, ses özellikli bir klima ünitesinde veya aralık dışında seyahat eden bir arabada kullanabilirsiniz. Karma bulut ve çevrimdışı çözümler de geliştirebilirsiniz. Cihazlarınızın banka veya kamu kuruluşu gibi güvenli bir ortamda olması gereken senaryolar için önce bağlantısı kesilmiş kapsayıcıları göz önünde bulundurmanız gerekir.

Önemli

Microsoft, katıştırılmış konuşma erişimini sınırlar. Azure AI Konuşma gömülü konuşma sınırlı erişim incelemesi aracılığıyla erişim başvurusu yapabilirsiniz. Daha fazla bilgi için Gömülü konuşma için sınırlı erişim bölümüne bakın.

Platform gereksinimleri

Katıştırılmış konuşma C#, C++ ve Java için Konuşma SDK'sı (sürüm 1.24.1 ve üzeri) ile birlikte sunulur. Programlama dili ve hedef platforma özgü ayrıntılar için genel Konuşma SDK'sı yükleme gereksinimlerine bakın.

Hedef ortamınızı seçin

Arm64 () veya Arm32 () donanımlarında Android 8.0 (arm64-v8aAPI düzeyi 26armeabi-v7a) veya üzerini gerektirir.

Sınırlamalar

Katıştırılmış konuşma yalnızca C#, C++ ve Java SDK'larıyla kullanılabilir. Diğer Konuşma SDK'ları, Konuşma CLI'sı ve REST API'leri ekli konuşmayı desteklemez.

Katıştırılmış konuşma tanıma yalnızca mono 16 bit, 8 kHz veya 16 kHz PCM kodlu WAV ses biçimlerini destekler.

Katıştırılmış sinir sesleri 100 MB RAM gereksinimiyle 24 kHz RIFF/RAW desteği sağlar.

Ekli konuşma SDK'sı paketleri

C# eklenmiş uygulamaları için aşağıdaki C# paketleri için Konuşma SDK'sını yükleyin:

Paket Açıklama
Microsoft.CognitiveServices.Speech Konuşma SDK'sını kullanmak için gereklidir
Microsoft.CognitiveServices.Speech.Extension.Embedded.SR Ekli konuşma tanıma için gereklidir
Microsoft.CognitiveServices.Speech.Extension.Embedded.TTS Ekli konuşma sentezi için gereklidir
Microsoft.CognitiveServices.Speech.Extension.ONNX.Runtime Ekli konuşma tanıma ve sentez için gereklidir
Microsoft.CognitiveServices.Speech.Extension.Telemetry Ekli konuşma tanıma ve sentez için gereklidir

C++ ekli uygulamaları için C++ paketleri için aşağıdaki Konuşma SDK'sını yükleyin:

Paket Açıklama
Microsoft.CognitiveServices.Speech Konuşma SDK'sını kullanmak için gereklidir
Microsoft.CognitiveServices.Speech.Extension.Embedded.SR Ekli konuşma tanıma için gereklidir
Microsoft.CognitiveServices.Speech.Extension.Embedded.TTS Ekli konuşma sentezi için gereklidir
Microsoft.CognitiveServices.Speech.Extension.ONNX.Runtime Ekli konuşma tanıma ve sentez için gereklidir
Microsoft.CognitiveServices.Speech.Extension.Telemetry Ekli konuşma tanıma ve sentez için gereklidir

Hedef ortamınızı seçin

Java eklenmiş uygulamalar için, bağımlılık olarak client-sdk-embedded. Bu paket bulut, tümleşik ve karma konuşmayı destekler.

Önemli

Yalnızca bulut konuşma hizmetlerini desteklediğinden istemci sdk'sını aynı projeye eklemeyin.

Apache Maven kullanarak Java için Konuşma SDK'sını yüklemek için şu adımları izleyin:

  1. Apache Maven'ı yükleyin.
  2. Yeni projeyi istediğiniz yerde bir komut istemi açın ve yeni pom.xml bir dosya oluşturun.
  3. Aşağıdaki XML içeriğini içine pom.xmlkopyalayın:
    <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.43.0</version>
            </dependency>
        </dependencies>
    </project>
    
  4. Konuşma SDK'sını ve bağımlılıkları yüklemek için aşağıdaki Maven komutunu çalıştırın.
    mvn clean dependency:copy-dependencies
    

Modeller ve sesler

Ekli konuşma için, konuşmayı metne dönüştürmeye yönelik konuşma tanıma modellerini ve metinden konuşmaya yönelik sesleri indirmeniz gerekir. Sınırlı erişim gözden geçirme işlemi başarıyla tamamlandıktan sonra yönergeler sağlanır.

Aşağıdaki konuşmayı metne çevirme modelleri kullanılabilir: 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 ve zh-TW.

Buradaki tüm metin okuma yerel ayarları (fa-IR, Farsça (İran) hariç) ya 1 seçili kadın ya da 1 seçili erkek sesiyle kutusunda hazır olarak sunulmaktadır. Daha fazla dil ve ses talebini ölçmemize yardımcı olmak için görüşlerinizi bekliyoruz.

Gömülü konuşma yapılandırması

Buluta bağlı uygulamalar için, çoğu Konuşma SDK'sı örneğinde gözüktüğü üzere, SpeechConfig nesnesini bir API anahtarı ve uç nokta ile kullanırsınız. Ekli konuşma için Konuşma için yapay zeka döküm kaynağı kullanmazsınız. Bulut kaynağı yerine, yerel cihazınıza indirdiğiniz modelleri ve sesleri kullanırsınız.

Modellerin veya seslerin konumunu ayarlamak için EmbeddedSpeechConfig nesnesini kullanın. Uygulamanız hem konuşmayı metne hem de metin okuma için kullanılıyorsa, modellerin ve seslerin konumunu ayarlamak için aynı EmbeddedSpeechConfig nesneyi kullanabilirsiniz.

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

İpucu

İşlev, GetEnvironmentVariable sesli metin dönüştürme hızlı başlangıcında ve metni sese dönüştürme hızlı başlangıcında tanımlanır.

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

Eklenmiş konuşma kodu örnekleri

GitHub'da kullanıma hazır konuşma örnekleri bulabilirsiniz. Sıfırdan projelerle ilgili açıklamalar için örneklere özgü belgelere bakın:

GitHub'da kullanıma hazır konuşma örnekleri bulabilirsiniz. Sıfırdan projelerle ilgili açıklamalar için örneklere özgü belgelere bakın:

GitHub'da kullanıma hazır konuşma örnekleri bulabilirsiniz. Sıfırdan projelerle ilgili açıklamalar için örneklere özgü belgelere bakın:

Karma konuşma

Karma konuşma, HybridSpeechConfig nesnesiyle varsayılan olarak bulut konuşma hizmetini ve bulut bağlantısı sınırlı veya yavaş olduğunda yedek olarak gömülü konuşmayı kullanır.

Konuşmayı metne dönüştürme (tanıma modelleri) için karma konuşma yapılandırmasıyla, yinelenen denemelerden sonra bulut hizmetine bağlantı başarısız olduğunda tümleşik konuşma kullanılır. Bağlantı daha sonra sürdürülürse, tanıma bulut hizmetini yeniden kullanmaya devam edebilir.

Metin okuma (sesler) için karma konuşma yapılandırmasıyla, katıştırılmış ve bulut sentezi paralel olarak çalıştırılır ve yanıt hızına göre nihai sonuç seçilir. En iyi sonuç her yeni sentez isteğinde yeniden değerlendirilir.

Bulut konuşma

Bulut konuşmasında, SpeechConfig nesnesini, konuşmayı metne hızlı başlangıcında ve metinden konuşmaya hızlı başlangıcında gösterildiği gibi kullanırsınız. Gömülü konuşma için hızlı başlangıçları çalıştırmak üzere, SpeechConfig öğesini EmbeddedSpeechConfig veya HybridSpeechConfig ile değiştirebilirsiniz. Bulut, katıştırılmış veya karma yapılandırma kullanılsın, diğer konuşma tanıma ve sentez kodlarının çoğu aynıdır.

Katıştırılmış ses özellikleri

Katıştırılmış sesler için, model yapısındaki farklılıklar nedeniyle belirli Konuşma sentezi işaretleme dili (SSML) etiketlerinin şu anda desteklenmeyebileceğini unutmayın. Desteklenmeyen SSML etiketleriyle ilgili ayrıntılı bilgi için aşağıdaki tabloya bakın.

Düzey 1 Düzey 2 Alt değerler Katıştırılmış NTTS desteği
ses Src Hayır
yer imi Evet
mola güç Evet
zaman Evet
sessizlik Tür Başlangıç, Sonlandırma, Kesin Virgül, vb. Hayır
değer Hayır
vurgu seviye Hayır
Lang Hayır
sözlük URI Evet
Matematik Hayır
mstts ses süresi değer Hayır
Arka Plan Sesi (msttsbackgroundaudio) Src Hayır
hacim Hayır
fadein Hayır
yavaşça kaybolma Hayır
msttsexpress-as stil Evet1
styledegree Hayır
rol Hayır
msttssilence Hayır
msttsviseme Tür redlips_front, Yüzİfadesi Hayır
p Evet
fonem alfabe ipa, sapi, ups vb. Evet
pH Evet
prosodi Kontur Cümle düzeyi desteği, sadece en-US ve zh-CN sözcük düzeyi için Evet
perde Evet
aralık Evet
oran Evet
hacim Evet
s Evet
şu şekilde söyle farklı yorumla karakterler, heceleme, sayı_rakam, tarih vb. Evet
biçim Evet
ayrıntı Evet
yedek diğer ad Evet
konuşmak Evet
ses Hayır

1 Stil msttsexpress-as yalnızca ses için en-US-JennyNeural desteklenir.