স্পিচ সিন্থেসিস মার্কআপ ল্যাঙ্গুয়েজ (SSML) রেফারেন্স (বিটা)

অ্যাকশন অন গুগল প্ল্যাটফর্ম অ্যাকশন অন Google স্ট্যান্ডার্ড SSML উপাদান ছাড়াও বেশ কয়েকটি SSML বিটা বৈশিষ্ট্য সমর্থন করে।

সমর্থিত বিটা SSML বৈশিষ্ট্যগুলির সারাংশ:

  • <phoneme> : নির্দিষ্ট শব্দের উচ্চারণ কাস্টমাইজ করুন।
  • <say-as interpret-as="duration"> : সময়কাল নির্দিষ্ট করুন।
  • <voice> : একই অনুরোধে ভয়েসের মধ্যে স্যুইচ করুন।
  • <lang> : একই অনুরোধে একাধিক ভাষা ব্যবহার করুন।
  • টাইমপয়েন্ট: আপনার ট্রান্সক্রিপ্টে একটি নির্দিষ্ট পয়েন্টের টাইমপয়েন্ট ফেরত দিতে <mark> ট্যাগ ব্যবহার করুন।

<phoneme>

আপনি ইনলাইনে শব্দের কাস্টম উচ্চারণ তৈরি করতে <phoneme> ট্যাগ ব্যবহার করতে পারেন। অ্যাকশন অন Google IPA এবং 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. প্রাথমিক চাপ : IPA-তে ˈ এবং " X-SAMPA-তে" দ্বারা চিহ্নিত করা হয়েছে।
  2. সেকেন্ডারি স্ট্রেস : IPA-তে ˌ এবং X-SAMPA-তে % দ্বারা চিহ্নিত।
  3. আনস্ট্রেসড : চিহ্ন দিয়ে বোঝানো হয় না (কোনও নোটেশনে)।

কিছু ভাষায় তিন স্তরের কম থাকতে পারে বা স্ট্রেস প্লেসমেন্টকে মোটেও বোঝায় না। আপনার ভাষার জন্য উপলব্ধ চাপের মাত্রা দেখতে ফোনমেস পৃষ্ঠাটি দেখুন। স্ট্রেস মার্কার প্রতিটি চাপযুক্ত শব্দাংশের শুরুতে স্থাপন করা হয়। উদাহরণস্বরূপ, মার্কিন ইংরেজিতে:

উদাহরণ শব্দ আইপিএ এক্স-সাম্পা
জল ˈwɑːtɚ "wA:t@`
পানির নিচে ˌʌndɚˈwɑːtɚ %Vnd@"wA:t@

বিস্তৃত বনাম সংকীর্ণ প্রতিলিপি

একটি সাধারণ নিয়ম হিসাবে, আপনার ট্রান্সক্রিপশনগুলিকে আরও বিস্তৃত এবং ধ্বনিমূলক প্রকৃতিতে রাখুন। উদাহরণস্বরূপ, ইউএস ইংরেজিতে, ইন্টারভোকালিক t ট্রান্সক্রাইব করুন (একটি ট্যাপ ব্যবহার করার পরিবর্তে):

উদাহরণ শব্দ আইপিএ এক্স-সাম্পা
মাখন ˈbʌɾɚ এর পরিবর্তে ˈbʌtɚ " "bV4@` "bVt@`

কিছু দৃষ্টান্ত রয়েছে যেখানে ধ্বনিগত উপস্থাপনা ব্যবহার করলে আপনার TTS ফলাফলগুলি অপ্রাকৃতিক শোনায় (উদাহরণস্বরূপ, যদি ধ্বনিগুলির ক্রমটি শারীরবৃত্তীয়ভাবে উচ্চারণ করা কঠিন হয়)।

এর একটি উদাহরণ হল ইংরেজিতে s জন্য ভয়েসিং অ্যাসিমিলেশন। এই ক্ষেত্রে আত্তীকরণটি প্রতিলিপিতে প্রতিফলিত হওয়া উচিত:

