این نوشته، راهنمایی برای راهاندازی یک نرمافزار فارسی برای تبدیل متن به گفتار فارسی است.
اینجا مراحل این کار آموزش داده میشود. در پایان این میتوانید از رایانه بخواهید یک متن فارسی را با صدای انسانی برای شما بخواند.
برای نوشتن این از این راهنما کمک گرفته شده است. نرمافزارهای مورداستفاده همه نرمافزارهای آزاد هستند و مدلهای مورداستفاده، با استفاده از دادگان باز آموزش دیدهاند.
نیازمندیها
مطمئن شوید که نیازمندیها را دارید. این آموزش برای محیط گنو/لینوکس است. برای اجرای آن نیاز به رایانهٔ قدرتمندی ندارید. نیازمندیها به شرح زیر هستند.
- یک توزیع گنو/لینوکس
- رایانهای با ۵۰۰ مگابایت حافظهٔ RAM آزاد و ۲۰۰ مگابایت فضای ذخیرهسازی آزاد
- نرمافزار python3 به همراه pip و virtual env
راهاندازی محیط
ابتدا بستههای سیستمی موردنیاز برای این که مربوط به «ای-اسپیک» هستند را نصب کنید. در توزیعهای دبیانی این ابزار با دستور زیر نصب میشود. در توزیعهای دیگر نیز این بسته وجود دارد و با مدیربستهٔ خودتان نصب کنید.
sudo apt-get install libespeak-ng1
یک پوشه در مسیری دلخواه ایجاد کنید. قرار است یک محیط مجازی پایتون را داخل آن راهاندازی کنیم. وارد آن شوید و این دستورات را وارد کنید تا محیط مجازی آماده شود.
python3 -m venv .venv
source .venv/bin/activate
نصب ابزارهای خوانش متن
حالا بستهٔ پایتون mimic3 مخصوص زبان فارسی را نصب کنید.
pip3 install --upgrade pip
pip3 install mycroft-mimic3-tts[fa]
با نصب این، شما به ابزارهای خطفرمان mimic3
، mimic3-download
و mimic3-server
دسترسی خواهید داشت.
اجرا برای اولین بار و بارگیری مدل
با ابزار mimic3
میتوانید متن را به صدا تبدیل کنید. این ابزار در اولین باری که اجرا میشود، مدل زبان را بارگیری میکند. مدل فارسی که در حال حاضر برای این ساخته شده است، «هانیه» نام دارد که اسمش از روی اسم فردی که صداهای موردنیاز برای این را ضبط کرده است برداشته شده. دادگان متن استفاده شده برای آموزش این مدل در این پیوند موجود است.
با این دستور یک خروجی بگیرید
mimic3 --voice 'fa/haaniye_low' 'سلام بر شما' | aplay
بار اول اجرای دستور، به دلیل نیاز به بارگیری مدل ممکن است کمی طول بکشد. با اجرای این دستور ابتدا مدل «هانیه» در مسیر پیشفرض خود یعنی مسیر زیر بارگیری میشود.
~/.local/share/mycroft/mimic3/voices/fa/haaniye_low
بعد از اجرای کامل دستور باید بتوانید یک صدای انسانی بشنوید.
استفاده از نرمافزار
با دستور زیر میتوانید از رایانه بخواهید یک نوشته را برای شما بخواند.
mimic3 --voice 'fa/haaniye_low' 'سلام بر شما' | aplay
با دستور زیر میتوانید به جای پخش صدا، آن را در یک فایل wave
ذخیره کنید.
mimic3 --voice 'fa/haaniye_low' 'سلام بر شما' > sample.wav
استفادهٔ مکرر از این برنامه برای شما زمانبر است چرا که این برنامه هر بار نیاز به بارگذاری مجدد مدل از محل ذخیره روی حافظه است. برای این که از این مشکل جلوگیری کنید، نرمافزار را در حالت تعاملی اجرا کنید.
با دستور زیر میتوانید نرمافزار را به شکل تعاملی اجرا کنید. استفاده از این حالت سریعتر است.
mimic3 --voice 'fa/haaniye_low' --interactive | aplay
پس از اجرای این، میتوانید هر متنی را در پایانه بنویسید و پس از زدن کلید Enter آن را میخواند. ممکن است خوانش اولین جمله به دلیل بارگذاری مدل کمی طول بکشد اما جملههای بعدی را سریع خواهد خواند.
همچنین میتوانید خروجی متن یک دستور را با استفاده از لوله (pipe) به این بدهید و بدین ترتیب بتوانید نرمافزارهای خوانش متن خودتان را توسعه دهید.
Comments
October 16, 2022 21:04
من چند ماه پیش یه بار سعی کردم انجامش بدم نشد. ممنون برای این مطلب. سر یه فرصتی باید امتحانش کنم.
October 16, 2022 21:48
@ahangarha سلامت باشید!
من همین امروز راهاندازی کردم. همین که موفق شدم با خودم گفتم بذار یه مطلب فارسی هم در این رابطه بنویسم!
بعد از آزمایش متوجه میشید که این مدل اشکالهایی داره. ولی بهگمانم تا امروز عدهٔ خیلی کمی از این مدل استفاده کردهاند چرا که معرفی نشده. به همین دلیل حتی دربارهٔ اشکالهایش گفتگوی زیادی نشده.