Ok,Google!

Salve ragazzi, ho intenzione di realizzare un impianto domotico in casa e per farlo voglio utilizzare i comandi vocali della google pronunciando prima "ok google!" e dopo il comando da eseguire per esempio "Luci"... come posso realizzarlo ? Su internet non trovo niente di concreto! possibilmente il tutto tramite bluetooth,con il wifi ho poca esperienza hahahahaah
Grazie in anticipo!

Grazie per averci informati. In bocca al lupo!

Ahahahahha la distrazione

Quei comandi vocali usano API che girano solo su PC o smartphone, nulla per Arduino, che inoltre NON avrebbe la potenza di calcolo per farlo.
Elaborare il suono è molto difficile (come anche video in real-time). Solo un PC o similare riesce.
Arduino deve essere usato per fare quello per cui è pensato, controllore di circuiti.
E' una MCU (non CPU) a 8 bit con 2Kb di SRAM. Non un PC con 2 o 4Gb di RAM e una CPU a 32 o 64 bit con una potenza di elaborazione enorme.

si potrebbe iniziare con una cosa del genere:

  • arduino con microfono e rete
  • web server

avresti:

  • il microfono capta il segnale
  • arduino costruisce la richiesta e la invia al server
  • il server si preoccupa di capire se è o meno una richiesta valida ed attiva eventualmente gli attuatori

problema:

  • limitare i falsi positivi nelle richieste (immagina una conversazione)...questo è il motivo per cui google ha "ok google", amazon ha "alexa", etc.

Il comando ho intenzione di inviarlo via smartphone....scusate se non mi sono spiegato bene

eppure scrivendo "arduino smartphone voice control" su Google, di esempi ce ne sono proprio tanti

Marko297:
Il comando ho intenzione di inviarlo via smartphone....scusate se non mi sono spiegato bene

bhè, allora ti viene ancora più facile...prova a dare un occhio alle api pubbliche di amazon alexa.

automatic_jack:
si potrebbe iniziare con una cosa del genere:

  • arduino con microfono e rete
  • web server

avresti:

  • il microfono capta il segnale
  • arduino costruisce la richiesta e la invia al server
  • il server si preoccupa di capire se è o meno una richiesta valida ed attiva eventualmente gli attuatori

problema:

  • limitare i falsi positivi nelle richieste (immagina una conversazione)...questo è il motivo per cui google ha "ok google", amazon ha "alexa", etc.

Il PORBLEMA principale é che Arduino digitalizzi l'audio e lo porta in un formato come vuole la API (praticamente compressarlo).
Questo problema é bloccante perché Arduino non ha la potenza di calcolo necessaria.

Ciao Uwe

uwefed:
Questo problema é bloccante perché Arduino non ha la potenza di calcolo necessaria.

Non solo, Arduino ha un ADC 10 bit @15kHz, assolutamente insufficiente per acquisire un campione vocale idoneo per il riconoscimento vocale per le api di google, serve un campione 16bit @28 kHz come minimo.

uwefed:
Il PORBLEMA principale é che Arduino digitalizzi l'audio e lo porta in un formato come vuole la API (praticamente compressarlo).
Questo problema é bloccante perché Arduino non ha la potenza di calcolo necessaria.

Ciao Uwe

astrobeed:
Non solo, Arduino ha un ADC 10 bit @15kHz, assolutamente insufficiente per acquisire un campione vocale idoneo per il riconoscimento vocale per le api di google, serve un campione 16bit @28 kHz come minimo.

Ok, vi ringrazio delle informazioni...al solito io ragiono come se avessi davanti almeno un pc :frowning:

Ok, vi ringrazio delle informazioni...al solito io ragiono come se avessi davanti almeno un pc

Sí, ma devi considerare il primo modello: 8088 a 4,77Mhz e 16k di RAM.
Ciao Uwe

Aspettate, lui ha scritto che i comandi sarebbero inviati tramite uno smartphone ... non sono un'esperto, ma mi chiedo, non si potrebbe "aggirare" il problema, facendo fare allo smartphone il lavoro di riconoscimento della voce (come quelle app che riconoscono i nomi e chiamano il numero, ad esempio), e poi, DOPO che il comando e' stato riconosciuto dallo smartphone, usarlo per inviare dei semplici comandi via bluetooth o wifi ad arduino, che a quel punto dovrebbe solo leggere il comando ed attivare le periferiche corrispondenti ?

Oppure l'idea e' stupida ?

Etemenanki:
Aspettate, lui ha scritto che i comandi sarebbero inviati tramite uno smartphone ... non sono un'esperto, ma mi chiedo, non si potrebbe "aggirare" il problema, facendo fare allo smartphone il lavoro di riconoscimento della voce (come quelle app che riconoscono i nomi e chiamano il numero, ad esempio), e poi, DOPO che il comando e' stato riconosciuto dallo smartphone, usarlo per inviare dei semplici comandi via bluetooth o wifi ad arduino, che a quel punto dovrebbe solo leggere il comando ed attivare le periferiche corrispondenti ?

Oppure l'idea e' stupida ?

Si, questo è fattibile...tra l'altro, su Android lo SpeechRecognizer fa parte delle api core (level 8 e successivi) e suppongo lo sia anche su iOS

Etemenanki:
Aspettate, lui ha scritto che i comandi sarebbero inviati tramite uno smartphone ...

La domanda non è molto chiara per come è stata posta, "se" usa lo smartphone come unità di comando remoto tramite i comandi vocali deve "solo" realizzare una app sfruttando le relative api per il riconoscimento vocale, dopo di che basta una semplice connessione bluetooth per inviare comandi ad Arduino sotto forma di token ASCII.

Esatto la voce viene riconosciuta dallo smartphone...il problema non é invaire segnali in base alla voce pero perche con app inventor non ci vuole niente.Il problema e inviare i comandi con l applicazione della Google!
Nel senso che inizialmente attivo i comandi vocali dicendo "ok,google" e in seguito pronuncio il mio comando "luci" per esempio.
Navigando su internet si trova poco di concreto.

Scusa @Marko, ma il problema allora è di programmazione Android, non Arduino
Arduino riceve e trasmette dati su seriale, eventualmente tramite modulo Bluetooth, ma sempre banale trasmissione seriale è.
Per i comandi su Android di Google per la voce devi chiedere a forum Android o Google API.
Per comandi seriale su Android credo sia facile trovare esempi comunicazione verso Arduino.

Marko297:
Nel senso che inizialmente attivo i comandi vocali dicendo "ok,google" e in seguito pronuncio il mio comando "luci" per esempio.

Con Google now puoi lanciare una app specifica, non puoi inviare nulla tramite bluetooth, basta che crei una app che invia i necessari comandi tramite bluetooth, finito deve auto terminarsi, e la avvii con Google now.

Ciao, dai un'occhiata a questo:

dovrebbe fare proprio al caso tuo :wink: