Italian

Flat
Italian acoustic model
User: nextime
Date: 11/28/2012 4:38 am
Views: 33922
Rating: 13

I'm trying to "spam" the link http://www.voxforge.org/it/read to a lot of friends hoping to reach at least the 3 or 4 hours of audio files needed to have enough data to build an italian acoustic model.

Where i can find the uploaded files on the voxforge web site? will be there someone that will do the job when there are enough records?

Re: Italian acoustic model
User: calel
Date: 11/28/2012 8:50 am
Views: 258
Rating: 14

Ciao nextime,

le registrazioni sonore che vengono effettuate attraverso il sito di VoxForge, vengono salvate TUTTE (cioè quelle in italiano e in altre lingue) in base alla frequenza di campionamento.. Puoi trovarle qui: http://www.voxforge.org/home/downloads cliccando sopra al link "Audio".

Per la tua seconda domanda..

Quando ci saranno abbastanza registrazioni chi monterà il modello acustico? Heheheh chi lo vorrà fare!

Io utilizzo Julius, non so tu se usi altro. Sto lavorando a un progetto che utilizza Julius e ho scritto un SW che è in grado di montare automaticamente un modello acustico, partendo da un file di testo in formato UTF-8 (da cui si genera il "vocabolario"), un altro file di testo, sempre in UTF-8 (che viene interpretato come prompts) e una serie di file WAVE campionati a 1400Hz.

Se vuoi possiamo collaborare per creare modelli acustici per l'italiano, ma i modelli creati sono utilizzabili -credo- solo da Julius.

Aspetto tue notizie su [email protected] oppure su https://www.facebook.com/carlo.galliano

Buone cose C.

Re: Italian acoustic model
User: nextime
Date: 11/28/2012 11:42 am
Views: 442
Rating: 12

Ciao,purtroppo le tue risposte non soddisfano le mie domande. Al link che hai indicato non vedo le registrazioni che ho fatto dall'interfaccia web a http://www.voxforge.org/it/read, e mi risultano ancora nell'elenco "da processare" http://read.voxforge1.org/r0_1_10/fileList.php

Per questo chiedevo con che frequenza vengono messe online e dove esattamente.

Per la seconda domanda, sul chi crea i modelli acustici, e' chiaro che chiunque puo' farlo scaricando i file audio e avendo il testo registrato. La mia domanda era un'altra, ovvero, i modelli acustici "ufficiali" di voxforge che vengono messi online qui, c'e' qualcuno in particolare che se ne occupa? occorre che qualcuno scarichi il materiale lo faccia e lo invii? se si, c'e' una procedura standard per voxforge? documentazione in proposito?

Re: Italian acoustic model
User: calel
Date: 11/29/2012 4:55 am
Views: 229
Rating: 13

nextime:

<Where i can find the uploaded files on the voxforge web site? will be there someone that will do the job when there are enough records?>

A queste due domande ti ho risposto ;-)

Per le nuove domande:

Dopo quanto tempo vengono processate le registrazioni? Non lo so..

Dove vengo messe le registrazioni dopo essere state processate? Vengono messe qui http://www.repository.voxforge1.org/downloads/SpeechCorpus/Trunk/Audio/MFCC/ in formato MFCC (feature vector, sia in 16kHz che in 8kHz), qui http://www.repository.voxforge1.org/downloads/SpeechCorpus/Trunk/Audio/ (sempre suddivise per il rate di campionamento) trovi tutto quello che ti serve per creare un modello acustico dalle registrazioni selezionate e, in fine, qui http://www.repository.voxforge1.org/downloads/SpeechCorpus/Trunk/Audio/Original/.

Quello che trovi in queste pagine web è quello che ti serve per creare un modello acustico dalla data (singola) registrazione.

<La mia domanda era un'altra, ovvero, i modelli acustici "ufficiali" di voxforge che vengono messi online qui, c'e' qualcuno in particolare che se ne occupa?>

