Konuşma Sentezi Biçimlendirme Dili (SSML) referansı (Beta)

Actions on Google platformu, Actions on Google standart SSML öğelerinin yanı sıra bir dizi SSML Beta özelliğini destekler.

Desteklenen Beta SSML özelliklerinin özeti:

  • <phoneme>: Belirli kelimelerin telaffuzunu özelleştirebilirsiniz.
  • <say-as interpret-as="duration">: Süreleri belirtir.
  • <voice>: Aynı istekteki sesler arasında geçiş yapın.
  • <lang>: Aynı istekte birden fazla dil kullanın.
  • Zaman noktaları: Transkriptinizde belirli bir noktanın zaman noktasını döndürmek için <mark> etiketini kullanın.

<phoneme>

Kelimelerin satır içi özel telaffuzlarını oluşturmak için <phoneme> etiketini kullanabilirsiniz. Actions on Google, IPA ve X-SAMPA fonetik alfabelerini kabul eder. Desteklenen diller ve fonemlerin listesi için fonemler sayfasına bakın.

<phoneme> etiketinin her bir uygulaması tek bir kelimenin telaffuzunu yönlendirir:

  <phoneme alphabet="ipa" ph="ˌmænɪˈtoʊbə">manitoba</phoneme>
  <phoneme alphabet="x-sampa" ph='m@"hA:g@%ni:'>mahogany</phoneme>

Stres işaretçileri

Metne dönüştürmeye dahil edilebilecek en fazla üç stres seviyesi vardır:

  1. Birincil stres: IPA'da ˈ ve X-SAMPA'da " ile gösterilir.
  2. İkincil stres: IPA'da ˌ ve X-SAMPA'da % ile gösterilir.
  3. Vurgulanmamış: Bir simgeyle belirtilmez (her iki gösterimde de).

Bazı dillerde üçten az düzey olabilir veya stres yerleşimini hiç belirtmeyebilir. Dilinizde mevcut olan stres seviyelerini görmek için fonemler sayfasına göz atın. Stres işaretçileri, vurgulu hecenin başına yerleştirilir. Örneğin, Amerikan İngilizcesi için:

Örnek kelime IPA X-SAMPA
doğal gaz ˈwɑːtɚ "wA:t@`
su altı ˌʌndɚˈwɑːtɚ %Vnd@"wA:t@

Geniş ve dar transkriptler

Genel bir kural olarak, çeviri yazılarınızı daha geniş kapsamlı ve fonemik yapıda tutun. Örneğin, ABD İngilizcesi ile deyimsel t kelimesini metne dönüştürün (dokunarak kullanmak yerine):

