» هوش مصنوعی » Tortoise-TTS: یک سیستم تبدیل متن به گفتار جدید با کیفیت و تنوع بالا
هوش مصنوعی

Tortoise-TTS: یک سیستم تبدیل متن به گفتار جدید با کیفیت و تنوع بالا

دی 11, 1348 1052

Tortoise-TTS یک سیستم تبدیل متن به گفتار جدید است که قادر به تولید گفتار با کیفیت بالا و صدای طبیعی است. این مجموعه بر روی یک مجموعه داده متنی و صوتی بزرگ آموزش داده شده است و می تواند طیف گسترده ای از صداها از جمله صداهای مردانه، زنانه و کودکان را تولید کند. Tortoise-TTS همچنین سریع و کارآمد است و برای طیف وسیعی از کاربردها مانند تالیف کتاب‌های صوتی، پادکست و امکان دسترسی برای افراد دارای معلولیت مناسب است.

Trtoise-TTS چیست

Tortoise یک سیستم TTS بسیار رسا با قابلیت کپی صدای عالی است. این بر روی یک مدل آکوستیک خودکار مشابه GPT ساخته شده است که متن ورودی را به نشانه‌های آکویستیک تفکیک‌شده تبدیل می‌کند، یک مدل انتشار که این نشانه‌ها را به فریم‌های طیف‌گرام تبدیل می‌کند، و یک Vocoder Univnet که طیف‌نگارها را به خروجی صوتی نهایی تبدیل می‌کند. نقطه ضعف اصلی این است که لاک پشت در مقایسه با روش های TTS موازی مانند VITS بسیار کند است.

نحوه نصب Tortoise-TTS

  1. نصب PyTorch: دستورالعمل های ارائه شده در https://pytorch.org/get-started/locally/ را برای نصب PyTorch دنبال کنید. توصیه می شود برای جلوگیری از مشکلات وابستگی از مسیر نصب Conda در ویندوز استفاده کنید.
  2. Tortoise TTS و وابستگی های آن را نصب کنید:
git clone https://github.com/neonbjb/tortoise-tts.git
سی دی لاک پشت
python -m pip install -r ./requirements.txt
python setup.py install
  1. اگر از ویندوز استفاده می کنید، باید pysoundfile را نیز نصب کنید:
conda install -c conda-forge pysoundfile
  1. از اسکریپت do_tts.py برای بیان یک عبارت استفاده کنید:
python tortoise/do_tts.py --text "I'm going to speak this" --voice random --preset fast
  1. از اسکریپت read.py برای خواندن مقادیر زیادی متن استفاده کنید:
python tortoise/read.py --textfile  --صدا تصادفی

را با مسیر فایل متنی که می خواهید به گفتار تبدیل کنید، جایگزین کنید. اسکریپت کلیپ‌های گفتاری تولید می‌کند و آن‌ها را در یک فایل خروجی ترکیب می‌کند. اگر کلیپ‌ها مشکلی دارند، می‌توانید با اجرای read.py با آرگومان --regenerate آن‌ها را بازسازی کنید.

  1. از Tortoise TTS بصورت برنامه نویسی از طریق API استفاده کنید:
وارد کردن tortoise.api به عنوان api
واردات turtoise.utils به عنوان utils

reference_clips = [utils.audio.load_audio(p, 22050) برای p در clips_paths]
tts = api.TextToSpeech()
pcm_audio = tts.tts_with_preset("متن شما اینجا"، voice_samples=reference_clips، preset='fast')

می توانید از Tortoise TTS API برای تولید گفتار به صورت برنامه ای استفاده کنید. متنی را که می خواهید به گفتار تبدیل کنید به عنوان ورودی ارائه دهید.

لطفاً توجه داشته باشید که استفاده از Tortoise TTS به GPU NVIDIA نیاز دارد. اگر پردازنده گرافیکی NVIDIA ندارید، ممکن است با محدودیت‌ها یا مشکلات عملکردی مواجه شوید.

راهنمای سفارشی‌سازی صدا