Credo se ne occupino i gestori del server, comunque chiunque può contribuire contattando direttamente la direzione qui: http://www.voxforge.org/home/about/contact-us

<occorre che qualcuno scarichi il materiale lo faccia e lo invii? se si, c'e' una procedura standard per voxforge? documentazione in proposito?>

Non occorre che qualcuno sviluppi modelli acustici e vengano inviati, ma credo che -nel caso- risulterebbe gradito! Le procedure standard esistono per la crezazione del modello acustico e sono diversificate a seconda dell'engine che dovrà utilizzare il dato modello.. Se si deve sviluppare un modello acustico per Julius, sarebbe opportuno seguire la procedura riportata nel tutorial per Julius, idem per Sphinx ecc.

Da questo link http://www.voxforge.org/home/dev/acousticmodels/ trovi tutto quello che ti serve per creare un modello acustico utilizzabile da tutti e (più o meno) performante.. Per l'invio di un modello acustico alla direzione del sito, non so come funziona, dovresti scrivere direttamente a loro (ti ho linkato dove trovi i contatti).

Per quanto riguarda i modelli acustici forniti da voxforge... Trovi modelli acustici utilizzabili da Julius e Sphinx, sempre nel link http://www.voxforge.org/home/downloads l'ultimo update per i MA per Julius risale al 22-Oct-2012 (e non viene specificata la lingua).

Spero di aver risolto almeno il 70% dei tuoi dubbi XD

Comunque, ripeto, se vuoi possiamo organizzarci e creare un supporto "forte" anche per la lingua italiana.

La mia tesi è stata inerente al funzionamento di Julius e alla misurazione della performance di riconoscimento vocale, tutto nell'ottica di un utilizzo di Julius all'interno dell'università (per facilitare la frequentazione dei corsi a studenti audiolesi).. Ora sto sviluppando per l'università del Sannio, un sistema che per ora è client-server, dove l'user può creare automaticamente e in pochi minuti (il tempo di spedire i file wave) il proprio modello acustico e dopo l'elaborazione può azionare il riconoscimento vocale. Se vuoi possiamo creare facilmente modelli acustici e renderli disponibili per tutti.

L'unica limitazione del mio sistema è l'hardware della macchina che sto utilizzando, purtroppo, non è possibile creare modelli acustici con più di 300-320 file sonori (mi si sfonda lo Heap della JDK, non posso dedicare alla java virtual machine più di 2.2 giga..). Se la mia idea ti alletta contattami tramite mail. Buona giornata C.

 

 

 

 

 

Re: Italian acoustic model
User: nextime
Date: 11/29/2012 3:55 pm
Views: 233
Rating: 12

nextime:

<Where i can find the uploaded files on the voxforge web site? will be there

someone that will do the job when there are enough records?>

calel:

<A queste due domande ti ho risposto ;-)>

Scusa ma forse mi sono spiegato io. La prima domanda era "dove posso trovare quelli che ho appena registrato e non sono ancora processati"

La seconda invece e' ok ( e anche un po' ovvio ) che nel momento che osno pubblici i file chiunque puo' fare un modello acustico ed eventualmente anche contribuire a voxforge, ma mi chiedevo se c'era una sorta di "buildbot" piuttosto che un mantainer che ufficialmente se ne occupa o meno.

Insomma, scusa, giustamente tu non dai per scontato nulla e quindi non sai se io sono l'ultimo arrivato o meno nel mondo open source, ma le mie domande non erano cosi' generiche ma volevano piu' entrare nello specifico del coordinamento del progetto voxforge, e quindi temo che solo lo staff del progetto possa rispondere.

 

Ad ogni modo, sicuramente visto che ci hai lavorato parecchio e sicuramente ne sai piu' di me, ti contatto e vediamo se si puo' collaborare 

 

