Un recente thread sulla IA ha risvegliato una mia vecchia curiosità.
Come funziona il riconoscimento vocale, ormai presente su qualsiasi smartphone con stupefacente efficacia? Parte da una tabella di decodifica di qualche tipo di modulazione impressa alla voce umana? Dal confronto con una simulazione della fisiologia della fonazione? Da una statistica su numerosissimi casi empirici? Ma come si fa una statistica senza prestabilire quali sono i parametri che caratterizzano ogni caso? Ho sentito parlare di Cepstrum, c'entra qualcosa?
Mi piacerebbe potermi cimentare col riconoscimento dei rumori, che forse risulta più abbordabile, magari su un hardware a livello MCU. Ho anche tentato qualcosa ma con risultati del tutto deludenti.
Riconoscimento vocale
8 messaggi
• Pagina 1 di 1
0
voti
EcoTan ha scritto:... Come funziona il riconoscimento vocale, ormai presente su qualsiasi smartphone con stupefacente efficacia? ....
In modo molto semplificato (perche' per approfondire servirebbero parecchi post)
I sistemi moderni, al contrario dei primi, dove dovevi preregistrare un sacco di frasi per "addestrare" il sistema alla tua voce, funzionano principalmente sui server remoti.
Ad esempio, prendi un sistema come "alexa" di Amazon, all'interno non c'e' un computer in grado di "capire" quello che dici (si, ne ho smontati un paio ), c'e' un processore dedicato (abbastanza potente ma con un set di istruzioni ridotto), una memoria che di solito contiene un modello di riconoscimento semplificato ed ottimizzato per le richieste piu banali (accendi la luce e simili, che non richiedono interpretazione), un sintetizzatore di voce per le risposte, ed alcuni programmi di base, oltre ad uno specifico chip (l'unico sempre in funzione) il cui unico scopo e' riconoscere la parola "alexa" in qualsiasi possibile modo venga pronunciata.
Questo chip dedicato e' quello che, quando pronunci il nome "alexa", accende tutto il resto ... se il comando successivo e' uno di quelli semplici e diretti, come ad esempio l'accendi la luce di prima, viene di solito riconosciuto ed esguito in locale (nel caso non venga riconosciuto, poco male, viene comunque inviato al cloud), se invece il comando richiede una qualsiasi forma di interazione con altri sistemi (ad esempio, "voglio sapere che tempo fara' domani", un programma chiamato "automatic speech recognition" interviene, trasforma il parlato in testo, lo cripta e lo spedisce alla rete AWS (spedire pochi caratteri di testo e' molto piu veloce che spedire una registrazione audio), la rete AWS (amazon web services, una rete distribuita di server in cloud) lo analizza, in genere con una serie di programmi "natural language understanding" in grado di rilevare il senso delle domande (ad esempio, "voglio sapere" si riferisce al fatto che vuoi una specifica risposta, "il tempo che fara' domani" si riferisce alla necessita' di interrogare altri sistemi contenenti previsioni meteo per costruire una risposta coerente da fornire all'utente, e cosi via), dopodiche' il server elabora una risposta che tenga conto di tutti i parametri e la rispedisce al tuo dispositivo sempre sottoforma di testo, nel tuo dispositivo poi un modulo text-to-speech pilotera' il sintetizzatore vocale per risponderti "a voce"
Tutto sto casino, solo perche' nel tuo dispositivo non ci stanno fisicamente ne dei processori con sufficente potenza, ne i sistemi di reti neurali profonde, ne la quantita' enorme di memoria necessaria a far funzionare dei "modelli di linguaggio" in grado di "capire" il senso della domanda scegliendo fra tutte le lingue possibili, tutte le intonazioni, tutti i "modi di dire" (alcuni sistemi riescono a capire anche quelli che vengono definiti "slang" ) , per interrogare i siti web corrispondenti al "senso" della domanda (qui ad esempio, i siti meteo), a "costruire" nella tua lingua una risposta corretta e gramaticalmente valida, eccetera.
"Sopravvivere" e' attualmente l'unico lusso che la maggior parte dei Cittadini italiani,
sia pure a costo di enormi sacrifici, riesce ancora a permettersi.
sia pure a costo di enormi sacrifici, riesce ancora a permettersi.
-

Etemenanki
9.522 3 6 10 - Master

- Messaggi: 5948
- Iscritto il: 2 apr 2021, 23:42
- Località: Dalle parti di un grande lago ... :)
0
voti
Dimenticavo, tempo fa ho visto in rete alcune realizzazioni domotiche a livello hobbystico dove i realizzatori avevano implementato una specie di riconoscimento vocale (lento e del primo tipo, dove dovevi preregistrare moltefrasi in modo che il sistema potesse poi distinguere i comandi), ma in tutti i casi l'hardware minimo era costituito dalla scheda madre di un portatile, spogliata di tutto il superfluo, e su cui girava un sistema contenente solo il necessario per capire i comandi ed eseguirli, ed anche li, fra comando ed esecuzione, spesso c'erano latenze di 4 o 5 secondi ... non sembra una cosa semplice da implementare via MCU 
"Sopravvivere" e' attualmente l'unico lusso che la maggior parte dei Cittadini italiani,
sia pure a costo di enormi sacrifici, riesce ancora a permettersi.
sia pure a costo di enormi sacrifici, riesce ancora a permettersi.
-

Etemenanki
9.522 3 6 10 - Master

- Messaggi: 5948
- Iscritto il: 2 apr 2021, 23:42
- Località: Dalle parti di un grande lago ... :)
0
voti
Ciao
Etemenanki,
se non ricordo male, il mio vecchio e rimpianto nokia 6310i, mi permetteva di fare le chiamate vocali dai numeri registrati in rubrica (tipo 'chiama'
Antonio Rossi, ma non ricordo se era necessario avere una connessione gprs attiva). Idem con i successivi N70 e N73 (ma questi sono sicuro che funzionavano anche senza connessione).
Poi è arrivato lo 'smartphone' e le cosa sono cambiate.
Non mi sembra che i nokia avessero delle cpu quantistiche
Valentino
se non ricordo male, il mio vecchio e rimpianto nokia 6310i, mi permetteva di fare le chiamate vocali dai numeri registrati in rubrica (tipo 'chiama'
Antonio Rossi, ma non ricordo se era necessario avere una connessione gprs attiva). Idem con i successivi N70 e N73 (ma questi sono sicuro che funzionavano anche senza connessione).
Poi è arrivato lo 'smartphone' e le cosa sono cambiate.
Non mi sembra che i nokia avessero delle cpu quantistiche
Valentino
0
voti
No, lo facevano in locale, anche se lentamente, pero' doveva riconoscere solo "chiama", seguito da un nome (ed a volte se ricordi, sbagliavano pure quelli)
Un mio amico li aveva, e spesso doveva ripetere il comando 3 o 4 volte.
Un mio amico li aveva, e spesso doveva ripetere il comando 3 o 4 volte.
"Sopravvivere" e' attualmente l'unico lusso che la maggior parte dei Cittadini italiani,
sia pure a costo di enormi sacrifici, riesce ancora a permettersi.
sia pure a costo di enormi sacrifici, riesce ancora a permettersi.
-

Etemenanki
9.522 3 6 10 - Master

- Messaggi: 5948
- Iscritto il: 2 apr 2021, 23:42
- Località: Dalle parti di un grande lago ... :)
0
voti
Etemenanki ha scritto:un programma chiamato "automatic speech recognition" interviene, trasforma il parlato in testo,
Ecco, il punto che mi incuriosisce è proprio questo. Ho provato a mettere lo smartphone off line e allora Google Chrome mi dice che la ricerca vocale non è disponibile, ne deduco che l'elaborazione non avviene localmente.
0
voti
Etemenanki ha scritto:Un mio amico li aveva, e spesso doveva ripetere il comando 3 o 4 volte.
Si è vero, ma una volta presa la mano ad 'imitare' la sua pronuncia andava alla grande! A patto di conoscere i codici ASCII degli apostrofi e lettere accentate.
Però secondo me con le cpu che ci sono oggi a bordo di qualsiasi telefonino si riuscirebbe ad implementare tranquillamente un riconoscitore vocale più che decente.
Se non mi sbaglio sulle prime versioni di android la chiamata vocale funzionava con la rubrica in 'locale' (e mi sembra anche senza connessione). Successivamente solo con la rubrica 'online'.
E' chiaro che le '(in)corporation' si sono altamente specializzate a farsi i 43 41 5A 5A 49 nostri.
Valentino
0
voti
EcoTan ha scritto:... Google Chrome mi dice che la ricerca vocale non è disponibile ...
Si, sulla maggior parte degli smartphone, fa tutto in cloud.
ipervale ha scritto:si sono altamente specializzate a farsi i 43 41 5A 5A 49 nostri
"Sopravvivere" e' attualmente l'unico lusso che la maggior parte dei Cittadini italiani,
sia pure a costo di enormi sacrifici, riesce ancora a permettersi.
sia pure a costo di enormi sacrifici, riesce ancora a permettersi.
-

Etemenanki
9.522 3 6 10 - Master

- Messaggi: 5948
- Iscritto il: 2 apr 2021, 23:42
- Località: Dalle parti di un grande lago ... :)
8 messaggi
• Pagina 1 di 1
Torna a Elaborazione numerica ed analogica dei segnali
Chi c’è in linea
Visitano il forum: Nessuno e 6 ospiti

Elettrotecnica e non solo (admin)
Un gatto tra gli elettroni (IsidoroKZ)
Esperienza e simulazioni (g.schgor)
Moleskine di un idraulico (RenzoDF)
Il Blog di ElectroYou (webmaster)
Idee microcontrollate (TardoFreak)
PICcoli grandi PICMicro (Paolino)
Il blog elettrico di carloc (carloc)
DirtEYblooog (dirtydeeds)
Di tutto... un po' (jordan20)
AK47 (lillo)
Esperienze elettroniche (marco438)
Telecomunicazioni musicali (clavicordo)
Automazione ed Elettronica (gustavo)
Direttive per la sicurezza (ErnestoCappelletti)
EYnfo dall'Alaska (mir)
Apriamo il quadro! (attilio)
H7-25 (asdf)
Passione Elettrica (massimob)
Elettroni a spasso (guidob)
Bloguerra (guerra)

