একটি স্যাম্পল-ফার্স্ট TTS পাইপলাইন ডিজাইন করা

একটি ছোট বাক্যকে অডিওতে রূপান্তর করা সহজ। আপনি একটি সার্ভিসে টেক্সট পাঠান, একটি ভয়েস পছন্দ করেন এবং একটি ফাইল পান।

লং-ফর্ম টেক্সট সম্পূর্ণ আলাদা। যখন আপনি বাক্য থেকে বই বা দীর্ঘ নিবন্ধের দিকে যান, তখন সিস্টেম নতুন কিছু বাধার সম্মুখীন হয়। আপনাকে গঠন (structure), গতি (pacing) এবং ফরম্যাটিং সংক্রান্ত নয়েজ (noise) সামলাতে হবে।

অডিওবুক-স্টাইল জেনারেশন তৈরির সময় আমি এটি শিখেছি। শুরুতে আমি ওয়ার্কফ্লোটিকে একটি একক ধাপ হিসেবে বিবেচনা করতাম। আমি টেক্সট পাঠাতাম এবং অডিও আশা করতাম। দীর্ঘ কন্টেন্টের ক্ষেত্রে এটি ব্যর্থ হয়েছিল।

স্ক্রিনে দেখতে ভালো লাগে এমন প্যারাগ্রাফগুলো কথা বলার সময় প্রায়শই ভারী বা শ্রুতিকটু শোনায়। হেডিংগুলো বাক্যের সাথে মিশে যায়। সংলাপ বিভ্রান্তিকর হয়ে ওঠে। ওয়েব টেক্সটে প্রায়শই এমন কিছু লুকানো ফরম্যাটিং থাকে যা প্রবাহ নষ্ট করে দেয়।

ভয়েস মডেল খুব কমই একমাত্র সমস্যা হয়। প্রায়শই ইনপুট টেক্সটটি অডিওর জন্য প্রস্তুত থাকে না।

লং-ফর্ম TTS-এর জন্য একটি পাইপলাইন প্রয়োজন, একটি একক কল নয়। একটি স্যাম্পল-ফার্স্ট (sample-first) ওয়ার্কফ্লো ব্যবহার করুন।

এই ধাপগুলো অনুসরণ করুন:

প্রথমে টেক্সট পরিষ্কার করুন। আপনি যদি কোনো PDF বা ওয়েবসাইট থেকে কন্টেন্ট পেস্ট করেন, তবে তাতে নয়েজ থাকতে পারে। পৃষ্ঠা নম্বর, বারবার আসা হেডার এবং মেনু আইটেমগুলো শোনার অভিজ্ঞতা নষ্ট করে দেয়। অডিও জেনারেট করার আগেই ক্লিনিং বা পরিষ্কার করা সম্পন্ন করতে হবে। একবার অডিও তৈরি হয়ে গেলে, টেক্সটের ভুল সংশোধন করা ব্যয়বহুল এবং ধীরগতির হয়ে পড়ে।

এরপর, গঠন (structure) ঠিক করুন। মানুষ যেভাবে পড়ে, যেভাবে শোনে তা এক নয়। পাঠকরা দ্রুত দেখে নিতে পারেন বা পুনরায় পড়তে পারেন। শ্রোতারা মূলত গতি (pacing) এবং বিরতির (pauses) ওপর নির্ভর করেন।

আপনার টেক্সটকে ব্লকে বিভক্ত করুন। একটি ব্লক একটি শোনার একক (listening unit) হিসেবে কাজ করা উচিত। নন-ফিকশনের ক্ষেত্রে এটি একটি ধারণা (idea), আর ফিকশনের ক্ষেত্রে এটি একটি সিন বিট (scene beat)।

ব্লক-ভিত্তিক জেনারেশন ইঞ্জিনিয়ারদেরও সাহায্য করে। এটি আপনাকে ব্যর্থ হওয়া অংশগুলো পুনরায় চেষ্টা করতে, আউটপুট ক্যাশ করতে এবং সেগমেন্টগুলোকে সহজেই একসাথে জোড়া দিতে সাহায্য করে।

সবচেয়ে গুরুত্বপূর্ণ ধাপ হলো প্রিভিউ। প্রথমে পুরো অডিও জেনারেট করবেন না। একটি ছোট স্যাম্পল অভিজ্ঞতাটি যাচাই করে দেয়। এটি এমন কিছু প্রশ্নের উত্তর দেয় যা কেবল টেক্সট দিয়ে সম্ভব নয়:

যদি একটি ছোট স্যাম্পল শুনতে খারাপ লাগে, তবে শুধু ভয়েস পরিবর্তন করবেন না। মূল টেক্সটটি ঠিক করুন। একটি স্যাম্পলে ভুল উচ্চারিত একটি নাম সরিয়ে ফেললে, আপনাকে পুরো বইয়ে বারবার সেটি সংশোধন করতে হবে না।

একটি স্যাম্পল-ফার্স্ট ওয়ার্কফ্লো ভুল কমায় এবং খরচ হ্রাস করে। এটি ব্যবহারকারীর জন্য প্রক্রিয়াটিকে নিরাপদ এবং সিস্টেমের জন্য সহজ করে তোলে।

আপনার অডিওর গুণমান জেনারেশন শুরু হওয়ার আগেই শুরু হয়। এর শুরু হয় ইনপুট থেকে।

উৎস: https://dev.to/w_gregorin_f9af40278cc86d/designing-a-sample-first-tts-pipeline-for-long-form-text-3543