Re: Italian acoustic model
User: nextime
Date: 11/29/2012 3:58 pm
Views: 243
Rating: 14

Per rispondere alla seconda parte del tuo post:

Sto iniziando a lavorare con Julius, il mio obiettivo e' la sua integrazione per il controllo di un sistema domotico.

Da quel che dici comunque mi pare di capire che sia davvero difficile fare un modello acustico che sia speaker indipendent...

Il modello di permettere con un sistema client server la creazione di modelli acustici ad-personam non e' male, anche se io per questioni religiose non lo avrei fatto in java... 

Ad ogni modo sicuramente ti contatto e ne riparliamo meglio

Re: Italian acoustic model
User: calel
Date: 11/30/2012 3:53 am
Views: 233
Rating: 13

nextime:

<Sto iniziando a lavorare con Julius, il mio obiettivo e' la sua integrazione per il controllo di un sistema domotico.>

;-) bel progetto! Se posso darti qualche linea guida che ho capito "sulla mia pelle":

- Julius ha dei punti di equilibrio nel riconoscimento vocale, indipendentemente dalla qualità del modello acustico, non otterrai mai uno strumento adatto al riconoscimento del parlato "con velocità normale". (Un pò di numerini: parole considerate 180, training effettuato con 8 ripetizioni per parola, buon riconoscimento del 92%) Se io fossi in te rifletterei sugli scenari d'uso del riconoscimento vocale, tipo: apri tapparella, apri finestra.. Non ti dovrebbe servire un modello acustico adatto per il riconoscimento del parlato, ma per il riconoscimento di parole isolate (una lista di parole, poche parole, meno di 100 per capirci). Nel mio sistema, il riconoscimento performato da Julius, viene "corretto", a seconda delle preferenze dell'user, o attraverso una routine che arrotonda quello che riconosce Julius a un set di frasi preferibili (astraendo il concetto di "significato della frase", attraverso un'analisi topologica delle parole della frase), oppure attraverso l'interrogazione di matrici di cooccorrenza (tipo quelle che usa openoffice per correggere gli errori di grammatica).

-Se utilizzerai una comunicazione via web, tieni presente che il julius module (julius in funzionamento server), vuole: 1)l'ingresso attraverso il tool server-client adintool, 2)spara l'uscita su jcontrol.exe (scritto in C) oppure su jclient (scritto in Perl), jclient non sono riuscito neanche a farlo partire!

Se io fossi in te, mi preparerei, ancora prima di pensare ai problemi di sopra, a come gestire l'incapacità di julius di "capire" che ha sbagliato a riconoscere. Se mentre hai julius o julian in run, si sente un rumore nella stanza, ecco che l'engine performa comunque il riconoscimento vocale, arrotondando il rumore sentito alla parola che più ci si avvicina. Tipo il premere tasti sulla tastiera viene riconosciuto come "chi", "che". Questo, caro next, vuol dire che se tu lasci in un appartamento il tuo sistema, devi prevedere:

1) Quando non deve riconoscere? Ahèèè dovresti far girare un primo julius con un MA fatto secondo le specifiche (e qui son grattacapi):

- Una parola (quella di attivazione) ha riconoscimento almeno 92% e altre X parole (dove X va calcolato sperimentalmente) di tipo FAKE..

-Quando viene "capita" la parola di attivazione, parte un'altra istanza di julius (perchè non puoi cambiare MA in run-time) con l'MA appropriato al problema..

<Da quel che dici comunque mi pare di capire che sia davvero difficile fare un modello acustico che sia speaker indipendent...>

Bhè teoricamente è possibile, ma nessuno ci è ancora riuscito.. Google, ha fatto qualcosa che inganna l'user e gli fa credere che non abbia bisogno di training e che vada bene per tutti gli speaker. Ma (c'è un ma), non è così. Prima di tutto il server di riconoscimento vocale ha un MA precaricato, grande e quindi -fidati- non performante, poi quando un user si collega piano piano, il server google, prima capisce le parole che lui utilizza, poi, utilizza la registrazione delle frasi mal riconosciute e il testo corretto dall'user per riallineare quel MA più piccolo alla voce del dato user.. Insomma, Next, con i M.A. sono mal di pancia!

