PDA

Visualizza la versione completa : [C++] OutPut Audio


Salvatore_91
28-09-2009, 13:52
Salve raga, ho un esercizio da svolgere.

Memorizzato in un file di testo.txt una frase, o del semplice testo, devo far si che venga riprodotto cio' che e' stato scritto tramite le casse del PC.

Naturalmente devo memorizzare io dei file con tutte le parole dell'alfabeto, dittonghi e cose di altro genere (o se avete altre soluzioni voi, vanno bene lo stesso).

Potete darmi una dritta su come cominciare???
I file di testo li conosco abbastanza bene.

daniele_dll
28-09-2009, 14:16
a parte la sezione usata, ma usare un motore TTS? :stordita:

TTS = Text To Speech

C'Ŕ ne sono svariati, ma tra i migliori c'Ŕ cepstral ( http://cepstral.com/ ) con licenze abbastanza economiche, altrimenti se cerchi qualcosa di gratuito puoi dare un occhio a festival o flite (la sua versione lite parzialmente compatibile per le lingue con il papa) ... per˛ devi cercarti la lingua italiana :)

Alternativamente, se devi lavorare solo su windows, puoi usare il TTS di microsoft, unica cosa ... ti serve comunque la lingua ma mi pare (credo) che le lingue di cepstral siano compatibili con il TTS di microsoft

http://www.microsoft.com/speech/evaluation/thirdparty/engines.mspx



...Cepstral offers 6 different US English voices plus voices for 5 other languages including UK English, Spanish, French, Italian, and German. Cepstral voices are SAPI 5 compliant.

Alternativamente in quella pagina ci sono svariati engine.

Ovviamente se vuoi la resa migliore ti conviene usare direttamente quel dato motore tts :)

PS: se cerchi qualcosa di veramente realistico ... Loquendo :sbav: per˛ devi utilizzare il markup language apposito per calibrare accenti, tonalitÓ, velocitÓ e via dicendo :)

Salvatore_91
28-09-2009, 15:31
ma io devo fare un semplice programma scolatisco in C++.

Mi servirebbe una cosa senza licenza

gm
28-09-2009, 17:30
Ti sposto

oregon
28-09-2009, 18:42
Originariamente inviato da Salvatore_91
ma io devo fare un semplice programma scolatisco in C++.


Mica e' facile, ma la dritta e' la seguente ...

Dovresti suddividere la parola in "fonemi" e riprodurre tutta la sequenza trovata. Ovviamente i fonemi li devi avere tutti preregistrati.

Salvatore_91
28-09-2009, 19:02
urca... quindi di quello che parlavo daniele_dll, non mi aiuta per niente

MItaly
28-09-2009, 19:05
Se puoi usare librerie di terze parti, ti puoi appoggiare a eSpeak, che fornisce una API per il suo utilizzo da parte di altri programmi.

Salvatore_91
28-09-2009, 19:11
parlando di eSpeal, io ho trovato questo:
http://ciaolinux.myblog.it/archive/2008/09/18/fate-parlare-linux-con-espeak.html (http://)

tu cosa mi indichi.??
Li fa gia tutto da solo.

MItaly
28-09-2009, 19:51
Be', per gestire la faccenda in maniera "professionale" potresti usare le API di eSpeak invece di richiamare direttamente il suo eseguibile. Dai un'occhiata al suo sito.

Salvatore_91
29-09-2009, 16:24
potresti indicarmi precisamente, dove studiarmi le API di eSpeak?

Loading