CoquiTTS: کتابخانه پایتون برای تبدیل متن به گفتار
CoquiTTS یک کتابخانه سنتز متن به گفتار پایتون است. از مدل های پیشرفته برای تبدیل هر متنی به گفتاری با صدای طبیعی استفاده می کند. CoquiTTS می تواند برای ایجاد محتوای صوتی، بهبود دسترسی و افزودن تعامل صوتی به برنامه های شما استفاده شود. در این مقاله، نحوه نصب و استفاده از CoquiTTS در پایتون را خواهید آموخت.
فناوری سنتز گفتار در نتیجه پیشرفت در هوش مصنوعی و یادگیری ماشین طی سالها پیشرفت چشمگیری داشته است. این پیشرفت ها امکان تولید گفتار با صدای فزاینده ای را فراهم کرده است. این فناوری پتانسیل بهرهمندی از طیف وسیعی از کاربردها را دارد، اما به ویژه برای زبانهای کم منبع که در تلاش برای حفظ تاریخچه زبانی خود هستند، بسیار مهم است.
تیم هوش مصنوعی Coqui CoquiTTS، یک برنامه سنتز گفتار منبع باز را ایجاد کرد که از متن پایتون به گفتار استفاده میکند. این نرم افزار برای پاسخگویی به نیازهای خاص زبان های کم منبع طراحی شده است و آن را به ابزاری بسیار موثر برای حفظ و احیای زبان در سراسر جهان تبدیل می کند.
CoquiTTS: ابزار قدرتمند سنتز گفتار از متن به گفتار پایتون
CoquiTTS یک برنامه کاربردی سنتز گفتار متن به گفتار پایتون است که از یک شبکه عصبی برای تولید گفتار از متن استفاده می کند. Tacotron 2، یک معماری شبکه عصبی عمیق که توسط محققان گوگل برای سنتز صدا ابداع شده است، به عنوان پایه و اساس عمل می کند. CoquiTTS با ارائه عملکرد سریعتر و کارآمدتر و همچنین دسترسی بهتر برای توسعه دهندگان و کاربران تبدیل متن به گفتار Python، Tacotron 2 را بهبود می بخشد.
یکی از مزایای اصلی CoquiTTS دقت بالای آن با متن به صدا پایتون است. شبکه عصبی CoquiTTS بر روی مجموعه بزرگی از دادههای گفتاری آموزش داده شده است و به آن اجازه میدهد گفتاری تولید کند که طبیعیتر از برنامههای رقیب سنتز گفتار است که از متن پایتون برای صدا استفاده میکنند. علاوه بر این، CoquiTTS با استفاده از متن به گفتار پایتون بسیار قابل تنظیم است و به کاربران اجازه میدهد تا پارامترهایی مانند سرعت گفتار، زیر و بمی صدا و میزان صدا را بر اساس نیازهای خاص خود تنظیم کنند.
هنگام استفاده از متن به گفتار پایتون، CoquiTTS سریعتر از سایر ابزارهای سنتز گفتار است. میتواند گفتار بیدرنگ تولید کند و برای دستیارهای صوتی، سیستمهای تبدیل متن به گفتار و سیستمهای پاسخ صوتی تعاملی (IVR) که از متن به گفتار پایتون استفاده میکنند، ایدهآل است. این عملکرد با استفاده از کدگذاری صوتی عصبی، تکنیکی که شبکه عصبی مورد استفاده برای سنتز صدا را به اندازه فایل کمتری فشرده میکند، به دست میآید و در نتیجه پردازش سریعتر و کارآمدتر هنگام استفاده از متن به گفتار پایتون انجام میشود.
استفاده از متن به گفتار پایتون برای تقویت کم زبان منابع با CoquiTTS
فناوری سنتز گفتار این پتانسیل را دارد که برای طیف وسیعی از کاربردها مفید باشد، اما به ویژه برای زبانهای کم منبع که از متن پایتون به گفتار استفاده میکنند بسیار مهم است. به دلیل جهانی شدن، شهرنشینی و تسلط زبانهای رایجتر، این زبانها اغلب در حفظ و نگهداری تاریخ زبانی خود با مشکلاتی مواجه میشوند.
CoquiTTS که از تبدیل متن به گفتار پایتون استفاده میکند، با پشتیبانی از فعالیتهای حفظ و احیای زبان برای زبانهای کممنبع، راهحل مؤثری برای رسیدگی به این مسائل ارائه میکند. CoquiTTS میتواند برای توسعه ترکیبکنندههای گفتار برای چنین زبانهایی مورد استفاده قرار گیرد و به گویندگان این امکان را میدهد تا با استفاده از متن به گفتار پایتون به اطلاعات دسترسی داشته باشند و با دیگران ارتباط برقرار کنند. CoquiTTS همچنین میتواند برای ساخت رابطهای گفتاری برای دستگاههای تلفن همراه، بلندگوهای هوشمند و لوازم خانگی مورد استفاده قرار گیرد و فناوری را برای بلندگوهای زبان کممنبع در دسترستر میکند.
CoquiTTS با استفاده از فناوری تبدیل متن به گفتار پایتون در تعدادی از زبانها با موفقیت پیادهسازی شده است. کینیارواندا، یک زبان بانتو که در رواندا و کشورهای همسایه صحبت میشود و برای حفظ میراث زبانی خود تلاش کرده است، برای توسعه یک ترکیبکننده گفتار با استفاده از متن به گفتار CoquiTTS و Python استفاده شد. پروژه سنتز گفتار کینیارواندا نمونههای گفتار کینیارواندا را جمعآوری کرد، شبکه عصبی مورد استفاده توسط CoquiTTS را آموزش داد و یک ترکیبکننده گفتار با کیفیت بالا ساخت. این سینت سایزر این پتانسیل را دارد که به بلندگوهای کینیارواندا در طیف وسیعی از برنامه ها کمک کند.
یکی دیگر از استقرار موفق CoquiTTS به زبان بومی مکزیکی Ayapaneco است که در آستانه انقراض بود. تیم Coqui AI با طرفداران زبان Ayapaneco کار کرد تا یک ترکیبکننده گفتار با استفاده از متن به گفتار CoquiTTS و Python ایجاد کند و دید و دسترسی Ayapaneco را برای مخاطبان وسیعتری افزایش دهد.
برای استفاده از CoquiTTS در پایتون، میتوانید این مراحل را دنبال کنید:
نصب CoquiTTS با استفاده از pip:
pip install coqui-tts
اگر قصد کدنویسی یا آموزش مدلها را دارید، TTS را شبیهسازی کنید و آن را به صورت محلی نصب کنید.
git clone https://github.com/coqui-ai/TTS
pip install -e .[all,dev,notebooks] # موارد اضافی مربوطه را انتخاب کنید
اگر در اوبونتو (دبیان) هستید، میتوانید دستورات زیر را نیز برای نصب اجرا کنید.
$ make system-deps # در نظر گرفته شده برای استفاده در اوبونتو (دبیان). اگر سیستم عامل دیگری دارید به ما اطلاع دهید.
$ make install
تصویر Docker
همچنین میتوانید TTS را بدون نصب با تصویر docker امتحان کنید. به سادگی دستور زیر را اجرا کنید و می توانید TTS را بدون نصب آن اجرا کنید.
docker run --rm -it -p 5002:5002 --entrypoint /bin/bash ghcr.io/ coqui-ai/tts-cpu
python3 TTS/server/server.py --list_models #برای دریافت لیست مدل های موجود
python3 TTS/server/server.py --model_name tts_models/en/vctk/vits # برای راه اندازی سرور
ترکیب گفتار توسط TTS
از TTS.api import TTS
# اجرای مدل چند بلندگو و چند زبانه
# مدل های 🐸TTS موجود را لیست کنید و اولین مورد را انتخاب کنید
model_name = TTS.list_models()[0]
# راه اندازی TTS
tts = TTS (مدل_نام)
# TTS را اجرا کنید
# ❗ از آنجایی که این مدل چند گوینده و چند زبانه است، باید گوینده و زبان مورد نظر را تنظیم کنیم.
# متن به گفتار با خروجی بیحس
wav = tts.tts("این یک تست است! این هم یک تست است!!"، speaker=tts.speakers[0]، language=tts.languages[0])
# متن به گفتار در یک فایل
tts.tts_to_file(text="سلام دنیا!"، speaker=tts.speakers[0]، language=tts.languages[0]، file_path="output.wav")
# اجرای مدل تک بلندگو
# TTS را با نام مدل هدف شروع کنید
tts = TTS(model_name="tts_models/de/thorsten/tacotron2-DDC، progress_bar=False، gpu=False)
# TTS را اجرا کنید
tts.tts_to_file(text="Ich bin eine Testnachricht.", file_path=OUTPUT_PATH)
# نمونه شبیه سازی صدا با YourTTS به زبان های انگلیسی، فرانسوی و پرتغالی:
tts = TTS(model_name="tts_models/multilingual/multi-dataset/your_tts"، progress_bar=False، gpu=True)
tts.tts_to_file("این شبیه سازی صدا است."، speaker_wav="my/cloning/audio.wav"، language="en"، file_path="output.wav")
tts.tts_to_file("C'est le clonage de la voix."، speaker_wav="my/cloning/audio.wav"، language="fr-fr"، file_path="output.wav")
tts.tts_to_file("Isso é Clonagem de voz."، speaker_wav="my/cloning/audio.wav"، language="pt-br"، file_path="output.wav")
# تبدیل صوتی مثال تبدیل بلندگوی «source_wav» به بلندگوی «wav_target»
tts = TTS(model_name="voice_conversion_models/multilingual/vctk/freevc24"، progress_bar=False، gpu=True)
tts.voice_conversion_to_file(source_wav="my/source.wav", target_wav="my/target.wav", file_path="output.wav")
# نمونه شبیه سازی صدا توسط یک مدل TTS تک بلندگو که با مدل تبدیل صدا ترکیب می شود. به این ترتیب، شما می توانید
# صداها را با استفاده از هر مدلی در 🐸TTS شبیه سازی کنید.
tts = TTS ("tts_models/de/thorsten/tacotron2-DDC")
tts.tts_with_vc_to_file(
"Wie Sage ich auf Italienisch, dass ich dich liebe؟"
speaker_wav="target/speaker.wav",
file_path="uptut.wav"
)
# نمونه متن به گفتار با استفاده از مدلهای [🐸Coqui Studio](https://coqui.ai). می توانید از همه بلندگوهای موجود در استودیو استفاده کنید.
# [🐸Coqui Studio] (https://coqui.ai) نشانه API مورد نیاز است. می توانید آن را از [صفحه حساب] (https://coqui.ai/account) دریافت کنید.
# باید متغیر محیطی «COQUI_STUDIO_TOKEN» را برای استفاده از نشانه API تنظیم کنید.
# اگر یک مجموعه توکن API معتبر دارید، بلندگوهای استودیو را بهعنوان مدلهای جداگانه در لیست خواهید دید.
# قالب نام coqui_studio/en//coqui_studio است
models = TTS().list_models()
# TTS را با بلندگوی استودیوی مورد نظر آغاز کنید
tts = TTS(model_name="coqui_studio/en/Torcull Diarmuid/coqui_studio"، progress_bar=False، gpu=False)
# TTS را اجرا کنید
tts.tts_to_file(text="این یک آزمایش است."، file_path=OUTPUT_PATH)
# TTS را با احساسات و کنترل سرعت اجرا کنید
tts.tts_to_file(text="این یک تست است.", file_path=OUTPUT_PATH, emotion="Happy", speed=1.5)
خط فرمان tts
مدل های تک بلندگو
$ tts --list_models
- دریافت اطلاعات مدل (هم برای tts_models و هم برای vocoder_models):
پرس و جو بر اساس نوع/نام: model_info_by_name از نام آن در –list_models استفاده می کند.
$ tts --model_info_by_name "///"
به عنوان مثال:
$ tts --model_info_by_name tts_models/tr/common-voice/glow-tts
$ tts --model_info_by_name vocoder_models/en/ljspeech/hifigan_v2
پرس و جو بر اساس نوع/idx: model_query_idx از idx مربوطه از –list_models استفاده می کند.
$ tts --model_info_by_idx "/"
به عنوان مثال:
$ tts --model_info_by_idx tts_models/3
- TTS را با مدل های پیش فرض اجرا کنید:
$ tts --text "Text for TTS" --out_path output/path/speech.wav
- یک مدل TTS را با مدل صوتی پیشفرض آن اجرا کنید:
$ tts --text "Text for TTS" --model_name "///" --out_path output/path/speech.wav
به عنوان مثال:
$ tts --text "Text for TTS" --model_name "tts_models/en/ljspeech/glow-tts " --out_path output/path/speech.wav
- اجرا با مدلهای TTS و Vocoder خاص از لیست:
$ tts --text "Text for TTS" --model_name "///" --vocoder_name "///" --out_path output/path/speech.wav
به عنوان مثال:
$ tts --text "Text for TTS" --model_name "tts_models/en/ljspeech/glow-tts " --vocoder_name "vocoder_models/en/ljspeech/univnet" --out_path output/path/speech.wav
- مدل TTS خود را اجرا کنید (با استفاده از Vocoder Griffin-Lim):
$ tts --text "Text for TTS" --model_path path/to/model.pth --config_path path/to/config.json --out_path output/path/speech.wav
- مدل های TTS و Vocoder خود را اجرا کنید:
$ tts --text "Text for TTS" --model_path path/to/model.pth --config_path path/to/config.json --out_path output/path/speech.wav
--vocoder_path path/to/vocoder.pth --vocoder_config_path path/to/vocoder_config.json
مدل های چند بلندگو
- بلندگوهای موجود را فهرست کنید و از میان آنها یک
انتخاب کنید:
$ tts --model_name "//" --list_speaker_idxs
- مدل TTS چند بلندگو را با شناسه بلندگوی مورد نظر اجرا کنید:
$ tts --text "متن برای TTS." --out_path output/path/speech.wav --model_name "//" --speaker_idx
- مدل TTS چند بلندگوی خود را اجرا کنید:
$ tts --text "Text for TTS" --out_path output/path/speech.wav --model_path path/to/model.pth --config_path path/to/config.json --speakers_file_path path/to/speaker.json --speaker_idx
همچنین Bark: متن به گفتار ابزار جدید هوش مصنوعی.
این مقاله به شما کمک می کند تا در مورد CoquiTTS بیاموزید. ما اطمینان داریم که برای شما مفید بوده است. لطفاً نظرات و انتقادات خود را در بخش نظرات زیر به اشتراک بگذارید.