Page 1 of 1
Text to speech
Posted: Wed Mar 04, 2009 4:05 pm
by The Punisher
Ψάχνω κάποιο πρόγραμμα (δωρεάν, πανεπιστημιακό, commercial, whatever) που να διαβάζει pdf's. Θέλω να έχει αρκετά αξιόλογη φωνή, τονικότητα και άρθρωση. Να ακούγεται σαν φυσιολογικός άνθρωπος εν ολίγοις. Το θέλω για αγγλικά κείμενα.
Τα παιδιά του NLP έχουν να προτείνουν κάτι ?

Re: Text to speech
Posted: Wed Mar 04, 2009 4:12 pm
by cypher
Το TTS της at&t ειναι το πιο γνωστο:
http://www.research.att.com/~ttsweb/tts/demo.php
Κατα τα αλλα νομιζω και ο adobe reader εχει ενσωματωμενο εναν reader στο view/read out loud.

Re: Text to speech
Posted: Wed Mar 04, 2009 4:18 pm
by The Punisher
έχει, αλλά διαβάζει με τον MS Sam.
γενικά αυτό που χρειάζομαι πρέπει να έχει και μηχανή και φωνή καλή..
Re: Text to speech
Posted: Wed Mar 04, 2009 5:47 pm
by AmmarkoV
http://62.103.22.50/technologies/SapiSpeech.html
Download ->
http://62.103.22.50/%7Eammar/atech/prod ... apiSpeech/
Microsoft Speech API -
http://www.microsoft.com/downloads/deta ... layLang=en
( Προσθέτει τις φωνές Microsoft Mike και Marry )
Code Sample #1 (Dev-C++) :
//THIS CODE WILL START A CONSOLE WINDOW , LOAD THE DLL FUNCTIONS AND START TALKING

#include <cstdlib>
#include <iostream>
#include <windows.h>
using namespace std;
typedef bool (*InitSpeech)();
typedef bool (*UnInitSpeech)();
typedef void (*SaySomething)();
typedef void (*Speech_PassNewString)(const unsigned int);
typedef void (*Speech_SetStringChar)(const unsigned int,const char);
typedef char (*Speech_GetStringChar)(const unsigned int);
typedef char (*SayString)( const char *);
HINSTANCE hInstLibrary;
InitSpeech _InitSpeech;
UnInitSpeech _UnInitSpeech;
SaySomething _SaySomething;
Speech_PassNewString _Speech_PassNewString;
Speech_SetStringChar _Speech_SetStringChar;
Speech_GetStringChar _Speech_GetStringChar;
SayString _SayString;
char* itoa(int val, int base){
static char buf[32] = {0};
int i = 30;
for(; val && i ; --i, val /= base)
buf
= "0123456789abcdef"[val % base];
return &buf[i+1];
}
int main(int argc, char *argv[])
{
printf("%s","Loading Library..\n");
hInstLibrary = LoadLibrary("SapiSpeech.dll");
if (hInstLibrary)
{
printf("%s","Connecting Procedures..\n");
_InitSpeech = (InitSpeech)GetProcAddress(hInstLibrary, "InitSpeech");
_UnInitSpeech = (UnInitSpeech)GetProcAddress(hInstLibrary, "UnInitSpeech");
_SaySomething = (SaySomething)GetProcAddress(hInstLibrary, "SaySomething");
_Speech_PassNewString = (Speech_PassNewString)GetProcAddress(hInstLibrary, "Speech_PassNewString");
_Speech_SetStringChar = (Speech_SetStringChar)GetProcAddress(hInstLibrary, "Speech_SetStringChar");
_Speech_GetStringChar = (Speech_GetStringChar)GetProcAddress(hInstLibrary, "Speech_GetStringChar");
_SayString = (SayString)GetProcAddress(hInstLibrary, "SayString");
if (_InitSpeech) {} else printf("%s","Something went wrong with InitSpeech\n");
if (_UnInitSpeech) {} else printf("%s","Something went wrong with UnInitSpeech\n");
if (_SaySomething) {} else printf("%s","Something went wrong with SaySomething\n");
if (_Speech_PassNewString) {} else printf("%s","Something went wrong with Speech_PassNewString\n");
if (_Speech_SetStringChar) {} else printf("%s","Something went wrong with Speech_SetStringChar\n");
if (_SayString) {} else printf("%s","Something went wrong with SayString\n");
printf("%s","Initializing..\n");
_InitSpeech();
_SaySomething(); // Will say : "Hello World This is SapiSpeech.dll version x.xx" (This is because we haven`t passed a string yet)
_SayString("I believe this sample code is very self-explanitory!"); // 
_SayString("Plus , it is working fine");
_SayString("I will now count to 10");
_SayString("And then exit gracefully!");
char thenum[3];
for (int i=1; i<=10; i++)
{
_SayString(itoa(i,10));
Sleep(100);
}
_SayString("Thank you for your time!");
_SayString("My job is done!");
_SayString("Bye bye");
_UnInitSpeech();
FreeLibrary(hInstLibrary);
printf("%s","Run ending..\n");
} else
printf("%s","Could not load DLL Functions , check if SapiSpeech.dll is in the same folder as the executable\n");
return EXIT_SUCCESS;
}
Wrapper για Microsoft Speech API ( Κατασκευής μου )
Μπορείς να κάνεις κάπως Convert το PDF σε .txt να διαβάσεις το .txt ( trivial ) και για κάθε πρόταση να λες _SayString("MPla mpla mpla mpla!");
Re: Text to speech
Posted: Wed Mar 04, 2009 5:54 pm
by The Punisher
ναι, βασικά οι φωνές της MS είναι χάλι. Μπορείς να ανεβάσεις/στείλεις κανένα demo κειμένου? Επειδή δεν είναι για εμένα, θα ήθελα να μην μπλέκει με κώδικα και μπιχλιμπίδια (converters Κλπ) για αυτό ρώτησα για κάτι έτοιμο
Re: Text to speech
Posted: Thu Mar 05, 2009 9:55 am
by Erevodifwntas
από Ελλάδα υπάρχει μία πολύ καλή προσπάθεια της Innoetics (
http://www.innoetics.gr/) και από εξωτερικό της Acapela (ξέρω ότι ετοιμάζουν και ελληνική φωνή)
http://www.acapela-group.com/text-to-sp ... -demo.html
Re: Text to speech
Posted: Thu Mar 05, 2009 11:45 am
by cypher
Εχουν ηδη ελληνικη φωνη στο acappella, παραδειγμα εδω
http://www.acapela.tv/good-old-times.html 
Re: Text to speech
Posted: Thu Mar 05, 2009 6:15 pm
by ultimate_aektzis
[off]Πες μου οτι μια σελιδα που επεσα, με ενα ψαρακι που μιλαει ειναι δικια σου?
για το Δια μιλαω[/off]
Re: Text to speech
Posted: Thu Mar 05, 2009 11:33 pm
by The Punisher
για αγγλικά μου έκαναν τρομερή εντύπωση οι φωνές στο
http://www.loquendo.com/en/demos/demo_tts.htm
Πέρα από την φωνή, χρειάζεται και καλύτερη μηχανή ?