لاک پشت در درجه اول به عنوان یک مدل چند بلندگو آموزش دیده بود. این کار با استفاده از کلیپ های مرجع انجام می شود.

اینها صدای ضبط شده یک بلندگو هستند که برای کمک به ایجاد گفتار ارائه می‌کنید. این کلیپ ها برای شناسایی چندین ویژگی خروجی، مانند زیر و بم صدا، سرعت صحبت کردن، و حتی ایرادات صحبت کردن مانند لب یا لکنت استفاده می شوند. کلیپ مرجع همچنین برای ارزیابی ویژگی‌های غیر صوتی خروجی صدا مانند بلندی صدا، نویز پس‌زمینه، کیفیت ضبط و طنین استفاده می‌شود.

صدای تصادفی

آنها مکانیزمی را ادغام کرده اند که به صورت تصادفی صدا ایجاد می کند. این صداها وجود ندارند و هر بار که آن را اجرا می کنید به صورت تصادفی تولید می شوند. محصول نهایی بسیار جذاب است!

می توانید صدای تصادفی را با وارد کردن “تصادفی” به عنوان نام صدا فعال کنید. لاک پشت بقیه را اداره خواهد کرد.

این در فضای ML با نمایش یک بردار تصادفی بر روی فضای نهفته تهویه صوتی ساخته شده است.

صداهای ارائه شده

این مخزن شامل تعدادی صدای از پیش بسته بندی شده است. صداهایی که با پیشوند “train_” از مجموعه آموزشی هستند و از بقیه عملکرد بهتری دارند. اگر می خواهید یک سخنرانی با کیفیت بالا ارائه دهید، پیشنهاد می کنم یکی از این موارد را انتخاب کنید. نگاهی به دیگران بیندازید تا ببینید لاک پشت برای تقلید ضربه صفر چه کاری می تواند انجام دهد.

افزودن صدای جدید

برای افزودن صداهای جدید به Tortoise، باید کارهای زیر را انجام دهید:

  1. کلیپ های صوتی را از بلندگو(های) خود جمع آوری کنید. مصاحبه های یوتیوب (شما می توانید صدا را از طریق youtube-dl دریافت کنید)، کتاب های صوتی و پادکست ها همه منابع خوبی هستند. بخش بعدی حاوی دستورالعمل هایی برای ایجاد کلیپ های خوب است.
  2. از فیلم خود 10 قسمت دوم بسازید. حداقل به سه کلیپ نیاز دارید. بیشتر ارجح است، اگرچه در آزمایشات من فقط تا 5 را امتحان کردم.
  3. کلیپ ها را به عنوان یک فایل WAV با فرمت ممیز شناور و نرخ نمونه 22050 ذخیره کنید.
  4. یک زیرپوشه به نام voices/ بسازید.
  5. ویدیوهای خود را در آن زیرپوشه قرار دهید.
  6. برنامه های لاک پشت را با –voice=.
  7. اجرا کنید

برگزیدن کلیپ های مرجع خوب

همانطور که در بالا ذکر شد، کلیپ های مرجع شما تاثیر عمیقی بر خروجی لاک پشت دارند. در زیر چند نکته برای انتخاب کلیپ های خوب آورده شده است:

  1. از استفاده از کلیپ هایی که دارای موسیقی پس زمینه، نویز یا ریورب هستند خودداری کنید. این کلیپ ها از مجموعه داده آموزشی خارج شدند. بعید است که لاک پشت با آنها موفق باشد.
  2. از سخنرانی اجتناب کنید. اعوجاج معمولاً توسط مکانیسم تقویت ایجاد می شود.
  3. از کلیپ های تماس تلفنی باید اجتناب شود.
  4. از فیلم‌هایی که دارای لکنت، لکنت زبان، یا عباراتی مانند «اوه» یا «مثل» در آن‌ها هستند اجتناب کنید.
  5. کلیپ هایی را بیابید که به روشی که می خواهید خروجی شما به صدا درآید بیان می شوند. اگر می‌خواهید از سخنران هدفتان بشنوید که یک کتاب صوتی می‌خواند، به‌عنوان مثال، به دنبال ویدیویی از خواندن یک کتاب باشید.
  6. متن گفته شده در ویدیو مهم نیست، با این حال به نظر می رسد متن متنوع عملکرد بهتری دارد.

