طراحی یک خط لوله (Pipeline) TTS با رویکرد نمونه‌محور (Sample-First)

تبدیل یک جمله کوتاه به صدا کار آسانی است. متن را به یک سرویس می‌فرستید، یک صدا را انتخاب می‌کنید و فایل را دریافت می‌کنید.

متن‌های طولانی متفاوت هستند. وقتی از جملات کوتاه به سمت کتاب‌ها یا مقالات طولانی می‌روید، سیستم با موانع جدیدی روبرو می‌شود. شما باید ساختار، سرعت بیان (pacing) و نویزهای ناشی از قالب‌بندی را مدیریت کنید.

من این موضوع را هنگام ساخت سیستم تولید محتوا به سبک کتاب صوتی یاد گرفتم. در ابتدا با گردش کار (workflow) به عنوان یک مرحله واحد برخورد می‌کردم؛ متن را می‌فرستادم و انتظار صدا داشتم. این روش برای محتوای طولانی شکست خورد.

پاراگراف‌هایی که روی صفحه نمایش خوب به نظر می‌رسند، اغلب هنگام خوانده شدن سنگین و خسته‌کننده هستند. تیترها در جملات ادغام می‌شوند. دیالوگ‌ها گیج‌کننده می‌شوند. متن‌های وب اغلب شامل قالب‌بندی‌های پنهانی هستند که جریان صدا را خراب می‌کنند.

مدل صوتی به ندرت تنها مشکل است. اغلب، متن ورودی صرفاً برای تبدیل شدن به صدا آماده نیست.

TTS برای متن‌های طولانی به یک خط لوله (pipeline) نیاز دارد، نه یک فراخوانی واحد. از یک گردش کار نمونه‌محور (sample-first) استفاده کنید.

این مراحل را دنبال کنید:

ابتدا متن را پاکسازی کنید. اگر محتوایی را از یک فایل PDF یا یک وب‌سایت کپی می‌کنید، آن متن حاوی نویز است. شماره صفحات، سرتیترهای تکراری و آیتم‌های منو، تجربه شنیداری را مختل می‌کنند. پاکسازی باید قبل از تولید صدا انجام شود. وقتی صدا ایجاد شد، اصلاح خطاهای متنی هزینه‌بر و کند خواهد بود.

سپس، ساختار را اصلاح کنید. مردم متفاوت از آنچه می‌خوانند، گوش می‌دهند. خوانندگان می‌توانند متن را سریع مرور کنند یا دوباره بخوانند، اما شنوندگان به سرعت بیان و مکث‌ها متکی هستند.

متن خود را به بلوک‌ها تقسیم کنید. هر بلوک باید نشان‌دهنده یک واحد شنیداری باشد. برای متون غیرداستانی، این می‌تواند یک ایده باشد و برای متون داستانی، یک ضرب‌آهنگ صحنه (scene beat).

تولید محتوا بر پایه بلوک، به مهندسان نیز کمک می‌کند. این کار به شما اجازه می‌دهد بخش‌های ناموفق را دوباره امتحان کنید، خروجی‌ها را کش (cache) کنید و قطعات را به راحتی به هم متصل کنید.

مهم‌ترین مرحله، پیش‌نمایش است. ابتدا کل صدا را تولید نکنید. یک نمونه کوتاه، کیفیت تجربه را تایید می‌کند و به سوالاتی پاسخ می‌دهد که متن به تنهایی نمی‌تواند:

اگر یک نمونه کوتاه بد به نظر می‌رسد، فقط صدا را عوض نکنید؛ بلکه متن اصلی را اصلاح کنید. حذف یک نام که اشتباه تلفظ شده در یک نمونه، شما را از اصلاح ده‌ها باره آن در یک کتاب کامل نجات می‌دهد.

یک گردش کار نمونه‌محور، خطاها را کاهش داده و هزینه‌ها را پایین می‌آورد. این کار فرآیند را برای کاربر ایمن‌تر و برای سیستم آسان‌تر می‌کند.

کیفیت صدای شما حتی پیش از شروع فرآیند تولید شکل می‌گیرد. این کیفیت از ورودی آغاز می‌شود.

منبع: https://dev.to/w_gregorin_f9af40278cc86d/designing-a-sample-first-tts-pipeline-for-long-form-text-3543