<io per questioni religiose non lo avrei fatto in java...>

La religione rallenta lo sviluppo.. Per questo progetto io sono diventato ateo! Fidati: meglio utilizzare quello che ti fa fare meno fatica, tutte le volte che ti serve.. Se non approcci il problema con gli strumenti che ti fanno fare meno fatica, rischi l'igiene mentale :-p

<Ad ogni modo sicuramente ti contatto e ne riparliamo meglio>

Son qui ;-)

Buona giornata C. 

Re: Italian acoustic model
User: nextime
Date: 11/30/2012 4:26 am
Views: 272
Rating: 14

Ciao,

numeri interessanti.

L'idea di base e' comunque quella di usare uno speaker indipendent per fare una sorta di autotraining iniziale in cui l'utente possa scegliere lui quali frasi/parole gestire, e poi passare a una fase di training legato al singolo utente, e quindi poi utilizzare per le attuazioni un modello acustico ad-hoc autogenerato. Questo dovrebbe ridurre sensibilmente gli errori nella mia idea di base, ma ovviamente sono solo all'inizio e quindi tutto e' da dimostrare.

Non usero' una comunicazione via web, ho un tot di sensori sparsi per casa forniti di microfoni, quindi sara' un sistema client-server ad-hoc che raccolgono i flussi audio e li mandano in multicast a un serverino arm/linux con julius che scrivero' sempre ad-hoc.

Quello che devo capire e' se c'e' modo in julius di avere comunque un risultato di confidenza del matching delle parole, in questo caso puoi abbastanza evitare i falsi positivi tenendo ad esempio per validi solo i riconoscimenti effettuati con una confidenza sopra una certa soglia, ma appunto devo ancora studiare a fondo julius, sono in una fase preliminare in cui sto studiando come funziona a livello teorico il tutto e iniziando a fare le primissime sperimentazioni. Ad ogni modo ci deve essere una trigger word con un alto livello di riconoscimento prima di innescare qualsiasi attuazione,  e questo mi dovrebbe evitare cose tipo il "chi" da tastiera. 

Per quel che riguarda il discorso "java", sono d'accordo che bisogna usare li strumenti che permettano di prototipare velocemente e poi al limite passare secondariamente ad una riscrittura, ma io uso python per questo, di strumenti veloci ce ne sono diversi!

Re: Italian acoustic model
User: calel
Date: 11/30/2012 4:48 am
Views: 244
Rating: 13

<confidenza del matching delle parole>

Bhè utilizza i rami dell'albero dell'albero decisionale "popped", oppure gli stati di hmmdefs (per rifarmi al tutorial) navigati (quelli della cartella hmm15)...

Almeno io userei queste cose! Però considera sempre che sono indicative..

Oppure confronta i due passi N-gram.. Magari cambiane la penalità di Akaky, hai da divertirti next! ;-) Ma è un lavoro di tesi?

Re: Italian acoustic model
User: nextime
Date: 11/30/2012 9:11 am
Views: 324
Rating: 13

No, la mia tesi l'ho data tanti anni fa in tutt'altro ambito, sono vecchietto :D

E' pre-indagine di sviluppo in ottica di possibile utilizzo in un sistema commerciale gia' esistente, dove al momento la speech recognition e' fatta tramite apposito hw per la trigger word e poi matching via google api, dove pero' vogliamo fare un qualcosa che sia indipendente da internet e stiamo indagando al di la dei prodotti commerciali se esiste la possibilita' di fare qualcosa con l'open source per il semplice motivo che tutto il nostro sistema e' anch'esso open...

PreviousNext