استفاده پیشرفته از Tortoise-TTS

  1. تنظیمات نسل: Tortoise TTS شامل تعدادی گزینه برای سفارشی کردن سخنرانی تولید شده است. در حالی که تنظیمات پیش‌فرض برای کیفیت کلی ایده‌آل هستند، می‌توانید با پارامترهای دیگر برای تولید نتایج متفاوت بازی کنید. این گزینه ها از طریق API قابل دسترسی هستند. فهرست کاملی از گزینه‌های قابل دسترسی را ممکن است در اسناد api.tts پیدا کنید.
  2. مهندسی اعلان: مهندسی اعلان فرآیندی است برای تغییر اعلان ورودی به منظور برانگیختن احساسات یا اثرات مختلف در گفتار خروجی. Tortoise TTS مکانیزم ویرایش خودکار را ارائه می دهد که به شما امکان می دهد با قرار دادن متن خاصی در داخل پرانتز، آنچه را که بیان می شود کنترل کنید. برای مثال، «[من واقعاً ناراحت هستم،] لطفاً به من غذا بدهید»، صرفاً باعث می‌شود که «لطفا به من غذا بدهید» با لحنی غم‌انگیز گفته شود.
  3. بازی با Voice Latent: Tortoise TTS کلیپ های مرجع را پردازش می کند و با استفاده از یک مدل فرعی یک نمایش نهفته ایجاد می کند. این پنهان‌ها ممکن است برای تأثیرگذاری بر ویژگی‌های گفتار خروجی مانند لحن، سرعت گفتار و اختلالات گفتاری دستکاری شوند. برای مثال، ممکن است دو حالت نهفته صوتی مجزا را با هم ترکیب کنید تا صدایی «متوسط» به دست آورید.
  4. تولید پنهان‌های شرطی‌سازی: اسکریپت get_conditioning_latents.py موجود در Tortoise را می‌توان برای استخراج پنهان‌های شرطی‌سازی برای صدا استفاده کرد. این اسکریپت یک فایل pickle .pth با پنهان‌های شرطی (autoregressive_latent، diffusion_latent) برای یک صدای داده شده ایجاد می‌کند. برای بازیابی پنهان‌ها به صورت برنامه‌ای، از تابع api.TextToSpeech.get_conditioning_latents() استفاده کنید.
  5. استفاده از پنهان‌های شرطی‌سازی خام: می‌توانید از پنهان‌های شرطی برای تولید گفتار با ایجاد یک پوشه فرعی در فهرست voices/ استفاده کنید. یک فایل .pth را در زیرپوشه‌ای که حاوی مخفف‌های شرطی‌سازی ترشی است به صورت تاپل (autoregressive_latent، diffusion_latent) قرار دهید. پس از آن، Tortoise-TTS از نهفته‌ها برای ایجاد گفتار با کیفیت‌های صوتی لازم استفاده می‌کند.

همچنین بخوانید: CoquiTTS: کتابخانه پایتون برای تبدیل متن به گفتار

نتیجه گیری

Tortoise-TTS یک سیستم تبدیل متن به گفتار جدید است که کیفیت و تنوع بالایی را ارائه می دهد. این با تمرکز بر ارائه قابلیت های چندصدایی و عروض و لحن واقعی طراحی شده است. این سیستم هنوز در دست توسعه است، اما قبلاً در برنامه‌های مختلف مانند کتاب‌های صوتی، آموزش الکترونیکی و بازی‌ها امیدوارکننده بوده است. امیدواریم این مقاله برای شما مفید بوده باشد. اگر سؤالی دارید، لطفاً نظر خود را در زیر بنویسید.

به این نوشته امتیاز بدهید!

افراد نیوز

افراد نیوز

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

  • ×