উদাহরণ শব্দ আইপিএ এক্স-সাম্পা
বিড়াল ˈkæts "k{ts
কুকুর ˈdɑːgs এর পরিবর্তে ˈdɑːgz "dA:gz এর পরিবর্তে "dA:gs

হ্রাস

প্রতিটি শব্দাংশে একটি (এবং শুধুমাত্র একটি) স্বর থাকতে হবে। এর মানে হল যে আপনার সিলেবিক ব্যঞ্জনবর্ণগুলি এড়ানো উচিত এবং পরিবর্তে একটি হ্রাস স্বর দিয়ে তাদের প্রতিলিপি করা উচিত। যেমন:

উদাহরণ শব্দ আইপিএ এক্স-সাম্পা
বিড়ালছানা ˈkɪtn এর পরিবর্তে ˈkɪtən "kitn এর পরিবর্তে "kIt@n
কেটলি ˈkɛtl পরিবর্তে ˈkɛtəl "kEt@l এর পরিবর্তে "kEtl

সিলেবিফিকেশন

আপনি বিকল্পভাবে ব্যবহার করে শব্দাংশের সীমানা নির্দিষ্ট করতে পারেন . . প্রতিটি শব্দাংশে একটি (এবং শুধুমাত্র একটি) স্বর থাকতে হবে। যেমন:

উদাহরণ শব্দ আইপিএ এক্স-সাম্পা
পঠনযোগ্যতা ˌɹiː.də.ˈbɪ.lə.tiː %r\i:.d@."bI.l@.ti:

সময়কাল

অ্যাকশন অন Google প্ল্যাটফর্ম <say-as interpret-as="duration"> সময়কাল সঠিকভাবে পড়তে সমর্থন করে। উদাহরণস্বরূপ, নিম্নলিখিত উদাহরণটি "পাঁচ ঘন্টা এবং ত্রিশ মিনিট" হিসাবে মৌখিক করা হবে:

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

বিন্যাস স্ট্রিং নিম্নলিখিত মান সমর্থন করে:

সংক্ষিপ্ত রূপ মান
ঘন্টা
মি মিনিট
s সেকেন্ড
ms মিলিসেকেন্ড

<voice>

<voice> ট্যাগ আপনাকে একটি একক SSML অনুরোধে একাধিক ভয়েস ব্যবহার করতে দেয়। নিম্নলিখিত উদাহরণে, ডিফল্ট ভয়েস হল একটি ইংরেজি পুরুষ ভয়েস। "qu'est-ce qui t'amène ici" ব্যতীত সমস্ত শব্দ এই কণ্ঠে সংশ্লেষিত হবে, যা ডিফল্ট ভাষা (ইংরেজি) এবং লিঙ্গ (পুরুষ) এর পরিবর্তে একটি মহিলা ভয়েস ব্যবহার করে ফরাসি ভাষায় মৌখিক করা হবে।

<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> ট্যাগ ব্যবহার করেন, তখন অ্যাকশনস অন Google একটি name (আপনি যে ভয়েসটি ব্যবহার করতে চান তার নাম ) বা নিম্নলিখিত বৈশিষ্ট্যগুলির সংমিশ্রণ পাওয়ার আশা করে৷ তিনটি বৈশিষ্ট্যই ঐচ্ছিক কিন্তু যদি আপনি একটি name না দেন তাহলে আপনাকে অবশ্যই অন্তত একটি প্রদান করতে হবে।

  • gender : male , female বা neutral
  • variant : আপনার কনফিগারেশনের উপর ভিত্তি করে কোন ভয়েস ব্যবহার করার একাধিক সম্ভাবনা রয়েছে এমন ক্ষেত্রে টাইব্রেকার হিসাবে ব্যবহৃত হয়।
  • language : আপনার পছন্দসই ভাষা। একটি প্রদত্ত <voice> ট্যাগে শুধুমাত্র একটি ভাষা নির্দিষ্ট করা যেতে পারে। BCP-47 বিন্যাসে আপনার ভাষা উল্লেখ করুন। আপনি সমর্থিত ভয়েস এবং ভাষা পৃষ্ঠায় ভাষা কোড কলামে আপনার ভাষার জন্য BCP-47 কোড খুঁজে পেতে পারেন।

