Talegenkendelse Python: Hvordan oversætter jeg tale til tekst?



Denne blog dækker begrebet talegenkendelse i python med et eksempelprogram, der oversætter tale til tekst ved hjælp af talegenkendelse.

Tale er det mest almindelige kommunikationsmiddel rundt om i verden. De fleste af verdens befolkning er afhængige af tale for at kommunikere med hinanden. Antag, at vi bygger en model, og i stedet for en skriftlig tilgang, vi ønsker, at vores system skal reagere på tale, bliver det ret vanskeligt og kræver, at mange data behandles. Et talegenkendelsessystem overvinder denne barriere ved at oversætte tale til tekst. I denne blog gennemgår vi talegenkendelsen modul i python . Her er listen over det samme:

Hvordan talegenkendelse fungerer?

Talegenkendelsessystem oversætter dybest set de talte udtalelser til tekst. Der er forskellige virkelige eksempler på talegenkendelsessystem. For eksempel- siri, der tager talen som input og oversætter den til tekst.





Fordelen ved at bruge et talegenkendelsessystem er, at det overvinder læsefærdighedens barriere. En model til talegenkendelse kan også tjene både læsefærdige og analfabeter, da den fokuserer på talte udtalelser.

Vi kan også foretage en oversigt over alle de truede sprog rundt om i verden ved hjælp af et talegenkendelsessystem. Selvom det ser ret spændende ud og slet ikke komplekst, står et talegenkendelsessystem over for mange udfordringer.



Udfordringer med en talegenkendelse System

Et talegenkendelsessystem bliver svært at lave, fordi vi har så mange variationskilder, når det kommer til tale.

Stilstilstand

Hver enkelt person har en varieret tale, herunder også accenter. Som vi alle ved, har vi forskellige accenter til at tale engelsk også. Der er amerikansk engelsk, britisk engelsk og så mange andre accenter, når det kommer til at tale det mest almindelige sprog i verden. Udtale gør det også vanskeligt for et talegenkendelsessystem at oversætte talen helt.



Miljø

Miljø tilføjer også meget baggrundsstøj til systemet. Et isoleret rum sammenlignet med et auditorium vil meget variere i baggrundsstøj. Selv ekko kan også tilføje en masse støj i systemet.

Højttaleregenskaber

En gammel persons stemme er muligvis ikke den samme som for et spædbarn. Karakteristikken ved en persons tale afhænger af mange faktorer, herunder også hårdhed og klarhed.

Sprogbegrænsninger

Nogle talte udtalelser har muligvis ikke en levedygtig betydning, når det kommer til oversættelse.

Efter at have overvundet disse udfordringer er det ret opnåeligt for ethvert talegenkendelsessystem at oversætte tale til tekst. Nu hvor vi ved, hvordan talegenkendelse fungerer, kan vi se på forskellige der er tilgængelige til talegenkendelse i python.

Pakker til rådighed til talegenkendelse i python

  • apiai

  • Tale genkendelse

  • Google_speech_cloud

  • forsamling

  • Lommesfinx

  • Watson_udvikler_cloud

  • hvid

Vi vil gennemgå detaljerne i SpeechRecognition-pakken i denne blog, lad os også kigge ned i hukommelsesfeltet for at forstå, hvordan talegenkendelsessystemer har udviklet sig gennem årene.

Den allerførste prototype af talegenkendelsen var faktisk et legetøj, der hedder radio rex der kom omkring 1920'erne. Den havde en hund, der sad i et hundehus, som ville springe ud, så snart nogen sagde ordet rex.

java hvad er en vektor

Det eneste problem med modellen var, at fjederen var fastgjort til en elektromagnet, der var følsom over for energi på omkring 500 Hz. At være rent en frekvensdetektor, kan det fjernbetegnes som en talegenkendelsesmodel.

I 1962 kom IBM op med en skokasse model, som også kunne genkende isolerede ord og også udføre et par aritmetiske operationer.

Så kom HARPY fra CMU, som var i stand til at genkende tilsluttet tale fra et ordforråd på 1000 ord. Omkring 1980'erne begyndte folk at bruge statistiske modeller, og et af de mest anvendte machine learning-paradigmer var den skjulte markov-model.

Efter introduktionen af ​​dybe neurale netværk fungerer de fleste af talegenkendelsesmodellerne på de neurale netværk. Mulighederne er utænkelige med de neurale netværk, ordforrådet kan gå op til 10k ord og mere.

