Python за разпознаване на реч: Как да превеждам речта в текст?



Този блог обхваща концепцията за разпознаване на реч в python с примерна програма, която превежда речта в текст, използвайки разпознаване на реч.

Речта е най-често срещаното средство за комуникация по целия свят. По-голямата част от населението в света разчита на речта, за да общува помежду си. Да предположим, че изграждаме модел и вместо писмен подход искаме системата ни да реагира на речта, става доста трудно и изисква обработка на много данни. Система за разпознаване на реч преодолява тази бариера, като превежда речта в текст. В този блог ще преминем през разпознаването на речта модул в python . Ето списъка на същото:

Как работи разпознаването на реч?

Системата за разпознаване на реч основно превежда изречените изказвания в текст. Има различни реални примери за система за разпознаване на реч. Например - siri, който приема речта като вход и я превежда в текст.





Предимството на използването на система за разпознаване на реч е, че тя преодолява бариерата на грамотността. Моделът за разпознаване на реч може да обслужва както грамотна, така и неграмотна аудитория, тъй като се фокусира върху изказани изказвания.

Също така можем да направим опис на всички застрашени езици по света, използвайки система за разпознаване на реч. Въпреки че изглежда доста интригуващо и изобщо не е сложно, системата за разпознаване на реч е изправена пред много предизвикателства в процеса на създаване.



Предизвикателства пред разпознаване на реч Система

Системата за разпознаване на реч става трудна за създаване, тъй като имаме толкова много източници на променливост по отношение на речта.

Стил на говорене

Всеки отделен човек има разнообразен стил на говорене, включително и акценти. Както всички знаем, имаме различни акценти и за говорене на английски. Има американски английски, британски английски и толкова много други акценти, когато става въпрос за говорене на най-често срещания език в света. Произношението също така затруднява системата за разпознаване на речта да преведе речта изобщо.



Заобикаляща среда

Околната среда добавя много фонов шум към системата. Изолирана стая в сравнение с аудитория ще има много променливост във фоновите шумове. Дори ехото може да добави много шум в системата.

Характеристики на високоговорителите

Гласът на възрастен човек може да не е същият като гласа на бебето. Характеристиките на речта на човек зависят от много фактори, включително суровостта и яснотата.

Езикови ограничения

Някои изказани изказвания може да нямат жизнеспособно значение по отношение на превода.

След преодоляване на тези предизвикателства е доста постижимо за всяка система за разпознаване на реч да превежда речта в текст. След като вече знаем как работи разпознаването на реч, нека да разгледаме различното които са достъпни за разпознаване на реч в python.

Налични пакети за разпознаване на реч в python

  • apiai

  • Гласово разпознаване

  • Google_speech_cloud

  • Assemblyai

  • Pocketsphinx

  • Watson_developer_cloud

  • бял

Ще разгледаме подробностите за пакета SpeechRecognition в този блог, нека също така хвърлим поглед надолу по лентата на паметта, за да разберем как системите за разпознаване на реч са се развили през годините.

е hadoop трудно да се научи

Първият прототип на разпознаването на реч всъщност беше играчка, наречена радио рекс които дойдоха около 1920-те. Имаше куче, което седеше в къща за кучета, което щеше да изскочи веднага щом някой произнесе думата rex.

Единственият проблем на модела беше, че пружината беше прикрепена към електромагнит, който беше чувствителен към енергия, варираща около 500Hz. Тъй като е честотен детектор, той може отдалечено да бъде наречен като модел за разпознаване на реч.

През 1962 г. IBM излезе с кутия за обувки модел, който успя да разпознае изолирани думи и също така да извърши няколко аритметични операции.

После дойде ХАРПИ от CMU, който успя да разпознае свързана реч от речник с 1000 думи. Около 80-те години хората започват да използват статистически модели и една от най-използваните парадигми за машинно обучение е скритият марковски модел.

След въвеждането на дълбоки невронни мрежи, повечето от моделите за разпознаване на реч работят върху невронните мрежи. Възможностите са невъобразими с невронните мрежи, речникът може да достигне до 10 000 думи и повече.

Как да инсталирам SpeechRecognition в Python?

