Konuşma Sentezi Biçimlendirme Dili (SSML) ile sentezi geliştirme
Konuşma Sentezi Biçimlendirme Dili (SSML), geliştiricilerin metin okuma hizmetini kullanarak giriş dilinin sentezlenmiş konuşmaya nasıl dönüştürüleceğini belirtmesini sağlayan XML tabanlı bir biçimlendirme dilidir. Düz metinle karşılaştırıldığında, SSML geliştiricilerin metin okuma çıkışında ses perdesi, söyleniş, konuşma hızı ve ses düzeyi gibi çeşitli özelliklerde ince ayar yapmasına olanak tanır. Noktadan sonra duraklama veya soru işaretiyle biten bir tümcede doğru tonlamayı kullanma gibi normal noktalama işaretleri otomatik olarak işlenir.
SSML'nin Konuşma hizmeti uygulaması, World Wide Web Konsorsiyumu Konuşma Sentezi Biçimlendirme Dili Sürüm 1.0'a dayalıdır.
Önemli
Çince, Japonca ve Korece karakterler faturalama için iki karakter olarak sayılır. Daha fazla bilgi için bkz. Fiyatlandırma.
Sinirsel ve özel ses
İnsan benzeri bir nöral ses kullanın veya kendi özel sesinizi ürün veya markanıza özel olarak oluşturun. Desteklenen dillerin, yerel dillerin ve seslerin tam listesi için bkz. dil desteği. Sinirsel ve özel ses hakkında daha fazla bilgi edinmek için bkz. Metinlere genel bakış.
Not
farklı stillerde sesleri duyabilirsiniz ve Metin Okuma sayfasını kullanarak örnek metinleri okur.
Özel karakterler
SSML kullanırken tırnak işaretleri, kesme işaretleri ve köşeli ayraçlar gibi özel karakterlerin kaçmalıdır. Daha fazla bilgi için bkz. genişletilebilir biçimlendirme dili (XML) 1.0: Ek D.
Desteklenen SSML öğeleri
Her SSML belgesi SSML öğeleriyle (veya etiketlerle) oluşturulur. Bu öğeler perdeyi, prosyili, hacmi ve daha fazlasını ayarlamak için kullanılır. Aşağıdaki bölümlerde, her bir öğenin nasıl ve ne zaman gerekli veya isteğe bağlı bir öğe olduğu açıklanmaktadır.
Önemli
Öznitelik değerlerinin etrafında çift tırnak kullanmayı unutmayın. İyi oluşturulmuş, geçerli XML standartları, öznitelik değerlerinin çift tırnak içine alınmalıdır. Örneğin, <prosody volume="90"> iyi oluşturulmuş, geçerli bir öğedir, ancak <prosody volume=90> değildir. SSML, tırnak içinde yer alan öznitelik değerlerini tanımay olabilir.
SSML belgesi oluşturma
speak kök öğesidir ve tüm SSML belgeleri için gereklidir. öğesi speak sürüm, dil ve işaretleme sözlüğü tanımı gibi önemli bilgileri içerir.
Syntax
<speak version="1.0" xmlns="http://www.w3.org/2001/10/synthesis" xml:lang="string"></speak>
Öznitelikler
| Öznitelik | Açıklama | Gerekli / İsteğe Bağlı |
|---|---|---|
version |
Belge işaretlemeyi yorumlamak için kullanılan SSML belirtim sürümünü gösterir. Geçerli sürüm 1.0'dır. | Gerekli |
xml:lang |
Kök belgenin dilini belirtir. Değer küçük harfli, iki harfli bir dil kodu (örneğin, ) veya dil kodu ve büyük harf en ülke/bölge (örneğin, ) en-US içerebilir. |
Gerekli |
xmlns |
SSML belgesinin işaretleme sözlüğü (öğe türleri ve öznitelik adları) tanımlayan belgenin URI'sini belirtir. Geçerli URI şu http://www.w3.org/2001/10/synthesis şekildedir: . | Gerekli |
Metinler için ses seçme
voiceöğesi gereklidir. Metin konuşma için kullanılan sesi belirtmek için kullanılır.
Syntax
<voice name="string">
This text will get converted into synthesized speech.
</voice>
Öznitelikler
| Öznitelik | Açıklama | Gerekli / İsteğe Bağlı |
|---|---|---|
name |
Metinden konuşma çıkışı için kullanılan sesi tanımlar. Desteklenen seslerin tam listesi için bkz. Dil desteği. | Gerekli |
Örnek
Not
Bu örnek sesi en-US-ChristopherNeural kullanır. Desteklenen seslerin tam listesi için bkz. Dil desteği.
<speak version="1.0" xmlns="http://www.w3.org/2001/10/synthesis" xml:lang="en-US">
<voice name="en-US-ChristopherNeural">
This is the text that is spoken.
</voice>
</speak>
Birden çok ses kullanma
öğesinin speak içinde, metinden konuşma çıkışı için birden çok ses belirtebilirsiniz. Bu sesler farklı dillerde olabilir. Her ses için metnin bir öğede sarmalanmış olması voice gerekir.
Öznitelikler
| Öznitelik | Açıklama | Gerekli / İsteğe Bağlı |
|---|---|---|
name |
Metinden konuşma çıkışı için kullanılan sesi tanımlar. Desteklenen seslerin tam listesi için bkz. Dil desteği. | Gerekli |
Örnek
<speak version="1.0" xmlns="http://www.w3.org/2001/10/synthesis" xml:lang="en-US">
<voice name="en-US-JennyNeural">
Good morning!
</voice>
<voice name="en-US-ChristopherNeural">
Good morning to you too Jenny!
</voice>
</speak>
Konuşma stillerini ayarlama
Varsayılan olarak metin okuma hizmeti metni sentezlerken nöral sesler için nötral konuşma stilini kullanır. Konuşma stilini, öğesini kullanarak; üslup, empati ve sakinlik gibi farklı duyguları ifade etmek için ayarlayabilir veya müşteri hizmetleri, haber yayını ve sesli yardımcı gibi farklı senaryolar için sesi mstts:express-as iyileştirirsiniz. Bu, Konuşma hizmeti özgü isteğe bağlı bir öğedir.
Şu anda konuşma stili ayarlamaları aşağıdaki nöral seslerde de destek almaktadır:
en-US-AriaNeuralen-US-JennyNeuralen-US-GuyNeuralen-US-SaraNeuralja-JP-NanamiNeuralpt-BR-FranciscaNeuralzh-CN-XiaoxiaoNeuralzh-CN-YunyangNeuralzh-CN-YunyeNeuralzh-CN-YunxiNeuralzh-CN-XiaohanNeuralzh-CN-XiaomoNeuralzh-CN-XiaoxuanNeuralzh-CN-XiaoruiNeuralzh-CN-XiaoshuangNeural
Konuşma stilinin yoğunluğu, kullanım durumunuz için daha uygun olacak şekilde değiştirilebilir. Konuşmayı daha ifadeli veya alttan ifade etmek için ile daha güçlü veya daha styledegree yumuşak bir stil belirtsiniz. Şu anda konuşma stili ayarlamaları Çince (Mandarin, Basitleştirilmiş) sinir sesleri için de destek sunmaktadır.
Konuşma stillerini ve stil derecesini ayarlamanın yanı sıra, sesi farklı bir yaş ve cinsiyet taklit eden bir parametre role de ayarlayabilirsiniz. Örneğin, bir erkek sesi perdeyi yükseltin ve bir kadın sesi taklit etmek için tonasyonu değiştirebilir, ancak ses adı değişmez. Şu anda rol ayarlamaları şu Çince (Mandarin, Basitleştirilmiş) sinir sesleri için de desteklemaktadır:
zh-CN-XiaomoNeuralzh-CN-XiaoxuanNeural
Yukarıdaki değişiklikler cümle düzeyinde uygulanır ve stiller ve rol oyunları sese göre değişiklik gösterir. Bir stil veya rol oyunu desteklenmiyorsa, hizmet varsayılan nötr konuşma yolunda konuşma geri döner. Ses listesi API'si aracılığıyla veya kod olmayan ses platformu aracılığıyla her ses için hangi stillerin ve rollerin Ses İçeriği Oluşturma edinebilirsiniz.
Syntax
<mstts:express-as style="string"></mstts:express-as>
<mstts:express-as style="string" styledegree="value"></mstts:express-as>
<mstts:express-as role="string" style="string"></mstts:express-as>
Not
Şu anda yalnızca styledegree Çince (Mandarin, Basitleştirilmiş) sinir seslerini destekler. role yalnızca zh-CN-ZhmoNeural ve zh-CN-ZhxuanNeural'ı destekler.
Öznitelikler
| Öznitelik | Açıklama | Gerekli / İsteğe Bağlı |
|---|---|---|
style |
Konuşma stilini belirtir. Şu anda konuşma stilleri sese özgü. | Bir nöral ses için konuşma stilini ayarlayarak gerekli. kullanıyorsanız mstts:express-as stil sağlanmalıdır. Geçersiz bir değer sağlanırsa, bu öğe yoksayılır. |
styledegree |
Konuşma stilinin yoğunluğunu belirtir. Kabul edilen değerler: 0,01 -2 dahil. Varsayılan değer 1'tir ve bu da önceden tanımlanmış stil yoğunluğu anlamına gelir. Minimum birim 0,01'tir ve bu da hedef stilde biraz eğilime neden olur. 2 değeri, varsayılan stil yoğunluğunun iki katına iner. | İsteğe bağlı (Şu anda yalnızca styledegree Çince (Mandarin, Basitleştirilmiş) sinir seslerini destekler.) |
role |
Konuşma rol rolünü belirtir. Ses farklı bir yaş ve cinsiyet gibi davranır, ancak ses adı değişmez. | İsteğe bağlı (Şu anda yalnızca role zh-CN-ZhmoNeural ve zh-CN-ZhxuanNeural'ı destekler.) |
Her bir nöral ses için desteklenen konuşma stillerini belirlemek için bu tabloyu kullanın.
| Ses | Stil | Description |
|---|---|---|
en-US-AriaNeural |
style="newscast-formal" |
Haber teslimi için resmi, güvenli ve yetkili bir tonu ifade ediyor |
style="newscast-casual" |
Genel haber teslimi için çok yönlü ve günlük bir tonu ifade ediyor | |
style="narration-professional" |
İçerik okuma için profesyonel, hedef tonu ifade etme | |
style="customerservice" |
Müşteri desteği için kolay ve yararlı bir tonu ifade ediyor | |
style="chat" |
Gündelik ve gevşek bir tonu ifade ediyor | |
style="cheerful" |
Pozitif ve mutlu bir tonu ifade eder | |
style="empathetic" |
Bakım ve anlama anlayışını ifade ediyor | |
en-US-JennyNeural |
style="customerservice" |
Müşteri desteği için kolay ve yararlı bir tonu ifade ediyor |
style="chat" |
Gündelik ve gevşek bir tonu ifade ediyor | |
style="assistant" |
Dijital yardımcılar için sıcak ve gevşek bir tonu ifade ediyor | |
style="newscast" |
Genel haber teslimi için çok yönlü ve günlük bir tonu ifade ediyor | |
en-US-GuyNeural |
style="newscast" |
Haberlerin anlatımı için resmi ve profesyonel bir tonu ifade etme |
en-US-SaraNeural |
style="cheerful" |
Pozitif ve mutlu bir tonu ifade eder |
style="sad" |
Çok güzel bir tonu ifade ediyor | |
style="angry" |
Bir andı ve rahatsız olan tonu ifade ediyor | |
ja-JP-NanamiNeural |
style="cheerful" |
Pozitif ve mutlu bir tonu ifade eder |
style="chat" |
Gündelik ve gevşek bir tonu ifade ediyor | |
style="customerservice" |
Müşteri desteği için kolay ve yararlı bir tonu ifade ediyor | |
pt-BR-FranciscaNeural |
style="calm" |
Konuşmada harika, toplanmış ve bire bir yaklaşım ifade ediyor. Ton, konuşma, pros artık diğer konuşma türlerine kıyasla çok daha tekdüz. |
zh-CN-XiaoxiaoNeural |
style="newscast" |
Haberlerin anlatımı için resmi ve profesyonel bir tonu ifade etme |
style="customerservice" |
Müşteri desteği için kolay ve yararlı bir tonu ifade ediyor | |
style="assistant" |
Dijital yardımcılar için sıcak ve gevşek bir tonu ifade ediyor | |
style="chat" |
Günlük konuşma için günlük ve gevşek bir tonu ifade ediyor | |
style="calm" |
Konuşmada harika, toplanmış ve bire bir yaklaşım ifade ediyor. Ton, konuşma, pros artık diğer konuşma türlerine kıyasla çok daha tekdüz. | |
style="cheerful" |
Daha yüksek ses ve ses enerjisi ile iyi ve istekli bir tonu ifade ediyor | |
style="sad" |
Daha yüksek ses, daha az yoğunluk ve daha düşük ses enerjisi ile, iyi bir tonu ifade ediyor. Bu duyguya yönelik yaygın göstergeler, konuşma sırasında sızlanmalar veya şikayetler olabilir. | |
style="angry" |
Daha düşük perde, daha yüksek yoğunluk ve daha yüksek ses enerjisi ile bir andı ve rahatsız olan bir tonu ifade ediyor. Konuşmacı, irate, displeased ve rahatsız olma durumuna geldi. | |
style="fearful" |
Daha yüksek ses, daha yüksek ses enerjisi ve daha hızlı hız ile sinirli ve sinirli bir tonu ifade eder. Konuşmacı, zaman ve dengesizlik durumuna geldi. | |
style="disgruntled" |
Adi ve şikayetçi bir tonu ifade ediyor. Bu duyguyu ifade etmiş olmak memnuniyetsizlik ve küçümser bir ifadedir. | |
style="serious" |
Katı ve komut tonlarını ifade ediyor. Konuşmacı genellikle daha rahat ve sağlam bir tempoyla çok daha az gevşetmiş gibi görünüyor. | |
style="affectionate" |
Daha yüksek ses ve ses enerjisi ile sıcak ve sıcak bir tonu ifade ediyor. Konuşmacı, dinleyicinin dikkatini çekme durumuna geldi. Konuşmacının "kişilik"i genellikle doğası gereği güzeldir. | |
style="gentle" |
Daha düşük perde ve ses enerjisi ile hafif, yumuşak ve tatlı bir tonu ifade ediyor | |
style="lyrical" |
Duyguları duygulu ve yaklaşımsal bir şekilde ifade eder | |
zh-CN-YunyangNeural |
style="customerservice" |
Müşteri desteği için kolay ve yararlı bir tonu ifade ediyor |
zh-CN-YunyeNeural |
style="calm" |
Konuşmada harika, toplanmış ve bire bir yaklaşım ifade ediyor. Ton, konuşma, pros artık diğer konuşma türlerine kıyasla çok daha tekdüz. |
style="cheerful" |
Daha yüksek ses ve ses enerjisi ile iyi ve istekli bir tonu ifade ediyor | |
style="sad" |
Daha yüksek ses, daha az yoğunluk ve daha düşük ses enerjisi ile, iyi bir tonu ifade ediyor. Bu duyguya yönelik yaygın göstergeler, konuşma sırasında sızlanmalar veya şikayetler olabilir. | |
style="angry" |
Daha düşük perde, daha yüksek yoğunluk ve daha yüksek ses enerjisi ile bir andı ve rahatsız olan bir tonu ifade ediyor. Konuşmacı, irate, displeased ve rahatsız olma durumuna geldi. | |
style="fearful" |
Daha yüksek ses, daha yüksek ses enerjisi ve daha hızlı hız ile sinirli ve sinirli bir tonu ifade eder. Konuşmacı, zaman ve dengesizlik durumuna geldi. | |
style="disgruntled" |
Adi ve şikayetçi bir tonu ifade ediyor. Bu duyguyu ifade etmiş olmak memnuniyetsizlik ve küçümser bir ifadedir. | |
style="serious" |
Katı ve komut tonlarını ifade ediyor. Konuşmacı genellikle daha rahat ve sağlam bir tempoyla çok daha az gevşetmiş gibi görünüyor. | |
zh-CN-YunxiNeural |
style="assistant" |
Dijital yardımcılar için sıcak ve gevşek bir tonu ifade ediyor |
style="cheerful" |
Daha yüksek ses ve ses enerjisi ile iyi ve istekli bir tonu ifade ediyor | |
style="sad" |
Daha yüksek ses, daha az yoğunluk ve daha düşük ses enerjisi ile, iyi bir tonu ifade ediyor. Bu duyguya yönelik yaygın göstergeler, konuşma sırasında sızlanmalar veya şikayetler olabilir. | |
style="angry" |
Daha düşük perde, daha yüksek yoğunluk ve daha yüksek ses enerjisi ile bir andı ve rahatsız olan bir tonu ifade ediyor. Konuşmacı, irate, displeased ve rahatsız olma durumuna geldi. | |
style="fearful" |
Daha yüksek ses, daha yüksek ses enerjisi ve daha hızlı hız ile sinirli ve sinirli bir tonu ifade eder. Konuşmacı, zaman ve dengesizlik durumuna geldi. | |
style="disgruntled" |
Adi ve şikayetçi bir tonu ifade ediyor. Bu duyguyu ifade etmiş olmak memnuniyetsizlik ve küçümser bir ifadedir. | |
style="serious" |
Katı ve komut tonlarını ifade ediyor. Konuşmacı genellikle daha rahat ve sağlam bir tempoyla çok daha az gevşetmiş gibi görünüyor. | |
style="depressed" |
Daha düşük perde ve enerji ile melancholic ve despondent ton ifadeleri | |
style="embarrassed" |
Konuşmacı rahatsız olduğunda belirsiz ve duyarsız bir tonu ifade eder | |
zh-CN-XiaohanNeural |
style="cheerful" |
Daha yüksek ses ve ses enerjisi ile iyi ve istekli bir tonu ifade ediyor |
style="sad" |
Daha yüksek ses, daha az yoğunluk ve daha düşük ses enerjisi ile, iyi bir tonu ifade ediyor. Bu duyguya yönelik yaygın göstergeler, konuşma sırasında sızlanmalar veya şikayetler olabilir. | |
style="angry" |
Daha düşük perde, daha yüksek yoğunluk ve daha yüksek ses enerjisi ile bir andı ve rahatsız olan bir tonu ifade ediyor. Konuşmacı, irate, displeased ve rahatsız olma durumuna geldi. | |
style="fearful" |
Daha yüksek ses, daha yüksek ses enerjisi ve daha hızlı hız ile sinirli ve sinirli bir tonu ifade eder. Konuşmacı, zaman ve dengesizlik durumuna geldi. | |
style="disgruntled" |
Adi ve şikayetçi bir tonu ifade ediyor. Bu duyguyu ifade etmiş olmak memnuniyetsizlik ve küçümser bir ifadedir. | |
style="serious" |
Katı ve komut tonlarını ifade ediyor. Konuşmacı genellikle daha rahat ve sağlam bir tempoyla çok daha az gevşetmiş gibi görünüyor. | |
style="embarrassed" |
Konuşmacı rahatsız olduğunda belirsiz ve duyarsız bir tonu ifade eder | |
style="affectionate" |
Daha yüksek ses ve ses enerjisi ile sıcak ve sıcak bir tonu ifade ediyor. Konuşmacı, dinleyicinin dikkatini çekme durumuna geldi. Konuşmacının "kişilik"i genellikle doğası gereği güzeldir. | |
style="gentle" |
Daha düşük perde ve ses enerjisi ile hafif, yumuşak ve tatlı bir tonu ifade ediyor | |
zh-CN-XiaomoNeural |
style="calm" |
Konuşmada harika, toplanmış ve bire bir yaklaşım ifade ediyor. Ton, konuşma, pros artık diğer konuşma türlerine kıyasla çok daha tekdüz. |
style="cheerful" |
Daha yüksek ses ve ses enerjisi ile iyi ve istekli bir tonu ifade ediyor | |
style="angry" |
Daha düşük perde, daha yüksek yoğunluk ve daha yüksek ses enerjisi ile bir andı ve rahatsız olan bir tonu ifade ediyor. Konuşmacı, irate, displeased ve rahatsız olma durumuna geldi. | |
style="fearful" |
Daha yüksek ses, daha yüksek ses enerjisi ve daha hızlı hız ile sinirli ve sinirli bir tonu ifade eder. Konuşmacı, zaman ve dengesizlik durumuna geldi. | |
style="disgruntled" |
Adi ve şikayetçi bir tonu ifade ediyor. Bu duyguyu ifade etmiş olmak memnuniyetsizlik ve küçümser bir ifadedir. | |
style="serious" |
Katı ve komut tonlarını ifade ediyor. Konuşmacı genellikle daha rahat ve sağlam bir tempoyla çok daha az gevşetmiş gibi görünüyor. | |
style="depressed" |
Daha düşük perde ve enerji ile melancholic ve despondent ton ifadeleri | |
style="gentle" |
Daha düşük perde ve ses enerjisi ile hafif, yumuşak ve tatlı bir tonu ifade ediyor | |
zh-CN-XiaoxuanNeural |
style="calm" |
Konuşmada harika, toplanmış ve bire bir yaklaşım ifade ediyor. Ton, konuşma, pros artık diğer konuşma türlerine kıyasla çok daha tekdüz. |
style="cheerful" |
Daha yüksek ses ve ses enerjisi ile iyi ve istekli bir tonu ifade ediyor | |
style="angry" |
Daha düşük perde, daha yüksek yoğunluk ve daha yüksek ses enerjisi ile bir andı ve rahatsız olan bir tonu ifade ediyor. Konuşmacı, irate, displeased ve rahatsız olma durumuna geldi. | |
style="fearful" |
Daha yüksek ses, daha yüksek ses enerjisi ve daha hızlı hız ile sinirli ve sinirli bir tonu ifade eder. Konuşmacı, zaman ve dengesizlik durumuna geldi. | |
style="disgruntled" |
Adi ve şikayetçi bir tonu ifade ediyor. Bu duyguyu ifade etmiş olmak memnuniyetsizlik ve küçümser bir ifadedir. | |
style="serious" |
Katı ve komut tonlarını ifade ediyor. Konuşmacı genellikle daha rahat ve sağlam bir tempoyla çok daha az gevşetmiş gibi görünüyor. | |
style="depressed" |
Daha düşük perde ve enerji ile melancholic ve despondent ton ifadeleri | |
style="gentle" |
Daha düşük perde ve ses enerjisi ile hafif, yumuşak ve tatlı bir tonu ifade ediyor | |
zh-CN-XiaoruiNeural |
style="sad" |
Daha yüksek ses, daha az yoğunluk ve daha düşük ses enerjisi ile, iyi bir tonu ifade ediyor. Bu duyguya yönelik yaygın göstergeler, konuşma sırasında sızlanmalar veya şikayetler olabilir. |
style="angry" |
Daha düşük perde, daha yüksek yoğunluk ve daha yüksek ses enerjisi ile bir andı ve rahatsız olan bir tonu ifade ediyor. Konuşmacı, irate, displeased ve rahatsız olma durumuna geldi. | |
style="fearful" |
Daha yüksek ses, daha yüksek ses enerjisi ve daha hızlı hız ile sinirli ve sinirli bir tonu ifade eder. Konuşmacı, zaman ve dengesizlik durumuna geldi. | |
zh-CN-XiaoshuangNeural |
style="chat" |
Gündelik ve gevşek bir tonu ifade ediyor. |
Desteklenen rolleri ve tanımlarını kontrol etmek için bu tabloyu kullanın.
| Rol | Açıklama |
|---|---|
role="Girl" |
Ses bir kız için taklit ediyor. |
role="Boy" |
Ses bir erkek çocuk için taklit ediyor. |
role="YoungAdultFemale" |
Ses, genç bir yetişkin kadın için taklit ediyor. |
role="YoungAdultMale" |
Ses, genç bir yetişkin erkek için taklit ediyor. |
role="OlderAdultFemale" |
Ses, daha eski bir yetişkin kadın için taklit ediyor. |
role="OlderAdultMale" |
Ses, daha eski bir yetişkin erkek için taklit ediyor. |
role="SeniorFemale" |
Ses, kıdemli bir kadın için taklit ediyor. |
role="SeniorMale" |
Ses, kıdemli bir erkek için taklit ediyor. |
Örnek
Bu SSML kod parçacığı, öğesinin <mstts:express-as> konuşma stilini olarak değiştirmek için nasıl kullanılı olduğunu cheerful göstermektedir.
<speak version="1.0" xmlns="http://www.w3.org/2001/10/synthesis"
xmlns:mstts="https://www.w3.org/2001/mstts" xml:lang="en-US">
<voice name="en-US-AriaNeural">
<mstts:express-as style="cheerful">
That'd be just amazing!
</mstts:express-as>
</voice>
</speak>
Bu SSML kod parçacığında styledegree özniteliğin, JinxiaoNeural için konuşma stilinin yoğunluğunu değiştirmek için nasıl kullanıldıkları açık edilmiştir.
<speak version="1.0" xmlns="http://www.w3.org/2001/10/synthesis"
xmlns:mstts="https://www.w3.org/2001/mstts" xml:lang="zh-CN">
<voice name="zh-CN-XiaoxiaoNeural">
<mstts:express-as style="sad" styledegree="2">
快走吧,路上一定要注意安全,早去早回。
</mstts:express-as>
</voice>
</speak>
Bu SSML kod parçacığında özniteliğin, NedenmoNeural rol rolünü değiştirmek role için nasıl kullanıldıklarının gösterildiği.
<speak version="1.0" xmlns="http://www.w3.org/2001/10/synthesis"
xmlns:mstts="https://www.w3.org/2001/mstts" xml:lang="zh-CN">
<voice name="zh-CN-XiaomoNeural">
女儿看见父亲走了进来,问道:
<mstts:express-as role="YoungAdultFemale" style="calm">
“您来的挺快的,怎么过来的?”
</mstts:express-as>
父亲放下手提包,说:
<mstts:express-as role="OlderAdultMale" style="calm">
“刚打车过来的,路上还挺顺畅。”
</mstts:express-as>
</voice>
</speak>
Konuşma dillerini ayarlama
Konuşma dillerini nöral seslere göre ayarlayabilirsiniz.
öğesini kullanarak tek bir sesin farklı dilleri akıcı bir şekilde (İngilizce, İspanyolca ve Çince gibi) konuşmalarını <lang xml:lang> etkinleştirin. Bu, Konuşma hizmeti özgü isteğe bağlı bir öğedir. Bu öğe olmadan ses, birincil dilini dile gelecektir.
Şu anda konuşma dili ayarlamaları şu nöral seslerde de destek almaktadır: en-US-JennyMultilingualNeural . Yukarıdaki değişiklikler cümle düzeyinde ve sözcük düzeyinde uygulanır. Dil desteklenmiyorsa hizmet ses akışı geri dönmez.
Not
Şu anda öğesi ve öğesiyle uyumsuzdur; bu öğedeki duraklatma ve perde, maç, hız, süre, birim gibi <lang xml:lang> prosody break prostüreleri ayaramaz.
Syntax
<lang xml:lang="string"></lang>
Öznitelikler
| Öznitelik | Açıklama | Gerekli / İsteğe Bağlı |
|---|---|---|
lang |
Konuşma dillerini belirtir. Şu anda farklı dillerde konuşmak sese özgü. | Nöral ses için konuşma dilini ayarlayarak gerekli. lang xml:langkullanıyorsanız, yerel olarak sağlanmalıdır. |
Her sinir sesi için desteklenen konuşma dillerini belirlemek için bu tabloyu kullanın.
| Ses | Yerel dil | Description |
|---|---|---|
en-US-JennyMultilingualNeural |
lang="en-US" |
Bu sesin birincil yerel dili olan en-US yerel diline seslendirme |
lang="en-CA" |
En-CA yerel dil konuşma | |
lang="en-AU" |
en-AU yerel dil konuşma | |
lang="en-GB" |
En-GB yerel dil konuşma | |
lang="de-DE" |
De-DE yerel dil konuşma | |
lang="fr-FR" |
fr-FR yerel dil konuşma | |
lang="fr-CA" |
fr-CA yerel dil konuşma | |
lang="es-ES" |
es-ES yerel dil konuşma | |
lang="es-MX" |
es-MX yerel dil konuşma | |
lang="zh-CN" |
zh-CN yerel dil konuşma | |
lang="ko-KR" |
ko-KR yerel dil konuşma | |
lang="ja-JP" |
ja-JP yerel dil konuşma | |
lang="it-IT" |
It-IT yerel dil konuşma | |
lang="pt-BR" |
pt-BR yerel dil konuşma |
Örnek
Bu SSML kod parçacığı, konuşma dillerini , <lang xml:lang> ve olarak değiştirmek için nasıl en-US kullanabileceğinizi es-MX de-DE gösterir.
<speak version="1.0" xmlns="http://www.w3.org/2001/10/synthesis"
xmlns:mstts="https://www.w3.org/2001/mstts" xml:lang="en-US">
<voice name="en-US-JennyMultilingualNeural">
I am looking forward to the exciting things.
<lang xml:lang="es-MX">
Estoy deseando que lleguen las cosas emocionantes.
</lang>
<lang xml:lang="de-DE">
Ich freue mich auf die spannenden Dinge.
</lang>
</voice>
</speak>
Kesme/duraklatma ekleme veya kaldırma
Sözcüklerin break arasına duraklamalar (veya kesmeler) eklemek veya metin konuşma hizmeti tarafından otomatik olarak eklenen duraklamaları önlemek için öğesini kullanın.
Not
Bir sözcük veya tümcecik için sentezlenmiş konuşma doğal olmayan geliyorsa, bir sözcük veya tümcecik için varsayılan konuşmayı (TTS) geçersiz kılmak için bu öğeyi kullanın. Metin konuşma hizmeti tarafından otomatik olarak eklenen bir yan strength none kesmeyi önlemek için olarak ayarlayın.
Syntax
<break strength="string" />
<break time="string" />
Öznitelikler
| Öznitelik | Açıklama | Gerekli / İsteğe Bağlı |
|---|---|---|
strength |
Aşağıdaki değerlerden birini kullanarak bir duraklamanın göreli süresini belirtir:
|
İsteğe Bağlı |
time |
Bir duraklamanın mutlak süresini saniye veya milisaniye cinsinden belirtir; bu değer 5000 milisaniyeden az ayar gerekir. Geçerli değerlere örnek olarak 2s ve 500ms |
İsteğe Bağlı |
| Gücü | Description |
|---|---|
| Hiçbiri veya sağlanan değer yoksa | 0 ms |
| x-weak | 250 ms |
| Zayıf | 500 ms |
| orta | 750 ms |
| Güçlü | 1000 ms |
| x-strong | 1250 ms |
Örnek
<speak version="1.0" xmlns="http://www.w3.org/2001/10/synthesis" xml:lang="en-US">
<voice name="en-US-ChristopherNeural">
Welcome to Microsoft Cognitive Services <break time="100ms" /> Text-to-Speech API.
</voice>
</speak>
Sessizlik ekleme
Öğesini kullanarak metinden önce veya sonra veya bitişik 2 cümle arasına mstts:silence duraksamalar ekler.
Not
ve arasındaki fark, metnin herhangi bir yerine ekleneblir ancak sessizlik yalnızca giriş metninin başında veya sonunda ya da bitişik 2 cümlenin mstts:silence break sınırında break çalışır.
Syntax
<mstts:silence type="string" value="string"/>
Öznitelikler
| Öznitelik | Açıklama | Gerekli / İsteğe Bağlı |
|---|---|---|
type |
Eklenecek sessizlik konumunu belirtir:
|
Gerekli |
Value |
Bir duraklamanın mutlak süresini saniye veya milisaniye cinsinden belirtir; bu değer 5000 milisaniyeden az ayar gerekir. Geçerli değerlere örnek olarak 2s ve 500ms |
Gerekli |
Örnek Bu örnekte, mtts:silence iki cümle arasına 200 ms sessizlik eklemek için kullanılır.
<speak version="1.0" xmlns="http://www.w3.org/2001/10/synthesis" xml:lang="en-US">
<voice name="en-US-ChristopherNeural">
<mstts:silence type="Sentenceboundary" value="200ms"/>
If we’re home schooling, the best we can do is roll with what each day brings and try to have fun along the way.
A good place to start is by trying out the slew of educational apps that are helping children stay happy and smash their schooling at the same time.
</voice>
</speak>
Paragrafları ve cümleleri belirtme
p ve s öğeleri sırasıyla paragrafları ve cümleleri ifade etmek için kullanılır. Bu öğelerin olmaması, metin konuşma hizmeti SSML belgesinin yapısını otomatik olarak belirler.
öğesi p metin ve şu öğeleri içerebilir: , , , , , audio , , ve break phoneme prosody say-as sub mstts:express-as s .
öğesi s metin ve şu öğeleri içerebilir: , , , , , audio , ve break phoneme prosody say-as mstts:express-as sub .
Syntax
<p></p>
<s></s>
Örnek
<speak version="1.0" xmlns="http://www.w3.org/2001/10/synthesis" xml:lang="en-US">
<voice name="en-US-ChristopherNeural">
<p>
<s>Introducing the sentence element.</s>
<s>Used to mark individual sentences.</s>
</p>
<p>
Another simple paragraph.
Sentence structure in this paragraph is not explicitly marked.
</p>
</voice>
</speak>
Söylenişleri geliştirmek için phonemes kullanma
öğesi, ph SSML belgelerde phonetic söylenişleri için kullanılır. öğesi ph yalnızca metin içerebilir, başka öğe içere değildir. Her zaman geri dönüş olarak insan tarafından okunabilir konuşma sağlama.
Telefon alfabeleri, bazen birlikte harf, rakam veya karakterlerden oluşan telefonlardan oluşur. Her telefon benzersiz bir konuşma sesi tanımlar. Bu, herhangi bir harfin birden çok konuşulan sesi temsil eden Latin alfabesinin aksinedir. "şeker" ve "sona er" sözcüklerini veya "thing" ve "those" sözcüklerini "th" harf birleşiminin farklı söylenişlerini "c" harfinin farklı söylenişlerini düşünün.
Not
Phonemes etiketi şu anda bu 5 ses (et-EE-AnuNeural, ga-IE-OrlaNeural, lt-LT-OnaNeural, lv-LV-EveritaNeural ve mt-MT-GarceNeural) için desteklenmiyor.
Syntax
<phoneme alphabet="string" ph="string"></phoneme>
Öznitelikler
| Öznitelik | Açıklama | Gerekli / İsteğe Bağlı |
|---|---|---|
alphabet |
özniteliğinde dizenin söylenişlerini sentezlerken kullanmak için phonetic alfabesini ph belirtir. Alfabeyi belirten dize küçük harflerle belirtilmelidir. Aşağıda, belirtemezseniz olası alfabeler yer almaktadır.
Alfabe yalnızca öğesinde phoneme öğesine uygulanır. |
İsteğe Bağlı |
ph |
Öğesinde sözcüğün söylenişlerini belirten telefonlar içeren bir phoneme dize. Belirtilen dize tanınmayan telefonlar içeriyorsa, metin konuşma (TTS) hizmeti SSML belgesinin tamamını reddeder ve belgede belirtilen konuşma çıkışının hiçbirini üretmez. |
Telefon numarası kullanıyorsanız gereklidir. |
Örnekler
<speak version="1.0" xmlns="http://www.w3.org/2001/10/synthesis" xml:lang="en-US">
<voice name="en-US-ChristopherNeural">
<phoneme alphabet="ipa" ph="təˈmeɪtoʊ"> tomato </phoneme>
</voice>
</speak>
<speak version="1.0" xmlns="https://www.w3.org/2001/10/synthesis" xml:lang="en-US">
<voice name="en-US-ChristopherNeural">
<phoneme alphabet="sapi" ph="iy eh n y uw eh s"> en-US </phoneme>
</voice>
</speak>
<speak version="1.0" xmlns="http://www.w3.org/2001/10/synthesis" xml:lang="en-US">
<voice name="en-US-ChristopherNeural">
<s>His name is Mike <phoneme alphabet="ups" ph="JH AU"> Zhou </phoneme></s>
</voice>
</speak>
Söylenişi geliştirmek için özel sözlük kullanma
Bazen metinden konuşma hizmeti bir sözcüğü doğru bir şekilde söyleyemzz. Örneğin, bir şirketin adı, tıbbi terim veya emoji. Geliştiriciler ve etiketlerini kullanarak tek varlıkların SSML'de nasıl phoneme okundu olduğunu sub tanımlayabilir. Ancak, birden çok varlığın nasıl okundu olarak tanımladığınıza ihtiyacınız varsa etiketini kullanarak özel bir sözlük lexicon oluşturabilirsiniz.
Not
Özel sözlük şu anda UTF-8 kodlamasını destekler.
Not
Şu anda bu 5 ses (et-EE-AnuNeural, ga-IE-OrlaNeural, lt-LT-OnaNeural, lv-LV-EveritaNeural ve mt-MT-GarceNeural) için özel sözlük desteklenmiyor.
Syntax
<lexicon uri="string"/>
Öznitelikler
| Öznitelik | Açıklama | Gerekli / İsteğe Bağlı |
|---|---|---|
uri |
Dış PLS belgesinin adresi. | Gereklidir. |
Kullanım
Birden çok varlığın nasıl okundu olduğunu tanımlamak için, bir .xml veya .pls dosyası olarak depolanan özel bir sözlük oluşturabilirsiniz. Aşağıda örnek bir dosya .xml ve ve ardından alın.
<?xml version="1.0" encoding="UTF-8"?>
<lexicon version="1.0"
xmlns="http://www.w3.org/2005/01/pronunciation-lexicon"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.w3.org/2005/01/pronunciation-lexicon
http://www.w3.org/TR/2007/CR-pronunciation-lexicon-20071212/pls.xsd"
alphabet="ipa" xml:lang="en-US">
<lexeme>
<grapheme>BTW</grapheme>
<alias>By the way</alias>
</lexeme>
<lexeme>
<grapheme> Benigni </grapheme>
<phoneme> bɛˈniːnji</phoneme>
</lexeme>
<lexeme>
<grapheme>😀</grapheme>
<alias>test emoji</alias>
</lexeme>
</lexicon>
öğesi lexicon en az bir öğe lexeme içerir. Her lexeme öğe en az bir öğe ve bir veya daha fazla , ve öğesi grapheme grapheme alias phoneme içerir. öğesi, grapheme orthography öğesini açıklayan metin içerir. aliasÖğeler, kısaltma veya kısaltılmış terim söylenişini belirtmek için kullanılır. phonemeöğesi, öğesinin nasıl okunan lexeme olduğunu açıklayan metin sağlar. ve alias öğesi phoneme aynı öğeyle sağlanıyorsa, grapheme daha yüksek alias önceliğe sahiptir.
Önemli
öğesi lexeme özel sözlükte büyük/büyük/büyük harfe duyarlıdır. Örneğin, yalnızca 'Hello' için bir telefon numarası sağlarsanız lexeme , lexeme 'hello' için çalışmaz.
Lexicon, hangi xml:lang yerel değere uygulanması gerektiğini belirtmek için gerekli özniteliği içerir. Bir özel sözlük, tasarıma göre tek bir yerel seçimle sınırlıdır, bu nedenle farklı bir yerel seçime uygula, çalışmaz.
Özel sözlük kullanarak bir tümceciğin söylenişlerini doğrudan ayarlayamayabilirsiniz. Kısaltma veya kısaltılmış terim için söyleniş ayarlamanız gerekirse, önce bir sağlamak, ardından alias ile phoneme alias ilişkilendirmek. Örnek:
<lexeme>
<grapheme>Scotland MV</grapheme>
<alias>ScotlandMV</alias>
</lexeme>
<lexeme>
<grapheme>ScotlandMV</grapheme>
<phoneme>ˈskɒtlənd.ˈmiːdiəm.weɪv</phoneme>
</lexeme>
Not
Hece sınırı Uluslararası Telefon Alfabesi'ne göre '.' sınırıdır.
Ayrıca, kısaltma veya alias kısaltılmış terim için bekleneni doğrudan da sebilirsiniz. Örnek:
<lexeme>
<grapheme>Scotland MV</grapheme>
<alias>Scotland Media Wave</alias>
</lexeme>
Önemli
öğesi phoneme IPA kullanırken boşluk içeremez.
Özel sözlük dosyası hakkında daha fazla bilgi için bkz. Söyleniş Sözlüğü Belirtimi (PLS) Sürüm 1.0.
Ardından özel sözlük dosyanızı yayımlayın. Bu dosyanın depolandığı yerle ilgili kısıtlamalarımız yoktur, ancak Azure Blobdepolama alanı Depolama.
Özel sözlüklerinizi yayımladıktan sonra SSML'nizin bu sözlüğüne başvurarak bu özel sözlüğüne başvurarak bunu kullanabilirsiniz.
Not
öğesi, lexicon öğesinin içinde voice yer alalır.
<speak version="1.0" xmlns="http://www.w3.org/2001/10/synthesis"
xmlns:mstts="http://www.w3.org/2001/mstts"
xml:lang="en-US">
<voice name="en-US-ChristopherNeural">
<lexicon uri="http://www.example.com/customlexicon.xml"/>
BTW, we will be there probably at 8:00 tomorrow morning.
Could you help leave a message to Robert Benigni for me?
</voice>
</speak>
Bu özel sözlük kullanırken "BTW" "By the way" olarak okunur. "Benigni", sağlanan IPA "btcni aşağıdakinimoni" ile okunur.
Özel sözlükte hata yapmak kolay olduğu için Microsoft, özel sözlük için doğrulama aracı sağladı. Hataları bulanıza yardımcı olacak ayrıntılı hata iletileri sağlar. Konuşma hizmetine özel sözlük ile SSML göndermeden önce, bu araçla özel sözlüklerinizi denetlemeniz gerekir.
Sınırlamalar
- Dosya boyutu: Özel sözlük dosyası boyutu üst sınırı 100 KB'tır; bu boyutun ötesinde sentez isteği başarısız olur.
- Lexicon önbelleği yenileme: Özel sözlük, TTS Hizmeti ilk yüklendiğinde anahtar olarak URI ile önbelleğe alınacak. Aynı URI'ye sahip Lexicon 15 dakika içinde yeniden yüklenmez, bu nedenle özel sözlük değişikliğinin etkili olması için en fazla 15 dakika beklemesi gerekir.
Konuşma hizmeti telefon numarası kümeleri
Yukarıdaki örnekte IPA telefon kümesi olarak da bilinen Uluslararası Telefon Alfabesi'nin kullanımına açabilirsiniz. Uluslararası standart olduğundan geliştiricilerin IPA'yı kullanmalarını öneririz. Bazı IPA karakterleri için, Unicode ile temsil edilen 'önceden koda' ve 'koda dışı' sürüme sahipler. Özel sözlük yalnızca koda alınan unicode'ları destekler.
IPA'nın anımsanmalarının kolay olmadığını göz önünde bulundurarak, Konuşma hizmeti yedi dil için bir telefon numarası kümesi tanımlar ( en-US , , , , , ve fr-FR de-DE es-ES ja-JP zh-CN zh-TW ).
Aşağıda da olduğu x-microsoft-sapi gibi özel sözlük ile alphabet özniteliğinin değeri olarak kullanabilirsiniz:
<?xml version="1.0" encoding="UTF-8"?>
<lexicon version="1.0"
xmlns="http://www.w3.org/2005/01/pronunciation-lexicon"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.w3.org/2005/01/pronunciation-lexicon
http://www.w3.org/TR/2007/CR-pronunciation-lexicon-20071212/pls.xsd"
alphabet="x-microsoft-sapi" xml:lang="en-US">
<lexeme>
<grapheme>BTW</grapheme>
<alias> By the way </alias>
</lexeme>
<lexeme>
<grapheme> Benigni </grapheme>
<phoneme> b eh 1 - n iy - n y iy </phoneme>
</lexeme>
</lexicon>
Ayrıntılı Konuşma hizmeti telefon alfabesi hakkında daha fazla bilgi için bkz. Konuşma hizmeti telefon numarası kümeleri.
Prozodiyi ayarlama
öğesi, prosody metinden konuşma çıkışı için perde, aralık, hız, süre ve birim değişikliklerini belirtmek için kullanılır. öğesi prosody metin ve şu öğeleri içerebilir: , , , , , audio , , ve break p phoneme prosody say-as sub s .
Prosodic öznitelik değerleri geniş bir aralıkta farklılık gösterene kadar, konuşma tanıyıcı atanan değerleri seçilen sesin gerçek prosodic değerlerinin ne olması gerektiğine bir öneri olarak yorumlar. Metin konuşma hizmeti, desteklen olmayan değerleri sınırlar veya bu değerlerin yerini ayalar. Desteklenmeyen değerlere örnek olarak 1 MHz veya 120 birimlik bir perde verilmiştir.
Syntax
<prosody pitch="value" contour="value" range="value" rate="value" duration="value" volume="value"></prosody>
Öznitelikler
| Öznitelik | Açıklama | Gerekli / İsteğe Bağlı |
|---|---|---|
pitch |
Metnin temel perdesini gösterir. Bu ifadeyi şu şekilde ifade etmek mümkün:
|
İsteğe Bağlı |
contour |
Sinir artık hem sinirsel hem de standart sesleri destekliyor. Temsili, perdede yapılan değişiklikleri temsil eder. Bu değişiklikler, konuşma çıkışında belirtilen zaman konumlarında hedef dizisi olarak temsil edildi. Her hedef, parametre çifti kümeleri tarafından tanımlanır. Örnek: <prosody contour="(0%,+20Hz) (10%,-2st) (40%,+10Hz)">Her parametre kümesinde ilk değer, metnin süresinin yüzdesi olarak perde değişikliğinin konumunu belirtir. İkinci değer, göreli bir değer veya perde için bir numaralama değeri kullanarak perdeyi yükseltmek veya düşürmek için gereken miktarı belirtir (bkz. pitch ). |
İsteğe Bağlı |
range |
Metin için perde aralığını temsil eden bir değer. açıklamak için range kullanılan aynı mutlak değerleri, göreli değerleri veya numaralama değerlerini kullanarak ifade edersiniz. pitch |
İsteğe Bağlı |
rate |
Metnin konuşma oranını gösterir. Şunları ifade rate etmek için:
|
İsteğe Bağlı |
duration |
Konuşma sentezi (TTS) hizmeti metni okurken geçen süre (saniye veya milisaniye cinsinden). Örneğin, 2s veya 1800ms. Süre yalnızca standart sesleri destekler. | İsteğe Bağlı |
volume |
Konuşma sesinin ses düzeyini gösterir. Birimi şu şekilde ifade etmek için:
|
İsteğe Bağlı |
Konuşma oranını değiştirme
Konuşma hızı, Nöral seslere ve sözcük veya cümle düzeyindeki standart seslere uygulanabilir.
Örnek
<speak version="1.0" xmlns="http://www.w3.org/2001/10/synthesis" xml:lang="en-US">
<voice name="en-US-ChristopherNeural">
<prosody rate="+30.00%">
Welcome to Microsoft Cognitive Services Text-to-Speech API.
</prosody>
</voice>
</speak>
Birimi değiştirme
Birim değişiklikleri sözcük veya cümle düzeyinde standart seslere uygulanabilir. Birim değişiklikleri yalnızca tümce düzeyinde sinir seslerini uygulanabilir.
Örnek
<speak version="1.0" xmlns="http://www.w3.org/2001/10/synthesis" xml:lang="en-US">
<voice name="en-US-ChristopherNeural">
<prosody volume="+20.00%">
Welcome to Microsoft Cognitive Services Text-to-Speech API.
</prosody>
</voice>
</speak>
Değişiklik perdesi
Konuşma değişiklikleri sözcük veya cümle düzeyinde standart seslere uygulanabilir. Sıklık değişiklikleri yalnızca tümce düzeyinde sinir seslere uygulanabilir.
Örnek
<speak version="1.0" xmlns="http://www.w3.org/2001/10/synthesis" xml:lang="en-US">
<voice name="en-US-ChristopherNeural">
Welcome to <prosody pitch="high">Microsoft Cognitive Services Text-to-Speech API.</prosody>
</voice>
</speak>
Aralık dağılımı değiştirme
Önemli
Aralık dağılımı değişiklikleri artık sinir seslerle desteklenmektedir.
Örnek
<speak version="1.0" xmlns="http://www.w3.org/2001/10/synthesis" xml:lang="en-US">
<voice name="en-US-ChristopherNeural">
<prosody contour="(60%,-60%) (100%,+80%)" >
Were you the only person in the room?
</prosody>
</voice>
</speak>
as öğesi
say-as , öğe metninin (sayı veya tarih gibi) içerik türünü belirten isteğe bağlı bir öğedir. Bu, metnin nasıl pronounce hakkında konuşma birleştirme altyapısına kılavuzluk sağlar.
Syntax
<say-as interpret-as="string" format="digit string" detail="string"> </say-as>
Öznitelikler
| Öznitelik | Açıklama | Gerekli/Isteğe bağlı |
|---|---|---|
interpret-as |
Öğe metninin içerik türünü gösterir. Türlerin listesi için aşağıdaki tabloya bakın. | Gerekli |
format |
Belirsiz biçimleri olabilecek içerik türleri için öğenin metninin kesin biçimlendirmesi hakkında ek bilgiler sağlar. SSML bunları kullanan içerik türleri için biçimleri tanımlar (aşağıdaki tabloya bakın). | İsteğe Bağlı |
detail |
Söylenen ayrıntı düzeyini gösterir. Örneğin, bu öznitelik konuşma senkiyle motor pronounce noktalama işaretlerinin olmasını isteyebilir. İçin tanımlanmış standart değer yok detail . |
İsteğe Bağlı |
Ve öznitelikleri için desteklenen içerik türleri aşağıda verilmiştir interpret-as format . formatYalnızca interpret-as Tarih ve saat olarak ayarlandıysa özniteliği ekleyin.
| farklı yorumlama | biçim | Yorum |
|---|---|---|
address |
Metin bir adres olarak konuşulur. Konuşma birleştirme motoru pronounces:I'm at <say-as interpret-as="address">150th CT NE, Redmond, WA</say-as>Yani "150th mahkeme, Kuzey Doğu Redmond Washington." |
|
cardinal, number |
Metin bir Kardinal sayı olarak konuşulur. Konuşma birleştirme motoru pronounces:There are <say-as interpret-as="cardinal">3</say-as> alternatives"Üç alternatif vardır." |
|
characters, spell-out |
Metin, tek tek harfler (yazılmış) olarak konuşulur. Konuşma birleştirme motoru pronounces:<say-as interpret-as="characters">test</say-as>"T E S T" olarak. |
|
date |
DMY, mdy, yımd, yıdm, YM, My, MD, DM, d, m, y | Metin bir tarih olarak konuşulur. formatÖznitelik, tarihin biçimini (d = Day, m = month ve y = Year) belirtir. Konuşma birleştirme motoru pronounces:Today is <say-as interpret-as="date" format="mdy">10-19-2016</say-as>"Bugün Ekim, 2016. |
digits, number_digit |
Metin, tek basamaklı bir dizi olarak konuşulur. Konuşma birleştirme motoru pronounces:<say-as interpret-as="number_digit">123456789</say-as>"1 2 3 4 5 6 7 8 9" olarak |
|
fraction |
Metin kesirli bir sayı olarak konuşulur. Konuşma birleştirme motoru pronounces:<say-as interpret-as="fraction">3/8</say-as> of an inch"Bir inç üç sekizde biri." |
|
ordinal |
Metin bir sıra numarası olarak konuşulur. Konuşma birleştirme motoru pronounces:Select the <say-as interpret-as="ordinal">3rd</say-as> optionAs "üçüncü seçeneği belirleyin". |
|
telephone |
Metin telefon numarası olarak konuşulur. formatÖznitelik, ülke kodunu temsil eden rakamları içerebilir. Örneğin, Birleşik Devletler için "1" veya Italya için "39". Konuşma birleştirme altyapısı, bu bilgileri bir telefon numarası söylenişini rehberlik için kullanabilir. Telefon numarası da ülke kodunu içerebilir ve bu durumda, içindeki ülke kodundan önceliklidir format . Konuşma birleştirme motoru pronounces:The number is <say-as interpret-as="telephone" format="1">(888) 555-1212</say-as>As "My No Area Code 8 8 8 5 5 5 1 2 1 2." |
|
time |
hms12, hms24 | Metin bir zaman olarak konuşulur. formatÖznitelik, saatin 12 saatlik bir saat (hms12) veya 24 saatlik saat (hms24) kullanılarak mı belirtilmediğini belirtir. Saatleri, dakikaları ve saniyeleri temsil eden sayıları ayırmak için iki nokta üst üste kullanın. Şu geçerli zaman örnekleri şunlardır: 12:35, 1:14:32, 08:15 ve 02:50:45. Konuşma birleştirme motoru pronounces:The train departs at <say-as interpret-as="time" format="hms12">4:00am</say-as>"," Parçaları dört bir A 'da eğitme. " |
name |
Metin bir kişi adı olarak konuşulur. Konuşma birleştirme motoru pronounces:<say-as interpret-as="name">ED</say-as>as [ÆD]. Çince adlarında, bazı karakterler bir aile adında görüntülendiklerinde farklı pronounce. Örneğin, konuşma Senki motoru 仇 <say-as interpret-as="address">仇先生</say-as>[chóu] yerine [qiú] olarak. |
Kullanım
say-asÖğesi yalnızca metin içerebilir.
Örnek
Konuşma sennet12 35 Me motoru, "ilk isteğiniz," Ekim 20 10 ' de erken gelişle birlikte, en az bir yere kadar bir yere vardı.
<speak version="1.0" xmlns="http://www.w3.org/2001/10/synthesis" xml:lang="en-US">
<voice name="en-US-ChristopherNeural">
<p>
Your <say-as interpret-as="ordinal"> 1st </say-as> request was for <say-as interpret-as="cardinal"> 1 </say-as> room
on <say-as interpret-as="date" format="mdy"> 10/19/2010 </say-as>, with early arrival at <say-as interpret-as="time" format="hms12"> 12:35pm </say-as>.
</p>
</voice>
</speak>
Kayıtlı ses ekleme
audio , bir SSML belgesine MP3 sesi eklemenize olanak sağlayan isteğe bağlı bir öğedir. Ses öğesinin gövdesi, ses dosyasının kullanılamadığı veya yürütülemeyebilir olmadığı durumlarda konuşulan düz metin veya SSML biçimlendirmesi içerebilir. Ayrıca, audio öğesi metin ve şu öğeleri içerebilir: audio , break ,, p s , phoneme , prosody , say-as ve sub .
SSML belgesine dahil edilen tüm seslerin bu gereksinimleri karşılaması gerekir:
- MP3, Internet erişimli bir HTTPS uç noktasında barındırılmalıdır. HTTPS gereklidir ve MP3 dosyasını barındıran etki alanı geçerli, güvenilen bir TLS/SSL sertifikası sunmalıdır.
- MP3 geçerli bir MP3 dosyası (MPEG v2) olmalıdır.
- Bit hızının 48 kbps olması gerekir.
- Örnek hız 16.000 Hz olmalıdır.
- Tek bir yanıttaki tüm metin ve ses dosyaları için Birleşik Toplam süre 90 (90) saniyeyi aşamaz.
- MP3, müşteriye özgü veya diğer gizli bilgileri içermemelidir.
Syntax
<audio src="string"/></audio>
Öznitelikler
| Öznitelik | Açıklama | Gerekli/Isteğe bağlı |
|---|---|---|
src |
Ses dosyasının konumunu/URL 'sini belirtir. | SSML belgenizde ses öğesi kullanılıyorsa gereklidir. |
Örnek
<speak version="1.0" xmlns="http://www.w3.org/2001/10/synthesis" xml:lang="en-US">
<voice name="en-US-ChristopherNeural">
<p>
<audio src="https://contoso.com/opinionprompt.wav"/>
Thanks for offering your opinion. Please begin speaking after the beep.
<audio src="https://contoso.com/beep.wav">
Could not play the beep, please voice your opinion now.
</audio>
</p>
</voice>
</speak>
Arka plan sesi Ekle
mstts:backgroundaudioÖğesi SSML belgelerinize arka plan sesi eklemenize (veya metinden konuşmaya sahip bir ses dosyası karıştırabilmeniz) olanak tanır. İle mstts:backgroundaudio , metin okuma başlangıcında durarak bir ses dosyasını arka planda döngüye alabilir ve metin okuma sonunda soluklaştırın.
Belirtilen arka plan sesi metinden konuşmaya veya soluklaştırmadan kısaysa, döngü gerçekleştirilir. Metinden konuşmaya daha uzunsa, bu, silinme bittiğinde durur.
SSML belgesi başına yalnızca bir arka plan ses dosyasına izin verilir. Ancak, audio SSML belgenize ek ses voice eklemek için öğesinde ara etiketler ekleyebilirsiniz.
Syntax
<mstts:backgroundaudio src="string" volume="string" fadein="string" fadeout="string"/>
Öznitelikler
| Öznitelik | Açıklama | Gerekli / İsteğe Bağlı |
|---|---|---|
src |
Arka plan ses dosyasının konumunu/URL'sini belirtir. | SSML belgesinde arka plan sesi kullanıyorsanız gereklidir. |
volume |
Arka plan ses dosyasının hacmini belirtir. Kabul edilen değerler: 0 100 dahil. 1 varsayılan değerdir. |
İsteğe Bağlı |
fadein |
Arka plan seslerinin süresini milisaniye olarak "soluk" olarak belirtir. Varsayılan değer, 0 soldurmamaya eşdeğer olan değeridir. Kabul edilen değerler: 0 10000 dahil. |
İsteğe Bağlı |
fadeout |
Arka plandaki ses soldurma süresini milisaniye cinsinden belirtir. Varsayılan değer, 0 soldurmamaya eşdeğer olan değeridir. Kabul edilen değerler: 0 10000 dahil. |
İsteğe Bağlı |
Örnek
<speak version="1.0" xml:lang="en-US" xmlns:mstts="http://www.w3.org/2001/mstts">
<mstts:backgroundaudio src="https://contoso.com/sample.wav" volume="0.7" fadein="3000" fadeout="4000"/>
<voice name="Microsoft Server Speech Text to Speech Voice (en-US, ChristopherNeural)">
The text provided in this document will be spoken over the background audio.
</voice>
</speak>
Bookmark öğesi
Yer işareti öğesi, ses akışında her işaretçinin uzaklığını almak için SSML'ye özel işaretçiler eklemenizi sağlar. Yer işareti öğelerini okumaz. Yer işareti öğesi, metin veya etiket dizisinde belirli bir konuma başvuru yapmak için kullanılabilir.
Not
bookmark öğesi şimdilik yalnızca en-US-AriaNeural ses için çalışıyor.
Syntax
<bookmark mark="string"/>
Öznitelikler
| Öznitelik | Açıklama | Gerekli / İsteğe Bağlı |
|---|---|---|
mark |
Öğesinin başvuru metnini bookmark belirtir. |
Gereklidir. |
Örnek
Örneğin, her çiçek sözcüğü için zaman farklarını aşağıdaki gibi bilmek istiyor olabilir
<speak version="1.0" xmlns="http://www.w3.org/2001/10/synthesis" xml:lang="en-US">
<voice name="en-US-AriaNeural">
We are selling <bookmark mark='flower_1'/>roses and <bookmark mark='flower_2'/>daisies.
</voice>
</speak>
Konuşma SDK'sı kullanarak yer işareti al
Yer işareti uzaklıklarını almak BookmarkReached için Konuşma SDK'sında olayına abone olabilirsiniz.
Not
BookmarkReached olayı yalnızca Konuşma SDK'sı sürüm 1.16'dan itibaren kullanılabilir.
BookmarkReached olaylar, çıkış ses verileri kullanılabilir hale geldi ve bu da bir çıkış cihazında kayıttan yürütmeden daha hızlı olacaktır.
AudioOffset, çıkış seslerinin sentezin başlangıcı ile yer işareti öğesi arasındaki geçen zamanı raporlar. Bu, 1 milisaniyeye eşdeğer 10.000 HNS ile yüz nanosaniye (HNS) cinsinden ölçülür.Text, yer işareti öğesinin başvuru metnidir ve bu, özniteliğinde ayar istediğinizmarkdizedir.
Daha fazla bilgi BookmarkReached için bkz. .
synthesizer.BookmarkReached += (s, e) =>
{
// The unit of e.AudioOffset is tick (1 tick = 100 nanoseconds), divide by 10,000 to convert to milliseconds.
Console.WriteLine($"Bookmark reached. Audio offset: " +
$"{e.AudioOffset / 10000}ms, bookmark text: {e.Text}.");
};
Yukarıdaki örnek SSML için olay iki kez tetiklenir ve BookmarkReached konsol çıkışı şu şekilde olur:
Bookmark reached. Audio offset: 825ms, bookmark text: flower_1.
Bookmark reached. Audio offset: 1462.5ms, bookmark text: flower_2.