در این آموزش، ما یک راه حل کامل برای تبدیل متن به صوت با استفاده از یک مدل متنبهگفتار (TTS) متنباز موجود در Hugging Face را نشان میدهیم. با بهرهگیری از قابلیتهای کتابخانه Coqui TTS، این آموزش شما را در مراحل اولیه یک مدل TTS پیشرفته (در مورد ما، "tts_models/en/ljspeech/tacotron2-DDC")، پردازش متن ورودی و ذخیره ترکیب حاصل به عنوان یک فایل صوتی WAV با کیفیت بالا راهنمایی میکند. علاوه بر این، ابزارهای پردازش صوتی پایتون، از جمله ماژول wave و context managerها را برای تجزیه و تحلیل ویژگیهای کلیدی فایل صوتی مانند مدت زمان، نرخ نمونهبرداری، عرض نمونه و پیکربندی کانال ادغام میکنیم. این راهنمای گام به گام برای مبتدیان و توسعهدهندگان پیشرفته طراحی شده است که میخواهند درک کنند که چگونه میتوان از متن گفتار تولید کرد و تجزیه و تحلیل تشخیصی اولیه را روی خروجی انجام داد.
!pip install TTS کتابخانه Coqui TTS را نصب میکند و به شما امکان میدهد از مدلهای متنبهگفتار متنباز برای تبدیل متن به صوت با کیفیت بالا استفاده کنید. این اطمینان میدهد که تمام وابستگیهای لازم در محیط پایتون شما در دسترس هستند و به شما امکان میدهد تا به سرعت با عملکردهای مختلف TTS آزمایش کنید.
ما ماژولهای ضروری را وارد میکنیم: TTS از API TTS برای ترکیب متن به گفتار با استفاده از مدلهای Hugging Face و ماژولهای داخلی contextlib و wave برای باز کردن و تجزیه و تحلیل ایمن فایلهای صوتی WAV.
تابع text_to_speech یک رشته متن را به همراه یک مسیر فایل خروجی اختیاری و یک flag استفاده از GPU میپذیرد و از مدل Coqui TTS (مشخص شده به عنوان "tts_models/en/ljspeech/tacotron2-DDC") برای ترکیب متن ارائه شده به یک فایل صوتی WAV استفاده میکند. پس از تبدیل موفقیتآمیز، یک پیام تأیید چاپ میکند که نشان میدهد فایل صوتی در کجا ذخیره شده است.
تابع analyze_audio یک فایل WAV مشخص شده را باز میکند و پارامترهای کلیدی صوتی مانند مدت زمان، نرخ فریم، عرض نمونه و تعداد کانالها را با استفاده از ماژول wave پایتون استخراج میکند. سپس این جزئیات را در یک خلاصه مرتب قالببندی شده چاپ میکند و به شما کمک میکند تا ویژگیهای فنی خروجی صوتی سنتز شده را تأیید و درک کنید.
بلاک if __name__ == "__main__": به عنوان نقطه ورودی اسکریپت هنگام اجرای مستقیم عمل میکند. این بخش یک متن نمونه را تعریف میکند که یک پلتفرم خبری هوش مصنوعی را توصیف میکند. تابع text_to_speech برای ترکیب این متن به یک فایل صوتی به نام "output.wav" فراخوانی میشود و در نهایت، تابع analyze_audio برای چاپ پارامترهای دقیق صدا فراخوانی میشود.
در خاتمه، این پیادهسازی نشان میدهد که چگونه میتوان به طور موثر از ابزارها و کتابخانههای TTS متنباز برای تبدیل متن به صوت استفاده کرد و در عین حال تجزیه و تحلیل تشخیصی را بر روی فایل صوتی حاصل انجام داد. با ادغام مدلهای Hugging Face از طریق کتابخانه Coqui TTS با قابلیتهای پردازش صوتی قوی پایتون، شما یک گردش کار جامع به دست میآورید که گفتار را به طور کارآمد سنتز میکند و کیفیت و عملکرد آن را تأیید میکند. چه هدف شما ساختن عوامل مکالمه، خودکارسازی پاسخهای صوتی یا صرفاً کشف تفاوتهای ظریف ترکیب گفتار باشد، این آموزش یک پایه محکم را ایجاد میکند که میتوانید به راحتی آن را سفارشی کرده و در صورت نیاز گسترش دهید.
در اینجا Colab Notebook قرار دارد. همچنین، فراموش نکنید که ما را در توییتر دنبال کنید و به کانال تلگرام و گروه لینکدین ما بپیوندید. فراموش نکنید که به سابردیت ۸۵k+ ML ما بپیوندید.