स्पीच सिंथेसिस मार्कअप लैंग्वेज (एसएसएमएल) रेफ़रंस (बीटा वर्शन)

Actions on Google प्लैटफ़ॉर्म पर, Actions on Google स्टैंडर्ड एसएसएमएल एलिमेंट के अलावा एसएसएमएल बीटा की कई सुविधाएं काम करती हैं.

बीटा वर्शन पर काम करने वाली एसएसएमएल सुविधाओं के बारे में खास जानकारी:

  • <phoneme>: खास शब्दों का उच्चारण पसंद के मुताबिक करें.
  • <say-as interpret-as="duration">: अवधि तय करें.
  • <voice>: एक ही अनुरोध में, एक से दूसरी आवाज़ पर स्विच करने के लिए.
  • <lang>: एक ही अनुरोध में कई भाषाओं का इस्तेमाल करें.
  • टाइम पॉइंट: अपनी ट्रांसक्रिप्ट में किसी खास पॉइंट का टाइमपॉइंट लौटाने के लिए, <mark> टैग का इस्तेमाल करें.

<phoneme>

शब्दों के पसंद के मुताबिक उच्चारण, इनलाइन बनाने के लिए, <phoneme> टैग का इस्तेमाल किया जा सकता है. Google पर कार्रवाइयां, आईपीए और X-SAMPA फ़ोनेटिक अक्षरों को स्वीकार करती हैं. इस्तेमाल की जा सकने वाली भाषाओं और फ़ोनम की सूची के लिए फ़ोन पेज देखें.

<phoneme> टैग का हर ऐप्लिकेशन, किसी एक शब्द का उच्चारण करता है:

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

तनाव मार्कर

ट्रांसक्रिप्शन में, स्ट्रेस के तीन लेवल तक रखे जा सकते हैं:

  1. मुख्य तनाव: इसे आईपीए में ˈ और X-SAMPA में " से दिखाया जाता है.
  2. सेकंडरी स्ट्रेस: इसे आईपीए में ˌ और X-SAMPA में % से दिखाया जाता है.
  3. अनस्ट्रेस्ड: इसे किसी भी चिह्न (किसी भी संकेतन में) के साथ नहीं दिखाया जाता है.

कुछ भाषाओं में तीन से कम लेवल हो सकते हैं या ऐसा हो सकता है कि उन भाषाओं में स्ट्रेस प्लेसमेंट की कोई जानकारी न हो. अपनी भाषा के लिए उपलब्ध तनाव का स्तर देखने के लिए फ़ोनम पेज देखें. स्ट्रेस मार्कर हर तनाव वाले शब्दांश की शुरुआत में लगाए जाते हैं. उदाहरण के लिए, अमेरिकन इंग्लिश में:

उदाहरण के लिए शब्द आईपीए एक्स-सैम्पा
पानी ˈwɑːtɚ "wA:t@`
पानी के अंदर ˌʌndɚˈwɑːtɚ %Vnd@"wA:t@

ट्रांसक्रिप्ट का ब्रॉड बनाम छोटा ट्रांसक्रिप्शन

सामान्य नियम के तौर पर, अपने ट्रांसक्रिप्ट को ज़्यादा बड़ा और फ़ोनेटिक रखें. उदाहरण के लिए, अमेरिकन इंग्लिश में, इंटरवोकलिक t को ट्रांसक्राइब करें (टैप करने के बजाय):

