Text to speech

Συζητήσεις για θέματα που σχετίζονται με software.
Post Reply
The Punisher
Venus Former Team Member
Posts: 7561
Joined: Thu Oct 27, 2005 1:43 pm
Academic status: Alumnus/a
Gender:
Location: Boston, MA

Text to speech

Post by The Punisher » Wed Mar 04, 2009 4:05 pm

Ψάχνω κάποιο πρόγραμμα (δωρεάν, πανεπιστημιακό, commercial, whatever) που να διαβάζει pdf's. Θέλω να έχει αρκετά αξιόλογη φωνή, τονικότητα και άρθρωση. Να ακούγεται σαν φυσιολογικός άνθρωπος εν ολίγοις. Το θέλω για αγγλικά κείμενα.

Τα παιδιά του NLP έχουν να προτείνουν κάτι ? :roll:
User avatar
cypher
Venus Former Team Member
Posts: 6207
Joined: Mon Sep 29, 2008 9:12 pm
Academic status: Alumnus/a
Gender:

Re: Text to speech

Post by cypher » Wed Mar 04, 2009 4:12 pm

Το TTS της at&t ειναι το πιο γνωστο: http://www.research.att.com/~ttsweb/tts/demo.php
Κατα τα αλλα νομιζω και ο adobe reader εχει ενσωματωμενο εναν reader στο view/read out loud. :-p
ImageImageImageImageImageImageImage
The Punisher
Venus Former Team Member
Posts: 7561
Joined: Thu Oct 27, 2005 1:43 pm
Academic status: Alumnus/a
Gender:
Location: Boston, MA

Re: Text to speech

Post by The Punisher » Wed Mar 04, 2009 4:18 pm

έχει, αλλά διαβάζει με τον MS Sam. :smt011

γενικά αυτό που χρειάζομαι πρέπει να έχει και μηχανή και φωνή καλή..
User avatar
AmmarkoV
Wow! Terabyte level
Wow! Terabyte level
Posts: 2838
Joined: Thu Nov 04, 2004 2:55 pm
Gender:
Location: Reloaded @ Santa Friday
Contact:

Re: Text to speech

Post by AmmarkoV » Wed Mar 04, 2009 5:47 pm

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!");
Spoiler: εμφάνιση/απόκρυψη
I would love to change the world, but they won't give me the source code. Οι καθηγητές πληρώνονται από το δημόσιο αρα από όλους τους Έλληνες για να κάνουν τα μαθήματα. Όλοι οι Έλληνες θα έπρεπε να μπορούν να δουν τα μαθήματα τα οποία πληρώνουν! Tο πνευματικό έργο που επιτελείται με τα χρήματα του δημοσίου ΔΕΝ είναι μόνο δικό σας Όποιος δεν δίνει πανελλήνιες έχει δικαίωμα στην γνώση που πληρώνει [url=http://ammar.gr/gddg]gddg blog[/url]
Image
The Punisher
Venus Former Team Member
Posts: 7561
Joined: Thu Oct 27, 2005 1:43 pm
Academic status: Alumnus/a
Gender:
Location: Boston, MA

Re: Text to speech

Post by The Punisher » Wed Mar 04, 2009 5:54 pm

ναι, βασικά οι φωνές της MS είναι χάλι. Μπορείς να ανεβάσεις/στείλεις κανένα demo κειμένου? Επειδή δεν είναι για εμένα, θα ήθελα να μην μπλέκει με κώδικα και μπιχλιμπίδια (converters Κλπ) για αυτό ρώτησα για κάτι έτοιμο
Erevodifwntas
Gbyte level
Gbyte level
Posts: 1098
Joined: Thu Apr 22, 2004 2:18 pm
Academic status: Alumnus/a
Gender:
Location: In a Long Time Ago in A Galaxy far far away
Contact:

Re: Text to speech

Post by Erevodifwntas » Thu Mar 05, 2009 9:55 am

από Ελλάδα υπάρχει μία πολύ καλή προσπάθεια της Innoetics (http://www.innoetics.gr/) και από εξωτερικό της Acapela (ξέρω ότι ετοιμάζουν και ελληνική φωνή) http://www.acapela-group.com/text-to-sp ... -demo.html
Last edited by Erevodifwntas on Thu Mar 05, 2009 1:39 pm, edited 1 time in total.
Go To Statement Considered Harmful (Τιτλος δημοσίευσης του Edsger Dijkstra).

my personal site
User avatar
cypher
Venus Former Team Member
Posts: 6207
Joined: Mon Sep 29, 2008 9:12 pm
Academic status: Alumnus/a
Gender:

Re: Text to speech

Post by cypher » Thu Mar 05, 2009 11:45 am

Erevodifwntas wrote:από Ελλάδα υπάρχει μία πολύ καλή προσπάθεια της Innoetics (http://www.innoetics.gr/) και από εξωτερικό της Acappella (ξέρω ότι ετοιμάζουν και ελληνική φωνή) http://www.acapela-group.com/text-to-sp ... -demo.html
Εχουν ηδη ελληνικη φωνη στο acappella, παραδειγμα εδω http://www.acapela.tv/good-old-times.html :-p
ImageImageImageImageImageImageImage
User avatar
ultimate_aektzis
Wow! Terabyte level
Wow! Terabyte level
Posts: 6373
Joined: Tue Nov 13, 2007 10:11 pm
Gender:

Re: Text to speech

Post by ultimate_aektzis » Thu Mar 05, 2009 6:15 pm

[off]Πες μου οτι μια σελιδα που επεσα, με ενα ψαρακι που μιλαει ειναι δικια σου? :-p
για το Δια μιλαω[/off]
The Punisher
Venus Former Team Member
Posts: 7561
Joined: Thu Oct 27, 2005 1:43 pm
Academic status: Alumnus/a
Gender:
Location: Boston, MA

Re: Text to speech

Post by The Punisher » Thu Mar 05, 2009 11:33 pm

για αγγλικά μου έκαναν τρομερή εντύπωση οι φωνές στο http://www.loquendo.com/en/demos/demo_tts.htm
Πέρα από την φωνή, χρειάζεται και καλύτερη μηχανή ?
Post Reply

Return to “Software”