Free Hands, interfaccia multimodale

« Older   Newer »
  Share  
TheFoggy
icon5  view post Posted on 27/7/2006, 15:45




Questo sarà l'argomento della tesi mia e di jiky..per ora il nome è provvisorio..molto provvisorio..non abbiamo neanche ancora file da postare..ma arriveranno presto!! Intanto inizio a mettervi al corrente dell'esistenza di questo progetto! Ehm...forse dovrei dire anche di cosa si tratta..praticamente si tratta di realizzare un sistema vocale per la gestione di un pocket pc. Si dovrà potre gestire ogni caratteristica per via vocale..sarà quindi possibile lanciare programmi, scrivere un testo dettandolo, e altre cose simili. Il tutto utilizzando il riconoscitore vocale VoCon3200 della ScanSoft, famosa (non so se in bene o in male), per Dragon Naturally Speaking.. Vi terremo informati!
 
Top
jiky983
view post Posted on 27/7/2006, 18:41




Prova la demo application "Phrasebook Demo", non sbaglia quasi mai una frase, a meno che non storpi le parole in modo clamoroso... almeno per l'inglese... sulle altre lingue non sono molto preparato...
 
Top
TheFoggy
view post Posted on 28/7/2006, 10:19




Quello l'avevo notato anch'io...c'è da realizzare una grammatica per l'italiano..ora come ora la i la vede come e (in effetti in inglese funziona così)..si potrebbe realizzare il tutto bilingue..tanto basta cambiare il voice model e la grammatica..per il resto dovrebbe workare uguale..così fa più fighi!
 
Top
TheFoggy
view post Posted on 13/10/2006, 14:39




Aggiornamenti versione 0.0.3:
- dialog-box funzionante
- inizializzazione del motore di riconoscimento effettuata con successo al 100%
- grammatica e dizionario personalizzati
Bug conosciuti:
- il tasto esci del dialogbox, non chiude la finestra (motivo sconosciuto..)
- una funzione del thread di riconoscimento da errore, ma sulla documentazione dice che si può eliminare -> verrà eliminata!
- problemi col caricamento dell'italiano -> probabilmente si realizzerà il tutto in inglese
- quando si tratta di deinizializzare compaiono mille errori di "oggetto non definito", ma tutti gli oggetti sono caricati correttamente... -> mistero!
 
Top
TheFoggy
view post Posted on 28/10/2006, 17:47




Bene..eccoci giunti alla versione 0.1.4! I miglioramenti sono sostanziali, in quanto ora il riconoscitore TECNICAMENTE funziona!!

Miglioramenti:
- dialog box per il loading (informa su che cosa va a buon fine e cosa no)
- la finestra del programma principale è stata resa trasparente per non intralciare il lavoro (è presente una finestra di Debug che verrà eliminata)
- il comando impartito viene capito correttamente.

Ecco i bug corretti:
- il tasto Esci, ora funziona correttamente.
- la funzione del thread di riconoscimnto ora funziona, ma sinceramente non se ne sa la causa!
- la deinizializzazione ora avviene correttamente.

Bug non ancora corretti e/o nuovi:
- problemi col caricamento dell'italiano.
- nella finestra di debug le informazioni sulla frase capita compaiono soloper qualche frazione di secondo e poi vengono cancellate. Non si sa da chi! (Risolto un secondo fa!! :))
 
Top
TheFoggy
view post Posted on 30/10/2006, 16:02




Bug risolto:
- ora le informazioni sulla frase capita rimangono visibili. Il problema risiedeva in un PostMessage con wParam errato... Capita!

Bug nuovi:
- non si riesce a caricare un dizionario compresso realizzato da noi. Quello completo sono 4Mb, il nostro 400k al max..
 
Top
jiky983
view post Posted on 6/11/2006, 15:47




Ulteriore problemino.. utilizzando l'italiano continua a capire l'inglese... e quando capisce la parola in italiano arresta il riconoscimento...
 
Top
TheFoggy
view post Posted on 7/11/2006, 11:04




Capisce l'inglese perchè permane il problema della dll..la g2piti (iti=italiano) è realizzata per X86, non per ARM! Sul fatto che quando capisce l'italiano sclera..qui non riesco proprio a capire come mai..desse almeno un errore, si potrebbe provare a risolverlo.. Jiky..c'è un'unica soluzione..il PASSO-PASSO! Dai..magari oggi ci provo...
 
Top
TheFoggy
view post Posted on 18/6/2007, 10:03




Nuovi aggiornamenti sullo stato di sviluppo di questo progetto!
Abbiamo deciso di riscrivere tutto da zero, e di separare le varie sezioni in dll, rendendo l'eseguibile più leggero (va eseguito su un PPC, più è piccolo, meglio è!) ed efficiente, ottimizzando diverse parti del codice.
Attualmente la parte del motore audio non è ancora stata aggiunta a questa nuove release, ferma ad un dialog box che da la possibilità di selezionare uno tra gli 8programmi predefiniti per l'apertura. Come prossimo step evolutivo, verrà aggiunto il motore audio e, se ne avanziamo il tempo, la possibilità di far settare all'utente che programmi aprire e che comando pronunciare per aprirlo. Ah, forse si riesce a tenere l'italiano come lingua principale!
 
