Riconoscimento vocale Python: come tradurre il parlato in testo?

Questo blog tratta il concetto di riconoscimento vocale in Python con un programma di esempio che traduce il parlato in testo utilizzando il riconoscimento vocale.

La parola è il mezzo di comunicazione più comune nel mondo. La maggior parte della popolazione nel mondo fa affidamento sulla parola per comunicare tra loro. Supponiamo che stiamo costruendo un modello e invece di un approccio scritto vogliamo che il nostro sistema risponda al parlato, diventa abbastanza difficile e richiede molti dati per essere elaborato. Un sistema di riconoscimento vocale supera questa barriera traducendo il parlato in testo. In questo blog, esamineremo il riconoscimento vocale modulo in python . Ecco l'elenco degli stessi:

Come funziona il riconoscimento vocale?

Il sistema di riconoscimento vocale traduce fondamentalmente le espressioni parlate in testo. Ci sono vari esempi di vita reale di sistemi di riconoscimento vocale. Ad esempio - siri, che prende il discorso come input e lo traduce in testo.





Il vantaggio di utilizzare un sistema di riconoscimento vocale è che supera la barriera dell'alfabetizzazione. Un modello di riconoscimento vocale può servire sia il pubblico alfabetizzato che quello analfabeta, poiché si concentra sulle espressioni parlate.

Possiamo anche fare un inventario di tutte le lingue a rischio di estinzione nel mondo utilizzando un sistema di riconoscimento vocale. Anche se sembra piuttosto intrigante e per niente complesso, un sistema di riconoscimento vocale deve affrontare molte sfide in fase di realizzazione.



Sfide affrontate da un riconoscimento vocale Sistema

Un sistema di riconoscimento vocale diventa difficile da realizzare perché abbiamo così tante fonti di variabilità quando si tratta di parlare.

Stile di parlare

Ogni singola persona ha uno stile di parlare vario, inclusi anche gli accenti. Come tutti sappiamo, abbiamo anche accenti diversi per parlare inglese. C'è l'inglese americano, l'inglese britannico e tanti altri accenti quando si tratta di parlare la lingua più comune al mondo. La pronuncia rende anche difficile per un sistema di riconoscimento vocale tradurre completamente il discorso.



Ambiente

L'ambiente aggiunge anche molto rumore di fondo al sistema. Una stanza isolata rispetto ad un auditorium avrà molta variabilità nei rumori di fondo. Anche l'eco può aggiungere molto rumore al sistema.

Caratteristiche degli altoparlanti

La voce di una persona anziana potrebbe non essere la stessa di quella di un bambino. Le caratteristiche del discorso di una persona dipendono da molti fattori, tra cui anche la durezza e la chiarezza.

Vincoli linguistici

Alcune espressioni parlate potrebbero non avere un significato praticabile quando si tratta di traduzione.

Dopo aver superato queste sfide, è abbastanza realizzabile per qualsiasi sistema di riconoscimento vocale tradurre la voce in testo. Ora che sappiamo come funziona il riconoscimento vocale, diamo un'occhiata a diversi disponibili per il riconoscimento vocale in Python.

Pacchetti disponibili per il riconoscimento vocale in Python

  • apiai

  • Riconoscimento vocale

  • Google_speech_cloud

  • assemblyai

  • Taschefinge

  • Watson_developer_cloud

    è un ha un java
  • bianca

Analizzeremo i dettagli del pacchetto SpeechRecognition in questo blog, diamo anche un'occhiata alla memoria per capire come si sono evoluti i sistemi di riconoscimento vocale nel corso degli anni.

Il primissimo prototipo del riconoscimento vocale era infatti un giocattolo, chiamato radio rex avvenuta intorno agli anni '20. Aveva un cane seduto in una cuccia che sarebbe saltato fuori non appena qualcuno avesse pronunciato la parola rex.

come creare un parametro in tableau

L'unico problema con il modello era che la molla era collegata a un elettromagnete sensibile all'energia che si aggirava intorno ai 500 Hz. Essendo puramente un rilevatore di frequenza, potrebbe essere definito a distanza come un modello di riconoscimento vocale.

Nel 1962, IBM inventò un file scatola da scarpe modello in grado di riconoscere parole isolate ed eseguire anche alcune operazioni aritmetiche.

Poi è arrivato ARPIA da CMU, che era in grado di riconoscere il discorso connesso da un vocabolario di 1000 parole. Intorno agli anni '80 le persone hanno iniziato a utilizzare modelli statistici e uno dei paradigmi di apprendimento automatico più utilizzati è stato il modello markov nascosto.

