Sommario:
- Passaggio 1: array di 4 microfoni USB ReSpeaker
- Passaggio 2: installa le librerie richieste
- Passaggio 3: sintesi vocale in Python con la libreria Pyttsx3
- Passaggio 4: mettere tutto insieme: costruire il riconoscimento vocale con Python utilizzando l'API di riconoscimento vocale di Google e la libreria Pyttsx3
Video: Riconoscimento vocale utilizzando l'API Google Speech e Python: 4 passaggi
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 10:01
Riconoscimento vocale
Il riconoscimento vocale fa parte dell'elaborazione del linguaggio naturale, un sottocampo dell'intelligenza artificiale. Per dirla semplicemente, il riconoscimento vocale è la capacità di un software per computer di identificare parole e frasi nella lingua parlata e convertirle in testo leggibile dall'uomo. Viene utilizzato in diverse applicazioni come sistemi di assistente vocale, automazione domestica, chatbot vocali, robot con interazione vocale, intelligenza artificiale e così via.
Esistono diverse API (Application Programming Interface) per il riconoscimento del parlato. Offrono servizi sia gratuiti che a pagamento. Questi sono:
- CMU Sfinge
- Riconoscimento vocale di Google
- API di Google Cloud Speech
- Wit.ai
- Riconoscimento vocale Microsoft Bing
- API Houndify
- IBM Speech To Text
- Rilevamento Hotword Snowboy
Utilizzeremo Google Speech Recognition qui, poiché non richiede alcuna chiave API. Questo tutorial mira a fornire un'introduzione su come utilizzare la libreria di riconoscimento vocale di Google su Python con l'aiuto di un microfono esterno come ReSpeaker USB 4-Mic Array di Seeed Studio. Sebbene non sia obbligatorio utilizzare il microfono esterno, è possibile utilizzare anche il microfono integrato del laptop.
Passaggio 1: array di 4 microfoni USB ReSpeaker
ReSpeaker USB Mic è un dispositivo a quattro microfoni progettato per AI e applicazioni vocali, sviluppato da Seeed Studio. Dispone di 4 microfoni omnidirezionali integrati ad alte prestazioni progettati per captare la tua voce da qualsiasi punto della stanza e 12 indicatori LED RGB programmabili. Il microfono USB ReSpeaker supporta i sistemi operativi Linux, macOS e Windows. I dettagli possono essere trovati qui.
Il microfono USB ReSpeaker viene fornito in una bella confezione contenente i seguenti elementi:
- Una guida per l'utente
- Array di microfoni USB ReSpeaker
- Cavo da micro USB a USB
Quindi siamo pronti per iniziare.
Passaggio 2: installa le librerie richieste
Per questo tutorial, presumo che tu stia usando Python 3.x.
Installiamo le librerie:
pip3 installa SpeechRecognition
Per macOS, prima dovrai installare PortAudio con Homebrew, quindi installare PyAudio con pip3:
brew installa portaudio
Eseguiamo sotto il comando per installare pyaudio
pip3 installa pyaudio
Per Linux, puoi installare PyAudio con apt:
sudo apt-get install python-pyaudio python3-pyaudio
Per Windows, puoi installare PyAudio con pip:
pip installa pyaudio
Crea un nuovo file Python
nano get_index.py
Incolla su get_index.py sotto lo snippet di codice:
importare pyaudio
p = pyaudio. PyAudio() info = p.get_host_api_info_by_index(0)numdevices = info.get('deviceCount') for i in range(0, numdevices): if (p.get_device_info_by_host_api_device_index(0, i).get('maxInputChannels) ')) > 0: print ("ID dispositivo di input ", i, " - ", p.get_device_info_by_host_api_device_index(0, i).get('name'))
Esegui il seguente comando:
python3 get_index.py
Nel mio caso, il comando fornisce il seguente output allo schermo:
ID dispositivo di input 1 - ReSpeaker 4 Mic Array (UAC1.0)
ID dispositivo di input 2 - microfono MacBook Air
Cambia device_index in index number secondo la tua scelta nel frammento di codice sottostante.
import speech_recognition come sr
r = sr. Recognizer() speech = sr. Microphone(device_index=1) con speech come sorgente: print("dici qualcosa!…") audio = r.adjust_for_ambient_noise(source) audio = r.listen(source) try: recog = r.recognize_google(audio, language = 'en-US') print("Hai detto: " + recog) tranne sr. UnknownValueError: print("Google Speech Recognition non ha capito l'audio") tranne sr. RequestError come e: print ("Impossibile richiedere risultati dal servizio di riconoscimento vocale di Google; {0}".format(e))
L'indice del dispositivo è stato scelto 1 perché ReSpeaker 4 Mic Array sarà come fonte principale.
Passaggio 3: sintesi vocale in Python con la libreria Pyttsx3
Sono disponibili diverse API per convertire il testo in parlato in Python. Una di queste API è pyttsx3, che secondo me è il miglior pacchetto di sintesi vocale disponibile. Questo pacchetto funziona su Windows, Mac e Linux. Controlla la documentazione ufficiale per vedere come è fatto.
Installa il pacchetto Usa pip per installare il pacchetto.
pip installa pyttsx3
Se sei in Windows, avrai bisogno di un pacchetto aggiuntivo, pypiwin32, di cui avrà bisogno per accedere all'API vocale di Windows nativa.
pip install pypiwin32
Converti lo script Python in sintesi vocaleDi seguito è riportato lo snippet di codice per la sintesi vocale utilizzando pyttsx3:
importa pyttsx3
motore = pyttsx3.init()
engine.setProperty('rate', 150) # Speed percent
engine.setProperty('volume', 0.9) # Volume 0-1
engine.say("Ciao, mondo!")
engine.runAndWait()
Passaggio 4: mettere tutto insieme: costruire il riconoscimento vocale con Python utilizzando l'API di riconoscimento vocale di Google e la libreria Pyttsx3
Il codice seguente è responsabile del riconoscimento del parlato umano utilizzando Google Speech Recognition e della conversione del testo in parlato utilizzando la libreria pyttsx3.
import speech_recognition come sr
import pyttsx3 engine = pyttsx3.init() engine.setProperty('rate', 200) engine.setProperty('volume', 0.9) r = sr. Recognizer() speech = sr. Microphone(device_index=1) con voce come sorgente: audio = r.adjust_for_ambient_noise(source) audio = r.listen(source) try: recog = r.recognize_google(audio, language = 'en-US') print("Hai detto: " + recog) engine.say(" Hai detto: " + recog) engine.runAndWait() tranne sr. UnknownValueError: engine.say("Google Speech Recognition non è riuscito a capire l'audio") engine.runAndWait() tranne sr. RequestError come e: engine.say("Could not richiedi i risultati dal servizio di riconoscimento vocale di Google; {0}".format(e)) engine.runAndWait()
Stampa l'output sul terminale. Inoltre, verrà convertito anche in discorso.
Hai detto: Londra è la capitale della Gran Bretagna
Spero che ora tu abbia una migliore comprensione di come funziona il riconoscimento vocale in generale e, cosa più importante, di come implementarlo utilizzando l'API di riconoscimento vocale di Google con Python.
Se hai domande o feedback? Lascia un commento qui sotto. Rimani sintonizzato!
Consigliato:
Vocal GOBO - Scudo smorzatore del suono - Cabina vocale - Box vocale - Filtro di riflessione - Scudo vocale: 11 passaggi
Vocal GOBO - Sound Dampener Shield - Vocal Booth - Vocal Box - Reflexion Filter - Vocalshield: ho iniziato a registrare più voci nel mio home studio e volevo ottenere un suono migliore e dopo alcune ricerche ho scoperto che cosa è un "GOBO" era. Avevo visto queste cose che smorzano il suono, ma non mi rendevo davvero conto di cosa facessero. Ora faccio. ho trovato un y
Riconoscimento vocale con Arduino (Bluetooth + LCD + Android): 6 passaggi
Riconoscimento vocale con Arduino (Bluetooth + LCD + Android): In questo progetto, faremo il riconoscimento vocale con Arduino, modulo Bluetooth (HC-05) e LCD. costruiamo il tuo dispositivo di riconoscimento vocale
Riconoscimento facciale e identificazione - Arduino Face ID utilizzando OpenCV Python e Arduino.: 6 passaggi
Riconoscimento facciale e identificazione | Arduino Face ID utilizzando OpenCV Python e Arduino.: Il riconoscimento facciale AKA Face ID è una delle funzionalità più importanti sui telefoni cellulari al giorno d'oggi. Quindi, ho avuto una domanda "posso avere un ID faccia per il mio progetto Arduino" e la risposta è sì… Il mio viaggio è iniziato come segue: Fase 1: Accesso a noi
Specchio Magico Intelligente Galleggiante dal Vecchio Computer Portatile con Riconoscimento Vocale Alexa: 6 Passaggi (Illustrato)
Specchio magico intelligente galleggiante dal vecchio laptop con riconoscimento vocale Alexa: iscriviti al mio corso "Elettronica in poche parole" qui: https://www.udemy.com/electronics-in-a-nutshell/?couponCode=TINKERSPARK Dai un'occhiata anche al mio canale youtube qui per altri progetti e tutorial di elettronica: https://www.youtube.com/channel/UCelOO
Come connettere l'applicazione Android con AWS IOT e comprendere l'API di riconoscimento vocale: 3 passaggi
Come connettere l'applicazione Android con AWS IOT e comprendere l'API di riconoscimento vocale: questo tutorial insegna all'utente come connettere l'applicazione Android al server AWS IOT e comprendere l'API di riconoscimento vocale che controlla una macchina da caffè. L'applicazione controlla la macchina da caffè tramite Alexa Voice Service, il c