Share via


Eklenmiş Konuşma

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. Erişim için Azure AI Konuşma eklenmiş konuşma sınırlı erişim gözden geçirmesi aracılığıyla başvurabilirsiniz. Daha fazla bilgi için bkz . Ekli konuşma için sınırlı erişim.

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 7.0 (arm64-v8aAPI düzeyi 24armeabi-v7a) veya üzerini gerektirir.

Sinir seslerine sahip gömülü TTS yalnızca Arm64'te desteklenir.

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 (.jar) ekleyin. 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.37.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.

Metin modelleri için şu konuşma 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ç) 1 seçili kadın ve/veya 1 seçili erkek sesiyle kutudan çıkarılır. Daha fazla dil ve ses talebini ölçmemize yardımcı olmak için görüşlerinizi bekliyoruz.

Ekli konuşma yapılandırması

Çoğu Konuşma SDK'sı örneğinde gösterildiği gibi buluta bağlı uygulamalar için nesnesini konuşma kaynak anahtarı ve bölge ile kullanırsınız SpeechConfig . Ekli konuşma için Konuşma kaynağı kullanmazsınız. Bulut kaynağı yerine, yerel cihazınıza indirdiğiniz modelleri ve sesleri kullanırsınız.

Modellerin EmbeddedSpeechConfig veya seslerin konumunu ayarlamak için 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("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);

İpucu

İşlev, GetEnvironmentVariable konuşmayı metne dönüştürme hızlı başlangıcında ve metin okuma 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("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);

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

Nesnesiyle karma konuşma, bulut bağlantısının HybridSpeechConfig sınırlı veya yavaş olması durumunda varsayılan olarak bulut konuşma hizmetini ve geri dönüş olarak ekli 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, konuşmayı metne SpeechConfig dönüştürme hızlı başlangıcında ve metin okuma hızlı başlangıcında gösterildiği gibi nesnesini kullanırsınız. Ekli konuşma hızlı başlangıçlarını çalıştırmak için veya ile EmbeddedSpeechConfigHybridSpeechConfigdeğiştirebilirsinizSpeechConfig. 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 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
bookmark Yes
break Gücü Hayır
time Hayır
Sessiz -lik Tür Baştaki, Kuyruklama, Tam Virgül, vb. Hayır
değer Hayır
Vurgu düzey Hayır
Lang Hayır
Sözlüğü uri Yes
Matematik Hayır
msttsaudioduration değer Hayır
msttsbackgroundaudio src Hayır
Birim Hayır
fadein Hayır
belirme Hayır
msttsexpress-as stili Hayır
styledegree Hayır
rol Hayır
msttssilence Hayır
msttsviseme Tür redlips_front, FacialExpression Hayır
ös Yes
Phoneme Alfabe ipa, sapi, ups vb. Yes
Ph Yes
Prosody Kontur Cümle düzeyi desteği, yalnızca sözcük düzeyi en-US ve zh-CN Yes
Pitch Yes
aralık Yes
Oranı Yes
Birim Yes
s Yes
farklı söyle farklı yorumla karakterler, yazım denetimi, number_digit, tarih vb. Yes
format Yes
Ayrıntı Yes
alt diğer ad Yes
Konuşa Yes
voice Hayır

Sonraki adımlar