آموزش رزبری پای

تبدیل متن به گفتار TTS با برد رزبری پای

متن به گفتار (TTS) نوعی برنامه است که برای تولید نسخه صوتی متن مورد استفاده قرار می گیرد. TTS می تواند تفسیر اطلاعات رایانه را برای یک فرد کم بینا آسان کند یا می تواند برای درک مطلب پیام متنی استفاده شود. غیر از این ، می تواند برای صحبت کردن ربات شما استفاده شود یا می تواند در پروژه های کمکی برای نابینایان برای بیان دستورالعمل های نوشته شده مانند نام خیابان ، نام ساختمان و … استفاده شود.

بسیاری از برنامه های رایگان و پولی متن به گفتار مانند Cepstral و eSpeak وجود دارد. بنابراین ، در این آموزش ، ما قصد داریم چند روش تبدیل متن به گفتار در رزبری پای را بررسی و مقایسه کنیم.

بسته های مورد نیاز TTS

قبل از ادامه کار با متن به گفتار در Raspberry Pi ، برای دریافت خروجی صدا در Raspberry Pi ، باید چند بسته نرم افزاری صوتی را نصب کنیم. در ابتدا نیاز است سیستم عامل رزبیان را بروزرسانی کنیم.

sudo apt-get update
sudo apt-get upgrade

سپس برنامه های صوتی alsa را نصب کنید. این بسته شامل ابزارهای مختلف برای پیکربندی دستگاه های صوتی از طریق ALSA (Advanced Linux Sound Architecture) است.

برای یادگیری آردوینو (برنامه نویسی، ساخت ربات، ارتباط با اندروید) روی دوره آموزش آردوینو کلیک کنید.
برای یادگیری کامل الکترونیک روی دوره آموزش الکترونیک کلیک کنید.

sudo apt-get install alsa-utils

سپس از دستور زیر برای نصب پخش کننده فیلم و صوت MPlayer استفاده کنید:

sudo apt-get install mplayer

توجه: فراموش نکنید که جک 3.5 میلی متری را به عنوان خروجی صدا انتخاب کنید. برای این کار ، دستور “sudo raspi-config” را وارد کنید ، سپس به “System Options” و به “Audio” و به “Force 3.5mm (‘headphone’) jack” بروید و در آخر “Finish” را بزنید.

برنامه های متن به گفتار در رزبری پای

  1. eSpeak Text-to-Speech
  2. Festival Text-to-Speech
  3. Google Text-to-Speech
  4. Pico Text-to-Speech
  5. PYTTSX3

1. متن به گفتار eSpeak

eSpeak یک بسته مناسب و کم حجم برای زبان انگلیسی و تعدادی زبان دیگر در سیستم عامل لینوکس و ویندوز است. این یک بسته مدرن و با کاربرد آسان در مقابل سایر بسته های TTS است. به طور کلی میتواند گزینه مناسبی برای اکثر پروژه ها باشد.

برای نصب eSpeak از دستور زیر استفاده کنید:

sudo apt-get install espeak

سپس eSpeak را با استفاده از دستور زیر تست کنید.

espeak “Hello Everyone”

مثال بالا یک مثال ساده برای استفاده از eSpeak بود. با تغییر صدا ، میزان صدا ، سرعت ، لهجه و تأخیر بین کلمات می توانید آن را اصلاح کنید.

تست eSpeak با: صدای زن انگلیسی ، تأکید بر حروف بزرگ (-k) ، صحبت آهسته (-s) در حجم کم (-a) با استفاده از متن مستقیم:

espeak -ven+f2 -k5 -s150 -a 100 -g10 "Hi, Welcome to Circuit Digest Tutorial"

متن به گفتار eSpeak

-ven + f2: زبان مورد استفاده را نشان می دهد. “en” نشان دهنده زبان انگلیسی است و f2 صدای زن است. شما می توانید از بین چند صدای مختلف مرد و زن انتخاب کنید: + m1 ، + m2 ، + m3 ، + m4 ، + m5 ، + m6 ، + m7 ، و + f1 ، + f2 ، + f3 ، + f4.

-s150: سرعت صدا را نشان می دهد. پیش فرض 175 است.

-a 200: میزان صدا را برای استفاده از صدا نشان می دهد. دامنه آن از 0 تا 200 است.

همچنین اگر در مورد این مطلب سوالی داشتید در انتهای صفحه در قسمت نظرات بپرسید

-g10: مکث بین کلمات را نشان می دهد. “g” مخفف “gap word” است.

2. متن به گفتار Festival

Festival یکی دیگر از ابزارهای متن باز برای تبدیل متن به گفتار است. این بسته توسط مرکز تحقیقات فن آوری گفتار در انگلستان ساخته شده است ، و چارچوبی را برای ساخت سیستم های TTS ارائه می دهد. این جشنواره در حال حاضر از انگلیسی ، انگلیسی آمریکایی و اسپانیایی پشتیبانی می کند. صدایی مانند یک ربات خشن تولید می کند اما هنوز کیفیت صدای آن از eSpeak بهتر است.

برای نصب Festival از دستور زیر استفاده کنید:

sudo apt-get install festival