Örnek kelime IPA X-SAMPA
tereyağı ˈbʌɾɚ yerine ˈbʌtɚ "bV4@` yerine "bVt@`

Fonetik gösterim kullanmanın TTS sonuçlarınızı doğal olmadığı bazı durumlar vardır (örneğin, fonem dizisinin telaffuzu anatomik olarak zorsa).

Bunun bir örneği, s için İngilizcede asimilasyonun dile getirilmesidir. Bu durumda, asimilasyon konuşmaya yansıtılmalıdır:

Örnek kelime IPA X-SAMPA
kediler ˈkæts "k{ts
köpekler ˈdɑːgs yerine ˈdɑːgz "dA:gs yerine "dA:gz

Azaltma

Her hece bir (yalnızca bir) sesli harf içermelidir. Yani heceli sessiz harflerden kaçınmanız ve bunları kısa bir sesli harf ile metne dönüştürmeniz gerekir. Örneğin:

Örnek kelime IPA X-SAMPA
yavru kedi ˈkɪtn yerine ˈkɪtən "kitn yerine "kIt@n
su ısıtıcı ˈkɛtl yerine ˈkɛtəl "kEtl yerine "kEt@l

Hece

İsterseniz . kullanarak hece sınırları belirtebilirsiniz. Her hecede bir (yalnızca bir) sesli harf bulunmalıdır. Örneğin:

Örnek kelime IPA X-SAMPA
okunabilirlik ˌɹiː.də.ˈbɪ.lə.tiː %r\i:.d@."bI.l@.ti:

Süre

Actions on Google platformu, süreleri doğru okumak için <say-as interpret-as="duration"> özelliğini destekler. Örneğin, aşağıdaki örnek "beş saat otuz dakika" olarak sözcüğe dönüştürülür:

<say-as interpret-as="duration" format="h:m">5:30</say-as>

Biçim dizesi aşağıdaki değerleri destekler:

Kısaltma Değer
sa. saat
dk. dakika
sn. saniye
ms milisaniye

<voice>

<voice> etiketi, tek bir SSML isteğinde birden fazla ses kullanmanıza olanak tanır. Aşağıdaki örnekte varsayılan ses İngiliz erkek sesidir. "qu'est-ce qui t'amène ici" hariç tüm kelimeler bu sesle sentezlenecek. Varsayılan dil (İngilizce) ve cinsiyet (erkek) yerine Fransızca bir kadın sesi kullanılarak sözcüğe dönüştürülecek.

<speak>And then she asked, <voice language="fr-FR" gender="female">qu'est-ce qui
t'amène ici</voice><break time="250ms"/> in her sweet and gentle voice.</speak>

Alternatif olarak, language ve/veya gender belirtmek yerine tek bir sesi (desteklenen sesler ve diller sayfasındaki ses adı) belirtmek için <voice> etiketi kullanabilirsiniz:

<speak>The dog is friendly<voice name="fr-CA-Wavenet-B">mais la chat est
mignon</voice><break time="250ms"/> said a pet shop
owner</speak>

<voice> etiketini kullandığınızda Actions on Google bir name (kullanmak istediğiniz sesin adı) veya aşağıdaki özelliklerin bir kombinasyonunu almayı bekler. Üç özellik de isteğe bağlıdır ancak name sağlamazsanız en az bir özellik sağlamanız gerekir.

  • gender: Şunlardan biri: male, female veya neutral.
  • variant: Yapılandırmanıza göre birden çok sesin kullanılabileceği durumlarda eşitliği bozmak için kullanılır.
  • language: İstediğiniz dil. Belirli bir <voice> etiketinde yalnızca bir dil belirtilebilir. Dilinizi BCP-47 biçiminde belirtin. Dilinizin BCP-47 kodunu desteklenen sesler ve diller sayfasındaki dil kodu sütununda bulabilirsiniz.

Ayrıca iki ek etiket kullanarak gender, variant ve language özelliklerinden her birinin göreli önceliğini kontrol edebilirsiniz: required ve ordering.

  • required: Bir özellik required olarak tanımlanır ve doğru şekilde yapılandırılmazsa istek başarısız olur.
  • ordering: ordering etiketinden sonra listelenen tüm özellikler, gerekli değil, tercih edilen özellikler olarak kabul edilir. SSML, tercih edilen özellikleri ordering etiketinden sonra listelendikleri sırayla en iyi çaba temelinde dikkate alır. Tercih edilen özellikler yanlış yapılandırıldıysa Actions on Google yine de geçerli bir ses döndürebilir, ancak yanlış yapılandırma kaldırılmış olabilir.

required ve ordering etiketlerinin kullanıldığı yapılandırma örnekleri:

<speak>And there it was <voice language="en-GB" gender="male" required="gender"
ordering="gender language">a flying bird </voice>roaring in the skies for the
first time.</speak>
<speak>Today is supposed to be <voice language="en-GB" gender="female"
ordering="language gender">Sunday Funday.</voice></speak>

<lang>

Aynı SSML isteği içinde birden çok dilde metin eklemek için <lang> kullanabilirsiniz. Sesi açıkça değiştirmek için <voice> etiketini kullanmadığınız sürece tüm diller aynı sesle sentezlenir. xml:lang dizesi, hedef dili BCP-47 biçiminde içermelidir (bu değer, desteklenen sesler tablosunda "dil kodu" olarak listelenir). Aşağıdaki örnekte "chat", varsayılan dil (İngilizce) yerine Fransızca olarak dile getirilecektir:

<speak>The french word for cat is <lang xml:lang="fr-FR">chat</lang></speak>

Actions on Google platformu, <lang> etiketini en iyi şekilde destekler. Aynı SSD isteğinde belirtilirse tüm dil kombinasyonları aynı kalitede sonuçları sağlamaz. Bazı durumlarda bir dil kombinasyonu algılanabilir ancak hafif veya olumsuz olarak algılanan bir etki yaratabilir. Bilinen sorunlar:

  • <lang> etiketi, Kanji karakterlerini içeren Japoncayı desteklemez. Girişin harf çevirisi yapılır ve Çince karakterler olarak okunur.
  • Arapça, İbranice ve Farsça gibi Sami diller <lang> etiketi tarafından desteklenmez ve sessize alınır. Bu dillerden herhangi birini kullanmak isterseniz istediğiniz dili konuşan bir sese (varsa) geçiş yapmak için <voice> etiketini kullanmanızı öneririz.