Filter by دسته‌ها
chatGTP
ابزارهای هوش مصنوعی
اخبار
گزارش
تیتر یک
چندرسانه ای
آموزش علوم داده
اینفوگرافیک
پادکست
ویدیو
دانش روز
آموزش‌های پایه‌ای هوش مصنوعی
اصول هوش مصنوعی
یادگیری بدون نظارت
یادگیری تقویتی
یادگیری عمیق
یادگیری نیمه نظارتی
آموزش‌های پیشرفته هوش مصنوعی
بینایی ماشین
پردازش زبان طبیعی
پردازش گفتار
چالش‌های عملیاتی
داده کاوی و بیگ دیتا
رایانش ابری و HPC
سیستم‌‌های امبدد
علوم شناختی
دیتاست
رویدادها
جیتکس
کاربردهای هوش مصنوعی
کتابخانه
اشخاص
شرکت‌های هوش مصنوعی
محصولات و مدل‌های هوش مصنوعی
مفاهیم
کسب‌و‌کار
تحلیل بازارهای هوش مصنوعی
کارآفرینی
هوش مصنوعی در ایران
هوش مصنوعی در جهان
مقاله
 با پایتون یک برنامه تشخیص گفتار بسازید

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

زمان مطالعه: 2 دقیقه

در این نوشته به چگونگی تبدیل فایل‌های صوتی به فایل‌های متنی با استفاده از پایتون می‌پردازیم. این تبدیل حاصل فرایندِ تشخیص گفتار است و به طور متداول در دنیای حقیقی مورد استفاده قرار می‌گیرد. برای مثال، دستیارهای صوتی شخصی مثل «Home Mini» گوگل، «Alexa» آمازون و «Siri» اپل تنها چند نمونه از ابزارهای محبوب و پرکاربردی هستند که نام‌شان را شنیده‌ایم.

تبدیل متن به صدا در پایتون

تشخیص گفتار باعث صرفه‌جویی در زمان می‌شود زیرا دیگر نیازی به تایپ کردن نیست. به کمک این سیستم می‌توانیم با سایر وسیله‌ها ارتباط برقرار کنیم؛ بدون اینکه نیاز به نوشتنِ حتی یک خط کُد باشد. این کار باعث می‌شود وسایل و ابزارهای فناوری به میزان بیشتری در دسترس قرار گرفته و استفاده از آنها آسان شود. تشخیص گفتار نمونه خوبی از بکارگیری هوش مصنوعی در دنیای حقیقی است.

در نوشته حاضر، یک مدل تشخیص گفتار ساده ایجاد می‌شود. این مدل می‌تواند جملات را از فایل صوتی شناسایی کند. در وهله بعدی، این جملات به یک سند متنی وارد می‌شوند.

فراخوانی کتابخانه


در ابتدا باید ماژول SpeechRecognition را نصب کنیم تا بتوانیم آن را در برنامه فراخوانی کنیم. ماژول SpeechRecognition از APIهای تشخیص مختلفی پشتیبانی می‌کند و Google Speech API یکی از آن‌هاست. شما می‌توانید در اینجا اطلاعات بیشتری در خصوص این ماژول بدست آورید.

حالا می‌توان کتابخانه را وارد کرد:

import speech_recognition as sr

ساخت سیستم تشخیص


در گام نخست، باید نمونه سیستم تشخیص خودمان را مقداردهی کنیم:

r = sr.Recognizer()

وارد کردن فایل صوتی


پسوند فایل در هنگام وارد کردنِ فایل صوتی به برنامه اهمیت دارد. من کد را در فرمت‌های دیگر نیز آزمایش کردم، اما نتیجه‌ای که با فرمت «wav» به دست آمد، خیلی بهتر بود. امکان استفاده از وب‌سایت تبدیل‌کنندۀ فایل نیز وجود دارد. این وب‌سایت‌ها قابلیت تبدیل فایل‌های صوتی به wav را نیز فراهم می‌کنند. برای نمونه، اگر از memoهای صوتی مَک‌بوک برای ضبط صدا استفاده ‌کنید، فایل در قالب m4a ذخیره خواهد شد. اگر این عبارت را در موتور جستجوی گوگل وارد کنید: «تبدیل فایل m4a به فرمت فایل wav به صورت آنلاین»، در نتایج به دست آمده می توانید وب سایتهای تبدیل کننده فرمت‌های صوتی زیادی را بیابید.

AudioFile تابعی برای وارد کردن فایل و Sr ماژول تشخیص گفتار است.

audio_file = sr.AudioFile('test.wav')

 

تشخیص گفتار

ما از روش recognize_google برای تشخیص گفتار استفاده کردیم:

with audio_file as source:
   r.adjust_for_ambient_noise(source)
   audio = r.record(source)result = r.recognize_google(audio)

 

وارد کردن نتایج به فایل متنی


در کد زیر، یک فایل متنی ایجاد و باز می‌کنیم. سپس، نتیجه‌ای که در کد قبلی بدست آمد را وارد می‌کنیم. وقتی فرایند به پایان برسد، عبارت «ready» را در پایانه خواهید دید:

with open('test.txt',mode ='w') as file:
file.write("Recognized text:")
file.write("\n")
file.write(result)
print("ready!")
# importing the module
import speech_recognition as sr# define the recognizer
r = sr.Recognizer()# speech recognition
with audio_file as source:
r.adjust_for_ambient_noise(source)
audio = r.record(source)result = r.recognize_google(audio)# exporting the result
with open('test.txt',mode ='w') as file:
file.write("Recognized text:")
file.write("\n")
file.write(result)
print("ready!")

تبریک می‌گوییم! شما موفق شدید برنامه تشخیص گفتار خودتان را با پایتون بسازید. امیدواریم از این پست آموزشی لذت برده و نکات تازه‌ای را یاد گرفته باشید. بهترین راه برای تمرین مهارت‌های کدنویسی این است که پروژه‌های سرگرم‌کننده را پیاده‌سازی کنید.

اگر شما تابه‌حال با استفاده از پایتون فایل صوتی‌ای را به متن تبدیل کردید برای ما از مشکلاتی که بر سر راهتان وجود داشته بنویسید.

میانگین امتیاز / 5. تعداد ارا :

مطالب پیشنهادی مرتبط

اشتراک در
اطلاع از
0 نظرات
بازخورد (Feedback) های اینلاین
مشاهده همه دیدگاه ها
[wpforms id="48325"]