За да инсталирате SpeechRecognition пакет е python, изпълнете следната команда в терминала и той ще бъде инсталиран на вашата система.

инсталация-разпознаване на реч python-edureka

низ в константа в Java

Друг подход към това може да бъде добавянето на пакета от интерпретатора на проекта, ако използвате

Пакетът има клас Recognizer, който всъщност е мястото, където се случва магията. По принцип това е клас, който се използва за разпознаване на речта. Следват седем метода, които могат да четат различни аудио източници, използвайки различни API.

  • prepozna_bed ()
  • prepozna_google ()
  • prepozna_google_cloud ()
  • prepozna_houndify ()
  • prepozna_ibm ()
  • prepozna_wit ()
  • prepozna_sphinx ()

Сега, identify_sphinx може да се използва и за стартиране на системата за разпознаване на реч офлайн. Изисква инсталирането на Pocketsphinx.

импортиране на разпознаване на реч като sr #instance на разпознаващия клас r ​​= sr.Recognizer ()

Вземане на вход от микрофони

За да използваме микрофоните, ще трябва да инсталираме и pyaudio модул. Използваме класа на микрофона, за да получим входната реч от микрофона, вместо от който и да е друг метод на въвеждане като аудио файл.

За повечето проекти можем да използваме микрофоните по подразбиране. Но ако не искате да използвате микрофона по подразбиране,можете да получите списъка с имена на микрофони, като използвате метода list_microphone_names.

За улавяне на входа от микрофона използваме метода за слушане.

импортиране на разпознаване на реч като sr r = sr.Recognizer () с sr.Microphone () като източник: audio = sr.listen (източник)

Как да инсталирам Pyaudio в Python?

За да инсталирате Pyaudio в python, изпълнете следната команда в терминала или ако използвате pycharm, добавете пакета от интерпретатора на проекта в настройките.

Случай за употреба

Ще направим програма, използвайки модула за разпознаване на реч в python, за да разпознаем речта и да изпълним следното:

  1. конвертирате речта в текст
  2. отворете URL с помощта на модула за уеб браузър
  3. предайте заявка, използвайки разпознаване на реч, за да направите търсене в URL адреса

По-долу е програмата за горното изявление на проблема:

импортиране на language_recognition като sr импортиране на уеб браузър като wb r1 = sr.Recognizer () r2 = sr.Recognizer () r3 = sr.Recognizer () с sr.Microphone () като източник: print ('[search edureka: search youtube]') print ('говори сега') audio = r3.listen (източник), ако 'edureka' в r2.recognize_google (аудио): r2 = sr.Recognizer () url = 'https://www.edureka.co/' с sr .Микрофон () като източник: print ('търсене на вашата заявка') audio = r2.listen (source) try: get = r2.recognize_google (audio) print (get) wb.get (). Open_new (url + get) освен sr.UnknownValueError: print ('error') с изключение на sr.RequestError as e: print ('failed'.format (e)) if' video 'in r1.recognize_google (audio): r1 = sr.Recognizer () url =' https://www.youtube.com/results?search_query= 'с sr.Microphone () като източник: print (' търсене на видео ') audio = r2.listen (source) try: get = r1.recognize_google (audio ) print (get) wb.get (). open_new (url + get) с изключение на sr.UnknownValueError: print ('не може да се разбере') с изключение на sr.RequestError като e: print (неуспешно получаване на резултати'.format (e) )

Ще получите изхода, както е показано на изображението. Ако кажете edureka, той ще ви подкани да заявите заявката, която искате да търсите в urure edureka, който сме записали в променливата url. Ако кажете python, ще получите следната уеб страница, отворена в браузъра.

В този блог обсъдихме как можем да използваме разпознаването на реч в python, за да преведем речта в текст, използвайки пакета за разпознаване на реч. се превърна в необходимост на часа за понятия като разпознаване на реч или обезценяване на обект, с които осигуряват невъобразими възможности за системи за разпознаване на реч, където можем да обучим и тестваме огромни речеви данни за изграждане на система. Можете да се запишете в за дълбоки невронни мрежи, за да овладеете уменията си и да започнете обучението си.

има ли въпроси? споменете ги в коментарите, ние ще се свържем с вас.