Festival را با استفاده از دستور زیر تست کنید:

echo “Hi, Welcome to Circuit Digest Tutorial” | festival --tts

متن به گفتار Festival

3. متن به گفتار Google

موتور Google Text to Speech برخلاف Festival و eSpeak به صورت آفلاین کار نمی کند. این بسته ابتدا متن را به سرورهای Google ارسال می کند تا فایل گفتاری را ایجاد کند و سپس به Pi شما بازگردانده می شود و با استفاده از MPlayer پخش می شود. Google Text-to-Speech دارای بهترین کیفیت صدا در بین سایر ابزارهای TTS است اما تنها اشکال آن این است که به اتصال اینترنت نیاز دارد.

با استفاده از دستور زیر یک فایل word.sh ایجاد کنید:

nano speech.sh

این خطوط را به پرونده اضافه کنید و با استفاده از CTRL + X > Y آن را ذخیره کنید.

#!/bin/bash
say() { local IFS=+;/usr/bin/mplayer -ao alsa -really-quiet -noconsolecontrols "http://translate.google.com/translate_tts?ie=UTF-8&client=tw-ob&q=$*&tl=en"; }
say $*

سپس با استفاده از دستور زیر مجوزها را برای اسکریپت خود تنظیم کنید:

chmod u+x speech.sh

و در نهایت آن را با دستور زیر تست کنید.

./speech.sh “Hi, Welcome to Circuit Digest Tutorial”

4. متن به گفتار Pico

سرویس Pico Text-to-Speech (TTS) از باینری TTS از SVOX برای تولید متن گفتاری استفاده می کند. این کار مستلزم نصب کتابخانه pico TTS بر روی سیستم است. در دبیان ، فقط sudo apt-get install libttspico-utils را وارد کنید. در Debian Buster ، بسته موجود نیست ، اما می توانید بسته ها را به صورت دستی با استفاده از دستورات زیر بارگیری و نصب کنید:

wget http://ftp.us.debian.org/debian/pool/non-free/s/svox/libttspico0_1.0+git20130326-9_armhf.deb
wget http://ftp.us.debian.org/debian/pool/non-free/s/svox/libttspico-utils_1.0+git20130326-9_armhf.deb
sudo apt-get install -f ./libttspico0_1.0+git20130326-9_armhf.deb ./libttspico-utils_1.0+git20130326-9_armhf.deb

متن به گفتار Pico را با استفاده از دستور زیر تست کنید.

pico2wave -w lookdave.wav "Hi, Welcome to Circuit Digest Tutorial" && aplay lookdave.wav

Pico TTS در حال حاضر از انگلیسی ، انگلیسی آمریکایی ، اسپانیایی ، هلندی ، فرانسوی و ایتالیایی پشتیبانی می کند. کدهای زبان en-GB ، en-US ، es-ES ، de-DE ، fr-FR و it-IT هستند. دستور صحبت کردن متن فوق به زبان ایتالیایی در زیر آورده شده است:

pico2wave -l it-IT -w lookdave.wav "Hi, Welcome to Circuit Digest Tutorial" && aplay lookdave.wav

متن به گفتار Pico

5. PYTTSX3

pyttsx3 یک کتابخانه تبدیل متن به گفتار در پایتون است. به صورت آفلاین کار می کند و با پایتون 2 و 3 سازگار است. صدا در PYTTSX مشخص نیست و کمی حالت گرفتگی دارد. برای نصب PYTTSX3 از دستور زیر استفاده کنید:

pip install pyttsx3

برای تست PYTTSX3 با گزینه های پیش فرض ، از کد زیر استفاده کنید:

import pyttsx3
engine = pyttsx3.init()
engine.say("Hi, Welcome to Circuit Digest Tutorial")
engine.runAndWait()

کتابخانه TTS PYTTSX3

نتیجه گیری

در لیست بالا  تا از بهترین برنامه های تبدیل متن به گفتار متن باز قرار داده شده اند. توصیه میشود از سرویس متن به گفتار گوگل استفاده کنید زیرا دارای بهترین کیفیت صدا است اما به اتصال اینترنت نیاز دارد. بسته آفلاین Pico TTS کیفیت بسیار خوبی دارد و از چندین زبان پشتیبانی می کند ، Festival دارای صدای خوبی نیز است ، استفاده از eSpeak آسان است و گزینه های سفارشی سازی خوبی دارد اما کیفیت صدا در آن مناسب نیست.

میخواهید برنامه نویسی STM32 را یاد بگیرید؟

دوره آموزش STM32

میخواهید الکترونیک را یاد بگیرید؟

دوره آموزش الکترونیک
دوره آموزش آردوینو

میخواهید آردوینو را به صورت پروژه محور یاد بگیرید؟ برای مشاهده توضیحات روی دوره مورد نظر کلیک کنید

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

محمد رحیمی

محمد رحیمی

محمد رحیمی هستم. سعی میکنم در آیرنکس مطالب مفید را قرار دهم. (در خصوص سوال در مورد این مطلب از قسمت نظرات همین مطلب اقدام کنید) سعی میکنم تمام نظرات را پاسخ دهم.

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

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