Dopo l'introduzione delle reti neurali profonde, la maggior parte dei modelli di riconoscimento vocale funziona sulle reti neurali. Le possibilità sono inimmaginabili con le reti neurali, il vocabolario può arrivare fino a 10k parole e più.

Come installare SpeechRecognition in Python?

Per installare SpeechRecognition il pacchetto è python, esegui il seguente comando nel terminale e verrà installato sul tuo sistema.

installazione-riconoscimento vocale python-edureka

Un altro approccio a questo, può essere l'aggiunta del pacchetto dall'interprete del progetto se stai usando

Il pacchetto ha una classe Recognizer che è fondamentalmente dove avviene la magia. È fondamentalmente una classe che viene utilizzata per riconoscere il discorso. Di seguito sono riportati sette metodi che possono leggere varie sorgenti audio utilizzando API diverse.

  • riconoscere_bing ()
  • riconoscere_google ()
  • riconoscere_google_cloud ()
  • riconoscere_houndify ()
  • riconoscere_ibm ()
  • riconoscere_wit ()
  • riconosce_sfinge ()

Ora, recognition_sphinx può essere utilizzato anche per eseguire offline il sistema di riconoscimento vocale. Richiede l'installazione di Pocketsphinx.

importa il riconoscimento vocale come sr #istanza della classe di riconoscimento r = sr.Recognizer ()

Prendendo input dai microfoni

Per utilizzare i microfoni, dovremo installare anche il modulo pyaudio. Usiamo la classe microfono per ottenere il parlato in ingresso dal microfono invece di qualsiasi altro metodo di input come un file audio.

Per la maggior parte dei progetti, possiamo utilizzare i microfoni predefiniti. Ma se non desideri utilizzare il microfono predefinito,puoi ottenere l'elenco dei nomi dei microfoni utilizzando il metodo list_microphone_names.

Per catturare l'input dal microfono utilizziamo il metodo di ascolto.

importa il riconoscimento vocale come sr r = sr.Recognizer () con sr.Microphone () come sorgente: audio = sr.listen (sorgente)

Come installare Pyaudio in Python?

Per installare Pyaudio in python, esegui il seguente comando nel terminale o se stai usando pycharm aggiungi il pacchetto dall'interprete del progetto nelle impostazioni.

Caso d'uso

Creeremo un programma utilizzando il modulo di riconoscimento vocale in python per riconoscere il parlato ed eseguire quanto segue:

  1. converti il ​​discorso in testo
  2. aprire un URL utilizzando il modulo browser web
  3. passare una query utilizzando il riconoscimento vocale per effettuare una ricerca nell'URL

Di seguito è riportato il programma per la dichiarazione del problema di cui sopra:

importa speech_recognition come sr importa webbrowser come wb r1 = sr.Recognizer () r2 = sr.Recognizer () r3 = sr.Recognizer () con sr.Microphone () come sorgente: print ('[search edureka: search youtube]') print ('speak now') audio = r3.listen (source) if 'edureka' in r2.recognize_google (audio): r2 = sr.Recognizer () url = 'https://www.edureka.co/' with sr .Microphone () come sorgente: print ('cerca la tua query') audio = r2.listen (sorgente) prova: get = r2.recognize_google (audio) print (get) wb.get (). Open_new (url + get) tranne sr.UnknownValueError: print ('errore') eccetto sr.RequestError come e: print ('failed'.format (e)) if' video 'in r1.recognize_google (audio): r1 = sr.Recognizer () url =' https://www.youtube.com/results?search_query= 'con sr.Microphone () come fonte: print (' cerca un video ') audio = r2.listen (fonte) try: get = r1.recognize_google (audio ) print (get) wb.get (). open_new (url + get) eccetto sr.UnknownValueError: print ('non poteva capire') eccetto sr.RequestError come e: print (impossibile ottenere risultati'.format (e) )

Otterrai l'output come mostrato nell'immagine. Se dici edureka, ti verrà chiesto di pronunciare la query che desideri cercare nell'URL di edureka che abbiamo scritto nella variabile url. Se dici python otterrai la seguente pagina web aperta nel browser.

In questo blog, abbiamo discusso di come possiamo usare il riconoscimento vocale in Python per tradurre il parlato in testo usando il pacchetto di riconoscimento vocale. è diventata la necessità del momento per concetti come riconoscimento vocale o abbattimento di oggetti, con il che forniscono possibilità inimmaginabili ai sistemi di riconoscimento vocale dove possiamo addestrare e testare enormi dati vocali per costruire un sistema. per reti neurali profonde per padroneggiare le tue capacità e dare il via al tuo apprendimento.

hai domande? menzionali nei commenti, ti ricontatteremo.