sto pensando di realizzare un progetto che richiederebbe un'interazione vocale con l'utente(tramite ovviamente riconoscimento vocale e successiva risposta dell'aggeggio, con un sintetizzatore) e sto cominciando a guardarmi intorno circa le possibilità di realizzazione.
In quanto perlopiù ignorante riguardo l'elettronica, vi chiedo:
di quale hardware avrei bisogno per attuare una simile funzione di interazione vocale(oppure, di quali componenti principali hanno bisogno "Alexa" o "Google Home" per funzionare?)?
questi componenti, sarebbero eventualmente gestibili con processori Arduino?
di quale hardware avrei bisogno per attuare una simile funzione di interazione vocale
Hardware "Alexa" o "Google Home"
Scherzi a parte, hai idea di quanto complessi siano gli algoritmi di riconoscimento vocale?
Per quel che mi è capitato di leggere, di opensource c'è qualcosa negli SDK Espressif per ESP32 e nel mondo ARM
cotestatnt:
Hardware "Alexa" o "Google Home"
Scherzi a parte, hai idea di quanto complessi siano gli algoritmi di riconoscimento vocale?
Per quel che mi è capitato di leggere, di opensource c'è qualcosa negli SDK Espressif per ESP32 e nel mondo ARM
Mannaggia, era proprio la risposta che temevo di ricevere!
Quindi dici che sia infattibile, senza anni di lavoro né un team di sviluppo?
Non per frustrare i tuoi progetti, ma ... avevo visto tempo fa un video di un'applicazione amatoriale che gestiva una casa domotica con comandi vocali ... ma per darti un'idea di quello che serve, il tipo che l'ha realizzato, per poter usare i comandi a voce, ha "cannibalizzato" un portatilino da 14" con processore i3, togliendogli la scheda madre ed usandola come "super-MCU" con riconoscimento vocale integrato (e nel video non c'era alcun accenno al software usato per farlo, fra l'altro) ... e nonostante girasse su un i3, a volte falliva il riconoscimento e doveva ripetere il comando ...
greg_bocca:
Quindi dici che sia infattibile, senza anni di lavoro né un team di sviluppo?
Infattibile no, ma sicuramente non è roba da principianti. Io non saprei da dove iniziare, tanto per dire (o forse si, ma non saprei come andare avanti di sicuro )
Comunque, ad esempio negli ultimi Echo di Amazon usano questi devices https://www.mediatek.com/products/entertainment/voice-assistant-devices
Ci sono anche dei dev-kit in vendita e non costano nemmeno eccessivamente (49$).
greg_bocca:
sto pensando di realizzare un progetto che richiederebbe un'interazione vocale con l'utente(tramite ovviamente riconoscimento vocale e successiva risposta dell'aggeggio, con un sintetizzatore) e sto cominciando a guardarmi intorno circa le possibilità di realizzazione.
Ciao greg_bocca, come già detto negli interventi precedenti il riconoscimento e la sintesi vocale non sono cose semplici da fare. Spesso però ci dimentichiamo della potenza e delle funzionalità presenti nei nostri fedeli "compagni" smartphone ( anche non recentissimi ). Tramite apposita app uno smartphone può sostituire i vari "aggeggi" di Amazon e Google.
Oltre alle app già scaricabili esiste poi la possibilità di crearci in casa un'interfaccia per tradurre il parlato in testo e viceversa. Quando sentii parlare di questa possibilità pensavo fosse un qualcosa solamente per mega esperti ed invece risulta alla portata di tutti. Io per fare alcune prove ho utilizzato Basic for Android (B4A) e devo dire che la semplicità dell'approccio risulta disarmante. Riporto di seguito poche linee di codice che permettono di scrivere quanto viene pronunciato e poi di ripeterlo tramite sintesi vocale.
'Activity module
Sub Process_Globals
Dim VR As VoiceRecognition
Dim TTS1 As TTS
End Sub
Sub Globals
End Sub
Sub Activity_Create(FirstTime As Boolean)
If FirstTime Then
VR.Initialize("VR")
TTS1.Initialize("TTS1")
End If
Activity.LoadLayout("1")
If VR.IsSupported Then
ToastMessageShow("Voice recognition is supported.", False)
Else
ToastMessageShow("Voice recognition is not supported.", True)
End If
VR.Prompt = "Say your message"
VR.Listen
End Sub
Sub Button1_Click
VR.Listen 'calls the voice recognition external activity. Result event will be raised.
End Sub
Sub VR_Result (Success As Boolean, Texts As List)
If Success = True Then ' se è stato riconosciuto un testo valido allora...
ToastMessageShow(Texts.Get(0), True) ' tra tutti i testi possibili viene preso il primo che risulta il più probabile
TTS1.Speak(Texts.Get(0), True)
End If
End Sub
Ricordo che da parecchio tempo B4A risulta gratuito e che, potendo gestire le varie interfacce dello smartphone, riesce anche ad inviare dati, ad esempio, tramite USB ad un eventuale Arduino ( o simili ) collegati.
Per ribadire la complessità e potenza raggiunta dagli smartphone ti dico poi che anche con un vecchio Sony T3 con 1 GB di ram e Android 4.4 sono riuscito a fare il riconoscimento vocale anche offline ( logicamente meno velocemente e in modo meno preciso di quando viene utilizzata la rete per far fare il grosso del lavoro ai server di Amazon e Google ).
Se possiedi quindi dei vecchi smartphone prova a vedere se possono essere utilizzati per quanto intendi fare.
Ciao greg_bocca, non ho capito se il tuo silenzio derivi dall'aver messo da parte l'idea del progetto o cosa. Se non volessi utilizzare un cellulare per il riconoscimento e sintetizzazione vocale ho trovato, da una ricerca in Google, il seguente "oggettino" : https://fortebit.tech/speech-recognition/
Non lo conosco ma sembrerebbe interessante....
Diego67:
Ciao greg_bocca, non ho capito se il tuo silenzio derivi dall'aver messo da parte l'idea del progetto o cosa. Se non volessi utilizzare un cellulare per il riconoscimento e sintetizzazione vocale ho trovato, da una ricerca in Google, il seguente "oggettino" : https://fortebit.tech/speech-recognition/
Non lo conosco ma sembrerebbe interessante....
Devo dire "oggettino" molto interessante!!
La mia scomparsa dal forum è stata dovuta ad impegni vari, non all'aver(per ora ) abbandonato il progetto... voglio prima passare in rassegna tutte le possibilità.
Il modulo fortebit mi pare di capire funga comunque solo da riconoscimento vocale(non coprirebbe, quindi, la sintesi), o sbaglio? In caso sia così, come potrei arrangiarmi per "mettere in piedi" un sintetizzatore vocale? È complicato come un sistema per il riconoscimento?
Comunque davvero chip molto interessante, approfondirò sicuramente meglio a quali funzioni possa assolvere(e come).
cotestatnt:
Infattibile no, ma sicuramente non è roba da principianti. Io non saprei da dove iniziare, tanto per dire (o forse si, ma non saprei come andare avanti di sicuro )
Comunque, ad esempio negli ultimi Echo di Amazon usano questi devices https://www.mediatek.com/products/entertainment/voice-assistant-devices
Ci sono anche dei dev-kit in vendita e non costano nemmeno eccessivamente (49$).