Go Down

Topic: comandare vocalmente Arduino (Read 9589 times) previous topic - next topic

tks

scusate se vi disturbo vi volevo chiedere come fare dare da Arduino determinati output eletrici a un comando vocale

uwefed

Deve riconoscere diverse parole e a secondo quello che dici fare diverse cose?

Ciao Uwe

dolfrang

consiglio di sfruttare il pc per il riconoscimento delle parola, più veloce di arduino e provvisto di microfono e scheda sonora per procedere al riconoscimento della parola , ricagare un codice ,( esempio stop, ripeti,go ecc) quindi inviare tramite porta com all'arduino il codice che provvederà ad eseguire il comando.

Per il riconoscimento della parola si potrebbe fare fast fourier transform ( con C sharpe esistono già dei moduli preconfezionati) e quindi procedere al contronto  tra gli spettri memorizzati corrispondenti ai vari comandi con quello eseguito. Lo spettro che si sovrappone meglio sarà quello che corrisponderà al comando da eseguire.

La cosa non è semplice da eseguire ma è fattibile e necessita di una buona conoscenza dei fari linguaggi di programmazione.

si potrebbe usare "processing" che ha la possibilità di acquisire dati dalla sound blaster oppure c sharp, meglio ancora vbasic sfruttando le librerie messe a disposizione dall'Ing. Languasco F , sicuramente uno dei migliori esperti in questo campo - vedere audiocard e dicotomi zip nel suo sito

http://www.flanguasco.org/VisualBasic/VisualBasic.html



tks

#3
Jan 23, 2011, 12:39 pm Last Edit: Jan 23, 2011, 12:43 pm by tks Reason: 1
si a seconda di quello che dico deve fare diverse cose  :D
per esempio potrei creare un apk con android che invia a seconda del mio comando vocale invia dei dati via udp a arduino che li esegue come comandi ma avrei bisogno un connettore wifi di arduino o una cosa con una scheda telefonica  :-/

superlol

o un ethernet shield..

http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1294970753/5
girati il codice: la voce naviga su frequenze, se tu dici unas parola è un insieme di frequenze che vaira nel tempo, basta che le registri e le controlli, se si avvicinano a un "campione" puoi dire che è quella parola
Il nuovo forum italiano sull'elettronica: http://www.electroit.tk/ <--- Nuovamente online!

tks

#5
Jan 23, 2011, 02:01 pm Last Edit: Jan 23, 2011, 02:07 pm by tks Reason: 1
si ma l' ide sarebbe scrivere un programma in  c che analizza una voce sapete come si fa grazie :'( :'(
e sapete dove trovare un conettore wifi a internet

pelletta

C'è anche il modulo VRBOT per aggiungere i comandi vocali ad arduino senza usare il pc. Piccolo dettaglio, costa sulle 50?  :'(


tks

e comunicare con arduino via bluetooth

pelletta

#9
Jan 23, 2011, 02:23 pm Last Edit: Jan 23, 2011, 02:28 pm by Pelletta Reason: 1
Ste cose costano purtroppo, anche io sto cercando alternative per "risparmiare". Sto valutando di usare un pentium2 risicato solo per il comando vocale, solo che è una tragedia al momento, non trovo uno straccio di software decente che gira su linux, al momento non saprei aiutarti.

Il primo che sento che dice che l'elettronica costa poco lo picchio con un randello  >:(

superlol

ti crei una funzione che restituisce il valore della frequenza.
quindi metti un
int i= 0;
int millisvechcio = millis();
int frequenze[]; = 0;
while(millis()<=millisvecchio+(tempo di pronuncia in millisecondi)) {
frequenze = frequenza();
delay(500);
}
//qui analizzi frequenze e le valuti con dei campioni, magari scarti dei valori agli estremi dell'array che hanno una bassa frequenza (poco suono)

ciao
Il nuovo forum italiano sull'elettronica: http://www.electroit.tk/ <--- Nuovamente online!

tks

#11
Jan 23, 2011, 02:29 pm Last Edit: Jan 23, 2011, 02:30 pm by tks Reason: 1
si  ma sei voglio comunicare con arduino senza l' eternet come faccio :'(

pelletta

#12
Jan 23, 2011, 02:48 pm Last Edit: Jan 23, 2011, 02:53 pm by Pelletta Reason: 1
Il modulo vrbot dopo aver riconosciuto i comandi invia le istruzioni sulla seriale di arduino.
Non è che hai molte alternative penso

Per la comunicazione senza fili potresti usare i moduli xbee

tks

allora comunicare con arduino ma a poco costo

uwefed

Vedo anch io la soluzione praticabile il modulo VRBOT http://www.sparkfun.com/products/9753

L'arduino da solo non ha abbastanza potenza di calcolo e scrivere un SW che riconosce le parole é un impresa megagalattica sia dal punto di vista della programmazione che dalla conoscenza come riconoscere una parola se hai a disposizione la registrazione della voce.

L'alternativa é un PC con il SW per riconoscere la parole e che da i comandi al arduino.
Costo: inprecisato.

Ciao Uwe

Go Up