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-AriaNeural
  • en-US-JennyNeural
  • en-US-GuyNeural
  • en-US-SaraNeural
  • ja-JP-NanamiNeural
  • pt-BR-FranciscaNeural
  • zh-CN-XiaoxiaoNeural
  • zh-CN-YunyangNeural
  • zh-CN-YunyeNeural
  • zh-CN-YunxiNeural
  • zh-CN-XiaohanNeural
  • zh-CN-XiaomoNeural
  • zh-CN-XiaoxuanNeural
  • zh-CN-XiaoruiNeural
  • zh-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-XiaomoNeural
  • zh-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:
  • yok
  • x-weak
  • Zayıf
  • orta (varsayılan)
  • Güçlü
  • x-strong
İ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:
  • Leading – metnin başında
  • Tailing – metnin sonunda
  • Sentenceboundary – bitişik cümleler arasında
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:
  • Sayı olarak ifade edilen mutlak değer ve ardından "Hertz" (Hertz) gelen bir değer. Örneğin, <prosody pitch="600Hz">some text</prosody>.
  • "+" veya "-" önünde sayı olarak ifade edilen ve ardından "Zaman" veya "st" gelen göreli değer, perdeyi değiştirmek için bir miktar belirtir. Örneğin: <prosody pitch="+80Hz">some text</prosody> veya <prosody pitch="-2st">some text</prosody> . "st", değişiklik biriminin yarı noktalı olduğunu belirtir ve bu da standart diaton ölçekteki bir tonun yarısıdır (yarım adım).
  • Sabit bir değer:
    • x-low
    • Düşük
    • orta
    • yüksek
    • x-high
    • default
İ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:
  • Varsayılan değerin çarpanı olarak hareket eden bir sayı olarak ifade edilen göreli değer. Örneğin, 1 değeri hızda değişiklikle sonuç olmaz. 0,5 değeri, oranın yarıya inerek sonuç verir. 3 değeri, fiyatta bir artışa neden olur.
  • Sabit bir değer:
    • x-yavaş
    • Yavaş
    • orta
    • Hızlı
    • x-fast
    • default
İ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:
  • En sessizden en yüksek değerine kadar 0,0 ile 100,0 aralığında bir sayı olarak ifade eden mutlak bir değer. Örneğin, 75. Varsayılan değer 100.0'dır.
  • Birimi değiştirmek için bir miktar belirten "+" veya "-" öncesinde bir sayı olarak ifade edilecek göreli bir değer. Örneğin, +10 veya -5.5.
  • Sabit bir değer:
    • Sessiz
    • x-soft
    • Yumuşak
    • orta
    • Yüksek sesle
    • x-yüksek sesle
    • default
İ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> option

As "üçü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ğiniz mark dizedir.

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.

Sonraki adımlar