Sådan installeres SpeechRecognition i Python?

For at installere SpeechRecognition-pakken er python, skal du køre følgende kommando i terminalen, og den vil blive installeret på dit system.

installation-talegenkendelse python-edureka

En anden tilgang til dette kan være at tilføje pakken fra projekttolken, hvis du bruger

Pakken har en Recognizer-klasse, som dybest set er, hvor magien sker. Det er dybest set en klasse, der bruges til at genkende talen. Følgende er syv metoder, som kan læse forskellige lydkilder ved hjælp af forskellige API'er.

  • genkende ()
  • anerkende_google ()
  • anerkende_google_cloud ()
  • genkende_houndify ()
  • genkende_ibm ()
  • genkend_wit ()
  • genkende_sphinx ()

Nu kan recogn_sphinx også bruges til at køre talegenkendelsessystemet offline. Det kræver installation af Pocketsphinx.

importer talegenkendelse som sr #instance of recognizer class r = sr.Recognizer ()

Tager input fra mikrofoner

For at bruge mikrofonerne bliver vi også nødt til at installere pyaudio-modulet. Vi bruger mikrofonklassen til at få input-talen fra mikrofonen i stedet for enhver anden inputmetode som en lydfil.

For de fleste projekter kan vi bruge standardmikrofoner. Men hvis du ikke ønsker at bruge standardmikrofonen,du kan få listen over mikrofonnavne ved hjælp af metoden list_microphone_names.

For at fange input fra mikrofonen bruger vi lytmetoden.

import talegenkendelse som sr r = sr.Recognizer () med sr.Microphone () som kilde: lyd = sr.listen (kilde)

Sådan installeres Pyaudio i Python?

For at installere Pyaudio i python skal du køre følgende kommando i terminalen, eller hvis du bruger pycharm, skal du tilføje pakken fra projekttolken i indstillingerne.

Brug sag

Vi laver et program ved hjælp af talegenkendelsesmodulet i python til at genkende tale og udføre følgende:

  1. konvertere talen til tekst
  2. åbne en URL ved hjælp af webbrowser-modulet
  3. send en forespørgsel ved hjælp af talegenkendelse for at foretage en søgning i url

Følgende er programmet til ovenstående problemangivelse:

importer tale_genkendelse som sr import webbrowser som wb r1 = sr.Recognizer () r2 = sr.Recognizer () r3 = sr.Recognizer () med sr.Microphone () som kilde: print ('[search edureka: search youtube]') udskriv ('tal nu') lyd = r3.listen (kilde) hvis 'edureka' i r2.recognize_google (lyd): r2 = sr.Recognizer () url = 'https://www.edureka.co/' med sr .Mikrofon () som kilde: udskriv ('søg din forespørgsel') audio = r2.listen (kilde) prøv: get = r2.recognize_google (lyd) print (get) wb.get (). Open_new (url + get) undtagen sr.UnknownValueError: print ('error') undtagen sr.RequestError som e: print ('failed'. format (e)) hvis 'video' i r1.recognize_google (lyd): r1 = sr.Recognizer () url = ' https://www.youtube.com/results?search_query= 'med sr.Microphone () som kilde: print (' søg efter en video ') lyd = r2.listen (kilde) prøv: get = r1.recognize_google (lyd ) print (get) wb.get (). open_new (url + get) undtagen sr.UnknownValueError: print ('kunne ikke forstå') undtagen sr.RequestError som e: print (kunne ikke opnå resultater '. format (e) )

Du får output, som det er vist på billedet. Hvis du siger edureka, vil det bede dig om at sige den forespørgsel, du vil søge i edureka url, som vi har skrevet i url-variablen. Hvis du siger python, får du følgende webside åbnet i browseren.

I denne blog har vi diskuteret, hvordan vi kan bruge talegenkendelse i python til at oversætte tale til tekst ved hjælp af talegenkendelsespakken. er blevet timens behov for begreber som talegenkendelse eller objektnedtrykhed med der giver ufattelige muligheder for talegenkendelsessystemer, hvor vi kan træne og teste enorme taledata for at opbygge et system. Du kan tilmelde dig for dybe neurale netværk til at mestre dine færdigheder og kickstarte din læring.

har du spørgsmål? nævner dem i kommentarerne, vi vender tilbage til dig.