আপনি দুটি অতিরিক্ত ট্যাগ ব্যবহার করে প্রতিটি gender , variant এবং language বৈশিষ্ট্যগুলির আপেক্ষিক অগ্রাধিকার নিয়ন্ত্রণ করতে পারেন: required এবং ordering

  • required : যদি একটি বৈশিষ্ট্য required হিসাবে মনোনীত করা হয় এবং সঠিকভাবে কনফিগার করা না হয়, অনুরোধটি ব্যর্থ হয়।
  • ordering : ordering ট্যাগের পরে তালিকাভুক্ত যে কোনও বৈশিষ্ট্য প্রয়োজনের পরিবর্তে পছন্দের বৈশিষ্ট্য হিসাবে বিবেচিত হয়। SSML পছন্দের বৈশিষ্ট্যগুলিকে সেরা প্রচেষ্টার ভিত্তিতে বিবেচনা করে যাতে সেগুলি ordering ট্যাগের পরে তালিকাভুক্ত হয়৷ যদি কোনো পছন্দের গুণাবলী ভুলভাবে কনফিগার করা হয়, তবে অ্যাকশনস অন 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>

আপনি একই SSML অনুরোধের মধ্যে একাধিক ভাষায় পাঠ্য অন্তর্ভুক্ত করতে <lang> ব্যবহার করতে পারেন। সমস্ত ভাষা একই কণ্ঠে সংশ্লেষিত হবে যদি না আপনি স্পষ্টভাবে ভয়েস পরিবর্তন করতে <voice> ট্যাগ ব্যবহার করেন। xml:lang স্ট্রিংটিতে BCP-47 ফর্ম্যাটে লক্ষ্য ভাষা থাকতে হবে (এই মানটি সমর্থিত ভয়েস টেবিলে "ভাষা কোড" হিসাবে তালিকাভুক্ত করা হয়েছে)। নিম্নলিখিত উদাহরণে "চ্যাট" ডিফল্ট ভাষার (ইংরেজি) পরিবর্তে ফরাসি ভাষায় মৌখিক করা হবে:

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

Google প্ল্যাটফর্মে অ্যাকশনগুলি সর্বোত্তম প্রচেষ্টার ভিত্তিতে <lang> ট্যাগকে সমর্থন করে। একই SSML অনুরোধে উল্লেখ করা থাকলে সমস্ত ভাষার সমন্বয় একই মানের ফলাফল দেয় না। কিছু ক্ষেত্রে, একটি ভাষার সংমিশ্রণ এমন একটি প্রভাব তৈরি করতে পারে যা সনাক্তযোগ্য কিন্তু সূক্ষ্ম বা নেতিবাচক হিসাবে অনুভূত হয়। পরিচিত সমস্যা:

  • কাঞ্জি অক্ষর সহ জাপানি <lang> ট্যাগ দ্বারা সমর্থিত নয়। ইনপুট লিপিলিপি করা হয় এবং চীনা অক্ষর হিসাবে পড়া হয়।
  • সেমিটিক ভাষা যেমন আরবি, হিব্রু এবং ফার্সি <lang> ট্যাগ দ্বারা সমর্থিত নয় এবং এর ফলে নীরবতা আসবে। আপনি যদি এই ভাষাগুলির মধ্যে যেকোনো একটি ব্যবহার করতে চান তবে আমরা আপনার পছন্দসই ভাষাতে কথা বলার জন্য <voice> ট্যাগ ব্যবহার করার পরামর্শ দিই (যদি উপলব্ধ থাকে)।