Campionatore e di voci e riproduttore di frasi :)

Area di discussione libera.

Moderatore: Staff

Regole del forum
1) Rispettare le idee altrui.
2) Evitare le offese dirette.
3) Leggere attentamente le risposte ricevute
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.

La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
Rispondi
kobaiachi
Linux 4.x
Linux 4.x
Messaggi: 1368
Iscritto il: gio 14 lug 2005, 0:00
Località: roma
Contatta:

Campionatore e di voci e riproduttore di frasi :)

Messaggio da kobaiachi »

Ciao A tutti

Un paio di anni fa misi su l'infrastruttura IT per una azienda di editoria, oggi che si è espansa ed è riuscita ad aprire anche un punto vendita le titolari mi hanno chiesto se gli metto su un sistema che fa gli annunci in negozio come da Ikea, vorrebbero un acrokkio che dopo aver campionato una o piu voce (la sua quella della socia e di qualche altro dipendente ) potesse far enunciare a queste voci registrate le frasi create sul momento da un coputer della direzione .


Che voi sappiate esiste qualche software che mi permette di fare una cosa del genere .


Un Saluto

Kobaiachi

nik600
Linux 2.x
Linux 2.x
Messaggi: 450
Iscritto il: lun 15 mar 2004, 0:00
Contatta:

Re: Campinatore e di voci e riproduttore di frasi :)

Messaggio da nik600 »

Ciao
ti serve un server TTS (Text To Speech).

Purtroppo il TTS con lingua italiana, soprattutto restringendo il campo ai soli software opensource non da gosse possibilità.

A livello professionale l'unica soluzione che offre risultati professionali è Loquendo che ha un costo relativamente importante (dipende da molte cose ma diciamo che almeno 1000 euro devi spenderli).

Qui puoi provare la loro demo
http://tts.loquendo.com/ttsdemo/default ... anguage=it

In alternativa ad un prezzo decisamente più abbordabile c'è Cepstral (sui 30 euro circa) anche se già a livello di demo si nota la differenza
http://cepstral.com/

Non conosco soluzioni accettabili che siano opensource e gratuite.

Per quanto riguarda poi la creazione di una voce "custom" non esiste qualcosa che funzioni "out of the box".
Ovviamente puoi sempre contattare società come le 2 che ti ho citato e farti creare delle voci sulla base delle tue campionature, ma è una attività che richiede diverso tempo.

Personalmente ho realizzato un server web che con un minimo di php si interfaccia a Cepstral, tramite sox creo al volo l'mp3 e poi ne faccio lo streaming da un player flash.

Ciao

Avatar utente
absinthe
Iper Master
Iper Master
Messaggi: 2354
Iscritto il: dom 15 mag 2005, 0:00
Nome Cognome: Matteo Nunziati
Slackware: 12.1 - defunct
Kernel: 2.6.32-5-amd64
Desktop: gnome
Distribuzione: debian squeeze
Località: Prato
Contatta:

Re: Campinatore e di voci e riproduttore di frasi :)

Messaggio da absinthe »

confermo: il problema principale è accumulare dati per addestrare l'HMM sugli mfcc o lpc (in base a cosa usi) e - se il motore li supporta- gestire pitch e vari altri parametri sovrasegmentali. se il vocabolario è limitato la cosa è semplice ma è come con gli ocr: più vuoi materiale pronto più devi pagare il tempo speso dalla compagnia per l'addetramento.
io contattai loquendo per ASR tempo fa ma il loro commerciale non pareva interessato al deployment che proponevo io (sistema di riconoscimento da integrare in moodle et similia per una rete di e-learning a livello nazionale) e mi sconsigliò (!!!) l'utilizzo dell'api per ASR. detto fra noi so che l'ASR ha ancora alcuni problemi perchè lavora bene solo in condizioni controllate (a-law/gsm) mentre per il tts sono non solo sono la migliore (unica?!) azienda italiana ma anche una delle più importanti realtà _modiali_ (mi pare che siano le loro api a fare parlare il tom-tom).
se ti interessa ti forniscono a titolo gratuito le api per 30 gironi (questo proposero a me per l'ASR) per capire a che livello sono.
io però dovevo lavorere in c++ non so cosa esista di già pronto per integrare applicativi in php o roba simile.
se voui puoi leggere di festival e di festvox che da linee guida per costruire una voce sintetica a partire da quelle reali. il problema è che per ora l'engine di sintesi si basa su mbrola che non è il massimo in termini di realismo. esiste il progetto sms-festival ma non so a che punto è.

ciao,
M

PS: non ricordo che vincoli di licenza ci siano!

Avatar utente
gohanz
Staff
Staff
Messaggi: 5832
Iscritto il: mar 30 nov 2004, 0:00

Re: Campinatore e di voci e riproduttore di frasi :)