उदाहरण के लिए शब्द आईपीए एक्स-सैम्पा
मक्खन ˈbʌɾɚ के बजाय, ˈbʌtɚ "bV4@` के बजाय, "bVt@`

कुछ ऐसे मामले होते हैं जिनमें टीटीएस के इस्तेमाल से, आपके टीटीएस के नतीजों को अजीब लगता है (उदाहरण के लिए, अगर फ़ोनम के क्रम को बोलना मुश्किल हो).

इसका एक उदाहरण है, s के लिए अंग्रेज़ी में वॉइसओवर करना. इस मामले में, ट्रांसक्रिप्शन में यह शामिल होना चाहिए:

उदाहरण के लिए शब्द आईपीए एक्स-सैम्पा
बिल्लियां ˈkæts "k{ts
कुत्ते ˈdɑːgs के बजाय, ˈdɑːgz "dA:gs के बजाय, "dA:gz

रिडक्शन

हर शब्दांश में एक (और सिर्फ़ एक) स्वर होना चाहिए. इसका मतलब है कि आपको शब्दिक व्यंजनों के इस्तेमाल से बचना चाहिए. इसके बजाय, इन वाक्यों को कम स्वर में लिखना चाहिए. उदाहरण के लिए:

उदाहरण के लिए शब्द आईपीए एक्स-सैम्पा
किटन ˈkɪtn के बजाय, ˈkɪtən "kitn के बजाय, "kIt@n
केतली ˈkɛtl के बजाय, ˈkɛtəl "kEtl के बजाय, "kEt@l

सिलेबिफ़िकेशन

. का इस्तेमाल करके, वैकल्पिक तौर पर शब्दों वाली सीमाएं तय की जा सकती हैं. हर शब्दांश में एक (और सिर्फ़ एक) स्वर होना चाहिए. उदाहरण के लिए:

उदाहरण के लिए शब्द आईपीए एक्स-सैम्पा
रीडेबिलिटी ˌɹiː.də.ˈbɪ.lə.tiː %r\i:.d@."bI.l@.ti:

अवधि

Actions on Google प्लैटफ़ॉर्म, अवधि को सही तरीके से पढ़ने के लिए <say-as interpret-as="duration"> का इस्तेमाल करता है. उदाहरण के लिए, नीचे दिया गया उदाहरण "पांच घंटे और तीस मिनट" के तौर पर बताया जाएगा:

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

फ़ॉर्मैट स्ट्रिंग में ये वैल्यू इस्तेमाल की जा सकती हैं:

छोटा रूप वैल्यू
h घंटे
मि° मिनट
से° सेकंड
ms मिलीसेकंड

<voice>

<voice> टैग की मदद से, किसी एसएसएमएल अनुरोध में एक से ज़्यादा आवाज़ों का इस्तेमाल किया जा सकता है. यहां दिए गए उदाहरण में, डिफ़ॉल्ट आवाज़ अंग्रेज़ी पुरुष की आवाज़ है. "que'est-ce qui t'amèneici" को छोड़कर, इस आवाज़ में सभी शब्द संश्लेषित किए जाएंगे, जिसे डिफ़ॉल्ट भाषा (अंग्रेज़ी) और लिंग (पुरुष) के बजाय, महिला की आवाज़ का इस्तेमाल करके फ़्रेंच में बताया जाएगा.

<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>

इसके अलावा, language और/या gender की जानकारी देने के बजाय, <voice> टैग का इस्तेमाल करके किसी एक आवाज़ (इस्तेमाल की जा सकने वाली आवाज़ों और भाषाओं वाले पेज पर मौजूद आवाज़ का नाम) के बारे में बताया जा सकता है:

<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> टैग का इस्तेमाल किया जाता है, तो Actions on Google को यह उम्मीद करनी होती है कि name (उस आवाज़ का नाम जिसका आप इस्तेमाल करना चाहते हैं) या इन एट्रिब्यूट का एक मिला-जुला रूप मिलेगा. तीनों एट्रिब्यूट ज़रूरी नहीं हैं. हालांकि, name न देने पर, आपको कम से कम एक एट्रिब्यूट देना होगा.

  • gender: male, female या neutral में से कोई एक.
  • variant: इसका इस्तेमाल टाईब्रेकर के तौर पर तब किया जाता है, जब कॉन्फ़िगरेशन के हिसाब से कौनसी आवाज़ इस्तेमाल की जा सकती है.
  • language: आपकी पसंदीदा भाषा. किसी <voice> टैग में, सिर्फ़ एक भाषा के बारे में बताया जा सकता है. अपनी भाषा को BCP-47 फ़ॉर्मैट में बताएं. इस्तेमाल की जा सकने वाली वॉइस और भाषाओं की जानकारी वाले पेज पर, भाषा का कोड कॉलम में अपनी भाषा के लिए BCP-47 कोड देखें.

दो अतिरिक्त टैग: required और ordering का इस्तेमाल करके भी gender, variant, और language एट्रिब्यूट की प्राथमिकता को कंट्रोल किया जा सकता है.

  • required: अगर किसी एट्रिब्यूट को required के तौर पर तय किया गया है और उसे ठीक से कॉन्फ़िगर नहीं किया गया है, तो अनुरोध स्वीकार नहीं किया जा सकता.
  • ordering: ordering टैग के बाद लिस्ट किए गए सभी एट्रिब्यूट, ज़रूरी के बजाय पसंदीदा एट्रिब्यूट माने जाते हैं. एसएसएमएल, ordering टैग के बाद सूची में दिए गए क्रम के हिसाब से, पसंदीदा एट्रिब्यूट को सबसे सही तरीके से देखता है. अगर किसी पसंदीदा एट्रिब्यूट को गलत तरीके से कॉन्फ़िगर किया गया है, तो Actions on Google अब भी सही आवाज़ दिखा सकता है. हालांकि, कॉन्फ़िगरेशन गलत होने पर भी ऐसा हो सकता है.

required और ordering टैग का इस्तेमाल करने वाले कॉन्फ़िगरेशन के उदाहरण:

<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>

एक ही एसएसएमएल अनुरोध में कई भाषाओं में टेक्स्ट शामिल करने के लिए, <lang> का इस्तेमाल किया जा सकता है. सभी भाषाओं को एक ही आवाज़ में सिंक किया जाएगा. ऐसा तब तक होगा, जब तक आवाज़ को साफ़ तौर पर बदलने के लिए <voice> टैग का इस्तेमाल नहीं किया जाता. xml:lang स्ट्रिंग में, टारगेट भाषा BCP-47 फ़ॉर्मैट में होनी चाहिए. यह वैल्यू, इस्तेमाल की जा सकने वाली वॉइस टेबल में "भाषा के कोड" के तौर पर दी गई है. नीचे दिए गए उदाहरण में, "चैट" को डिफ़ॉल्ट भाषा (अंग्रेज़ी) के बजाय फ़्रेंच में पढ़कर सुनाया जाएगा:

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

Actions on Google प्लैटफ़ॉर्म, <lang> टैग के साथ काम करता है. हालांकि, यह बेहतर तरीके से किया जा सकता है. एक ही एसएसएमएल अनुरोध में बताए जाने पर, सभी भाषाओं के कॉम्बिनेशन एक जैसे क्वालिटी वाले नतीजे नहीं देते. कुछ मामलों में, भाषा के कॉम्बिनेशन से ऐसा असर पड़ सकता है जो आसानी से पहचाना जा सकता है, लेकिन उसे बहुत कम या नकारात्मक माना जाता है. आम तौर पर होने वाली समस्याएं:

  • <lang> टैग के साथ, कांजी वर्णों वाले जैपनीज़ में काम नहीं करता. इनपुट को ट्रांसलिट्रेट किया जाता है और उसे चाइनीज़ वर्णों के तौर पर पढ़ा जाता है.
  • ऐरेबिक, हिब्रू, और फ़ारसी जैसी सेमिटिक भाषाओं के लिए <lang> टैग काम नहीं करता. इसलिए, इन भाषाओं में आवाज़ बंद हो जाएगी. अगर आपको इनमें से किसी भी भाषा का इस्तेमाल करना है, तो हमारा सुझाव है कि अपनी पसंद की भाषा बोलने वाली आवाज़ (अगर उपलब्ध हो) पर स्विच करने के लिए, <voice> टैग का इस्तेमाल करें.