تبدیل متن به گفتار در پایتون — راهنمای کاربردی
در این مطلب، مبحث «تبدیل متن به گفتار» (Text to Speech Conversion) در «زبان برنامهنویسی پایتون» (Python Programming Language) مورد بررسی قرار خواهد گرفت. سیستمهای تبدیل متن به گفتار هوشمند، زیر مجموعه سیستمهای «سنتز گفتار» (Speech Synthesis) محسوب میشوند. سنتز گفتار به فرایند تولید مصنوعی گفتار انسانی اطلاق میشود.
به الگوریتمها و سیستمهای کامپیوتری که برای سنتز گفتار مورد استفاده قرار میگیرند، «کامپیوتر گفتاری» (Speech Computer) یا «سنتز یا تولید کننده گفتار» (Speech Synthesizer) گفته میشود. چنین سیستمهایی میتوانند در قالب محصولات «نرمافزاری» (Software) یا «سختافزاری» (Hardware) پیادهسازی شوند.
یک سیستم تبدیل متن به گفتار هوشمند، دادههای متنی نوشته شده به «زبان طبیعی» (Natural Language) را به گفتار تبدیل میکند؛ برخی دیگر از سیستمهای تبدیل متن به گفتار هوشمند، «نمایشهای زبانی سمبولیک» (Symbolic Linguistic Representation) نظیر «نمادهای آوایی» (Phonetic Symbols) را به گفتار تبدیل میکنند. همچنین، گفتارها را میتوان از طریق الحاق کردن گفتارهای ضبط و ذخیره شده در یک پایگاه داده به یکدیگر، تولید یا سنتز کرد.
کیفیت گفتارهای سنتز (تولید) شده، از طریق مقایسه آنها با صدای انسانی، ارزیابی وضوح و قابل شناسایی بودن صدای تولید شده برای انسانها سنجیده میشود. یک سیستم متن به گفتار هوشمند، به کاربرانی که از «اختلالات بینایی» (Visual Impairments) یا «ناتوانایی در خواندن» (Reading Disabilities) رنج میبرند اجازه میدهد تا به کلمات نوشته شده روی یک سیستم کامپیوتری گوش فرا دهند. از اواخر دهه ۹۰ میلادی، بیشتر سیستمهای عامل تولید شده، از قابلیت تبدیل متن به گفتار به صورت پیشفرض برخوردار هستند.
در زبان برنامهنویسی پایتون، تعدادی «واسط برنامهنویسی کاربردی» (Application Programming Interfaces) برای تبدیل متن به گفتار وجود دارد. یکی از این واسطهای برنامهنویسی کاربردی، واسط ارائه شده توسط شرکت گوگل است که با نامهایی نظیر gTTS API نیز شناخته میشود. واسط برنامهنویسی کاربردی gTTS، ابزاری بسیار مفید و کاربردی است که کارکردن با آن نیز بسیار ساده است.
نحوه کار کردن با این واسط به این صورت است که ابتدا دادههای متنی توسط کاربر در اختیار این وسط برنامهنویسی کاربردی قرار میگیرد. سپس داده متنی وارد شده به این واسط، به «صدای» (Audio) متناظر با گفتار تبدیل (سنتز) میشود. در مرحله بعد نیز، کاربران قادر هستند تا گفتار تولید یا سنتز شده را در قالب فایل MP3 دانلود کنند.
واسط برنامهنویسی کاربردی gTTS، از زبانهای متعددی نظیر انگلیسی، هندی، آلمانی، فرانسوی و دیگر زبانها برای تبدیل متن به گفتار پشتیبانی میکند. به عبارت دیگر، کاربرانی که به این زبانها صحبت میکنند قادر هستند تا داداههای متنی نوشته شده به زبان طبیعی را توسط واسط gTTS، به گفتار تبدیل کنند. همچنین، گفتار تولید (سنتز) شده توسط این واسط برنامهنویسی کاربردی در دو حالت گفتار «سریع» (Fast) و «آهسته» (Slow) در اختیار کاربران قرار داده میشود. البته، پس از بهروزرسانیهای اخیر انجام شده توسط شرکت گوگل، امکان تغییر صدای گفتار تولید (سنتز) شده برای کاربران دیگر وجود ندارد.
نصب واسط gTTS برای تبدیل متن به گفتار در پایتون
برای اینکه قادر به نصب و استفاده از واسط برنامهنویسی کاربردی gTTS در تمامی سیستمهای عامل باشید، ابتدا باید کتابخانه gTTS را برای زبان برنامهنویسی پایتون دانلود و نصب کنید. برای این کار تنها کافی است پنجره «ترمینال» (Terminal) یا «واسط خط دستوری» (Command Line Interface) باز و دستور زیر اجرا شود:
pip install gTTS
این دستور، دستوری معتبر برای دانلود و نصب واسط برنامهنویسی کاربردی gTTS است. در مرحله بعد لازم است تا برنامهای کاربردی برای تبدیل متن به گفتار در زبان پایتون نوشته شود:
# Import the required module for text
# to speech conversion
from gtts import gTTS
# This module is imported so that we can
# play the converted audio
import os
# The text that you want to convert to audio
mytext = 'Welcome to MatlabSite!'
# Language in which you want to convert
language = 'en'
# Passing the text and language to the engine,
# here we have marked slow=False. Which tells
# the module that the converted audio should
# have a high speed
myobj = gTTS(text=mytext, lang=language, slow=False)
# Saving the converted audio in a mp3 file named
# welcome
myobj.save("welcome.mp3")
# Playing the converted file
os.system("mpg321 welcome.mp3")
خروجی قطعه کد بالا به شکل زیر خواهد بود:
The output of the above program should be a voice saying, 'Welcome to MatlabSite!'
اگر نوشته بالا برای شما مفید بوده است، آموزشهای زیر نیز به شما پیشنهاد میشوند:
- مجموعه آموزشهای برنامهنویسی پایتون Python
- گنجینه آموزشهای برنامه نویسی پایتون (Python)
- مجموعه آموزشهای برنامهنویسی
- زبان برنامه نویسی پایتون (Python) — از صفر تا صد
- ترفندهای برنامه نویسی در پایتون — از صفر تا صد
- پیادهسازی سیستم تشخیص و ردیابی خودرو در پایتون — راهنمای جامع
- آموزش پایتون (Python) — مجموعه مقالات جامع وبلاگ فرادرس
مجموعه: برنامه نویسی برچسب ها: Application Programming Interfaces, Command Line Interface, gTTS API, Natural Language, Phonetic Symbols, Python Programming Language, Speech Computer, Speech Synthesis, Speech Synthesizer, Symbolic Linguistic Representation, Text to Speech Conversion, تبدیل متن به گفتار, زبان برنامهنویسی پایتون, زبان طبیعی, سنتز گفتار, سنتز یا تولید کننده گفتار, کامپیوتر گفتاری, متن به گفتار, نمادهای آوایی, نمایشهای زبانی سمبولیک, واسط برنامهنویسی کاربردی, واسط خط دستوری