Messaggio da gohanz »

Festival puo' lavorare in modalita' server. Inoltre ha due voci Italiane Mbrola che sono di buona qualita'.

Codice: Seleziona tutto

festival --server
server    Sat Jan  2 19:53:57 2010 : Festival server started on port 1314

nik600
Linux 2.x
Linux 2.x
Messaggi: 450
Iscritto il: lun 15 mar 2004, 0:00
Contatta:

Re: Campionatore e di voci e riproduttore di frasi :)

Messaggio da nik600 »

personalmentenon credo che la qualità di Festival non sia professionale tra l'altro non so bene quale sia il supporto del progetto in generale, l'ultima volta ci avevo lavorato nel 2005.

Con questo ovviamente non voglio offendere chi ha lavorato a Festival, è solo una considerazione sul prodotto ed in particolar modo sulla voce italiana.

Detto questo, per quanto riguarda gli ASR (che non centrano molto con la domanda iniziale) il discorso diventa molto più complicato, le integrazioni solitamente non si fanno a livello di API ma è preferibile usare delle piattaforme che supportino gli standard VXML o MRCP a livello più basso, viene introdotto il concetto di grammatica o modello del linguaggio, n-best ecc ecc.

Per capirci, il vantaggio di VXML è che si può mettere un file xml su un server web (o generarlo dinamicamente) e la piattaforma processa il file dando come risultato un'output nel caso dell'ASR o audio nel caso di TTS.

Ad ogni modo, per non divagare troppo quello che consiglio a kobaiachi è di testare cepstral, credo sia il compromesso migliore per fare una demo (e poi valutare se usare Loquendo)

Questo è del semplicissimo codice php che genera un mp3 chiamando un'url del tipo

http://server/tts.php?test=pippo

Il file fa un'md5 della stringa da convertire, in questo modo si genera un meccanismo di caching che evita di processare con il tts una stringa per la quale esiste già la conversione

Codice: Seleziona tutto

<?php

 $testo_da_tradurre = $_GET["text"];
 $path = "/data/tts/traduci".md5($testo_da_tradurre);
 $result = "/data/tts/prompt".md5($testo_da_tradurre);

if(!file_exists($result)){
 file_put_contents($path,$testo_da_tradurre);
 system("swift -n Vittoria-8kHz -f $path -o  $result");
 system("sox $result -r 8000  $result.mp3");
}

header("Content-Type: audio/basic");

if($_GET["type"]=="au"){
        readfile($result);
}else{
        readfile($result.".mp3");
}


?>

Ciao

kobaiachi
Linux 4.x
Linux 4.x
Messaggi: 1368
Iscritto il: gio 14 lug 2005, 0:00
Località: roma
Contatta:

Re: Campionatore e di voci e riproduttore di frasi :)

Messaggio da kobaiachi »

Ragazzi grazie delle risposte :D

per ora provero come mi avete consigliato con cepstral e poi vedro cosa ne pensano le titolari .

sinceramente per me è piu un fastidio mettere su questa infrastruttura in quanto ho deciso per scelta di occuparmi solo di networking in ambiente cisco e juniper e mettersi li a giocare con windows e compagnia bella non mi va propio purtroppo sono vecchi lavori che ogni tanto ritornano .....

un Saluto

kobaiachi.

Avatar utente
absinthe
Iper Master
Iper Master
Messaggi: 2354
Iscritto il: dom 15 mag 2005, 0:00
Nome Cognome: Matteo Nunziati
Slackware: 12.1 - defunct
Kernel: 2.6.32-5-amd64
Desktop: gnome
Distribuzione: debian squeeze
Località: Prato
Contatta:

Re: Campionatore e di voci e riproduttore di frasi :)

Messaggio da absinthe »

nik600 ha scritto:Detto questo, per quanto riguarda gli ASR (che non centrano molto con la domanda iniziale) il discorso diventa molto più complicato, le integrazioni solitamente non si fanno a livello di API ma è preferibile usare delle piattaforme che supportino gli standard VXML o MRCP a livello più basso, viene introdotto il concetto di grammatica o modello del linguaggio, n-best ecc ecc.
Offtopic: ho citato l'asr come esempio perchè è stato l'unico contatto che ho avuto con la società in relazione ad un progetto commerciale. era per far capire che probabilmente esiste pure la possibilità di fare test gratuiti. ciò detto il prodotto ASR della loquendo è per _speaker_ recognition non _speech_ recognition. lì si lavora solo in c/c++, al più alcuni file di configurazione sono in xml e non c'è grammatica solo statistica (al più apprendimento supervisionato con SVM).

M

Rispondi