Top
TheFoggy
view post Posted on 21/9/2007, 10:56




Annullo quanto detto prima..a causa della scarsa documentazione di Windows, realizzare una dll come Dio comanda richiederebbe troppo tempo. Per ora riscriveremo tutto senza dll. Provvederemo solamente a seperare il tutto in file diversi (fino a due release fa, tutto il programma era contenuto in due files!). Se poi i tempi pre la realizzazione della mia tesi (a jiky manca un esame, a me tre), si rilevassero sufficienti, riproverei ad utilizzare le dll. Sempre se dovessi riuscire a trovare la giusta documentazione! PS: so che in Visual Studio c'è la creazione guidata dll, ma le dll che fa sono "pacche"..avete sempre bisogno del suo h per far sì che funzionino. Una dll "come Dio comanda" è una dll che per funzionare richiede solo il file .dll e il file .lib; per queste, purtroppo, non c'è molta documentazione nelle msdn..
 
Top
TheFoggy
view post Posted on 17/12/2007, 23:45




Nuovi aggiornamenti:
l'applicazione ora funziona, il motore è pienamente funzionante, capisce bene (anche meglio di prima..forse un minor numero di parole causa meno incomprensioni), e lancia i programmi desiderati. Dopo problemi vari dati dalla pessima documentazione della FindWindow, ora riusciamo anche ad ottenere l'handle della finestra che contiene il processo lanciato con il comando shellExecuteEx.
Ora si tratta di riuscire ad inviare al processo aperto, un messaggio che simuli la pressione di uno dei stati del navigation pad dei palmari. Peccato che un messaggio di WM_KEYDOWN/UP con i classici VK_UP/DOWN/LEFT/RIGHT non funzioni e, ovviamente, sul sito MS non si dica nulla al riguardo..
 
Top
TheFoggy
view post Posted on 28/1/2008, 14:30




Dopo vari tentativi, il problema dell'invio del messaggio WM_KEYDOWN/KEYUP permane..
Stamattina abbiamo aggiunto alcune funzionalità:
- apertura dei programmi desiderati (migliorata nell'esecuzione consentendone l'apertura simultanea);
- chiusura di tali programmi (anche in ordine casuale)
- chiusura del programma di riconoscimento vocale tramite la parola "quit"
- riconoscimento delle parole UP, DOWN, LEFT, RIGHT

Abbiamo realizzato una sorta di applicazione in debug per verificare che messaggi inviino i tastini del joystick..bene, questi non inviano nè un WM_KEYDOWN, nè un WM_KEYUP, nè un WM_HOTKEY (come letto in alcuni altri forum), nè qualsiasi altra cosa relativa a KEYUP/KEYDOWN.
Non sappiamo proprio più che cosa fare..
Trovato il metodo per inviare tali messaggi, il programma può ritenersi terminato. Permangono due errori in deinizializzazione, ma abbiamo già un'idea di cosa dovrebbe essere, quindi dovrebbero essere facilmente risolvibili!
 
Top
TheFoggy
view post Posted on 22/2/2008, 08:04




Sono stati risolti i problemi di deinit, rifatto l'interfaccia grafica (tolto il dialog di debug, e creato ex-novo quella definitiva, molto meno invasiva!) e abbiamo scoperto che i messaggi inviati sono, effettivamente, dei VM_KEYDOWN/UP (realizzando un'applicazione di test!), ma..se li inviamo alle altre applicazioni, queste non fanno un'emerita cippa.
Abbiamo anche stampato un log per vedere che messaggi ricevesse, e qui siamo rimasti allibiti:
riceve 2 KEYDOWN per il tasto premuto, due KEYDOWN per il tasto F20 (non ho sbagliato..è proprio F20! Già non c'è sulle tastiere standard...figuriamoci come fa ad esserci su un palmare!!), dopodichè alza due volte il tasto premuto, e due volte F20.
Oltretutto lparam, dovrebbe contenere il numero di volte in cui è stato premuto (e c'è!), e poi..0, in teoria. In pratica c'è un numero tutto suo (costante in base al tasto premuto, ma sulle MSDN non se ne parla..). Abbiamo copiato brutalmente i loro codici, ma le altre applicazioni sembrano non gestire questi messaggi..
Alla fine, il nostro prof, ha detto che se non si riesce, per lui il lavoro può ritenersi concluso ugualmente, basta indicarlo nella stesura della tesi.
Il lavoro può quindi, ritenersi finito. Ma..sta cosa mi da fastidio, quindi cercherò un modo per farlo funzionare!! ^_^
 
Top
TheFoggy
view post Posted on 29/2/2008, 21:07




É stato anche fatto un tentativo di video.. Cavolo..quando si dice il destino..ha sempre funzionato, abbiamo acceso la telecamera e..beh..guardatevi il video, va!
http://it.youtube.com/watch?v=CLbeVgJQaEk
 
Top
13 replies since 27/7/2006, 15:45   870 views
  Share