Cos'è ElectroYou | Login Iscriviti

ElectroYou - la comunità dei professionisti del mondo elettrico

Riconoscimento vocale

teoria dei segnali, elaborazione, trasformate Z, Fourier, segnali caratterizzati da processi e variabli aleatorie, stimatori, DSP

Moderatori: Foto Utenteg.schgor, Foto Utentedimaios

0
voti

[1] Riconoscimento vocale

Messaggioda Foto UtenteEcoTan » 27 feb 2026, 16:52

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.
Avatar utente
Foto UtenteEcoTan
7.720 4 12 13
Expert EY
Expert EY
 
Messaggi: 5423
Iscritto il: 29 gen 2014, 8:54

0
voti

[2] Re: Riconoscimento vocale

Messaggioda Foto UtenteEtemenanki » 28 feb 2026, 12:36

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.
Avatar utente
Foto UtenteEtemenanki
9.522 3 6 10
Master
Master
 
Messaggi: 5945
Iscritto il: 2 apr 2021, 23:42
Località: Dalle parti di un grande lago ... :)

0
voti

[3] Re: Riconoscimento vocale

Messaggioda Foto UtenteEtemenanki » 28 feb 2026, 12:42

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.
Avatar utente
Foto UtenteEtemenanki
9.522 3 6 10
Master
Master
 
Messaggi: 5945
Iscritto il: 2 apr 2021, 23:42
Località: Dalle parti di un grande lago ... :)


Torna a Elaborazione numerica ed analogica dei segnali

Chi c’è in linea

Visitano il forum: Nessuno e 2 ospiti