تبدیل متن به گفتار در پایتون — راهنمای کاربردی

در این مطلب، مبحث «تبدیل متن به گفتار» (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!'

اگر نوشته بالا برای شما مفید بوده است، آموزش‌های زیر نیز به شما پیشنهاد می‌شوند:

منبع [+]

پاسخی بگذارید

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