2010-09-21 4 views
3

Dans les temps anciens, la synthèse vocale était très imparfaite. Quand vous avez tapé un mot, il vous lisait à peu près comment vous l'écrivez ... en monotone. Souvent, le résultat serait très drôle. De nos jours, Text-to-Speech est trop intelligent pour gaffer de manière à faire rire.Comment est-ce que je peux réduire notre Text-to-Speech de pointe?

En tant que projet personnel, j'aimerais créer une application capable de restituer cet ancien style de synthèse vocale, ne serait-ce que comme un jouet. En .Net, j'ai à la fois à la fois System.Speech.dll et les objets COM SpeechLib. (Microsoft Speech Object Library) Les deux semblent utiliser le système d'exploitation de Text-to-Speech, qui, encore une fois, est trop intelligent. Y at-il des moyens de les configurer pour désactiver tout ce qui le rend intelligent?

J'ai essayé quelques options différentes de 'SayAs', j'ai essayé de mettre la culture à invariant (exception!), Et maintenant je regarde SSML. Ça commence à ressembler à la vieille technologie, mais je ne sais même pas par où commencer.

À titre d'exemple du chaos que je suis l'espoir de voir, voici quelques Moonbase Alpha pour vous: http://www.youtube.com/watch?v=Hv6RbEOlqRo(Assurez-vous que vous portez un casque!)

Con flab ces convertisseurs dernier cri texte-phonème , et les normalisateurs, et les téléphones sans fil, et ...

+3

JOHN MADDEN JOHN MADDEN JOHN MADDEN JOHN MADDEN JOHN MADDEN JOHN MADDEN JOHN MADDEN JOHN MADDEN JOHN MADDEN JOHN MADDEN JOHN MADDEN JOHN MADDEN JOHN MADDEN JOHN MADDEN JOHN MADDEN JOHN MADDEN JOHN MADDEN JOHN MADDEN JOHN MADDEN JOHN MADDEN –

+1

uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu – gnovice

+0

Bordel je riais aux larmes à la vidéo ... 'voici un autre tremblement de terre chinois': D –

Répondre

2

Eh bien, je réussi à tomber sur l'ancien « texte Microsoft Voice » bibliothèque: vtext.dll

Cela semble être ce que je cherchais! Par rapport aux bibliothèques TTS modernes, l'interface est très simple. Le résultat ne semble pas être exactement le même que celui de la vidéo que j'ai liée, mais c'était probablement une implémentation différente. De toute façon, il est temps de se remémorer.

var tts = new HTTSLib.TextToSpeech(); 
tts.Speak("ebrbrbrbrbrbrbrbr"); 

Pour une raison quelconque, il se bloque vshost.exe lorsque je le fais dire "ici". Mais puisque c'est juste un projet personnel stupide, je peux l'ignorer.

+0

Alors, où avez-vous trouvé vtext.dll? –

4

Vous vouliez probablement ce qu'on appelait «l'algorithme NRL», qui était utilisé par les synthétiseurs vocaux Votrax dans les années 1970 et 1980. Je me souviens qu'un de mes amis avait un de ceux que nous avons connecté (via le port série) à mon Osborne I. Nous avons beaucoup ri de la façon dont il a «dit» des choses. "Computer" est sorti "com poo ter", par exemple.

Ou peut-être que c'était un Microvox que mon ami avait. Cela semble sonner une cloche. À l'époque, toutes les boîtes de dialogue texte-texte utilisaient à peu près la même technologie. L'article lié est une fontaine d'information. Environ à mi-chemin est une section longue sur la conversion de texte en parole. Il décrit les règles et l'algorithme de base. Je pense que, avec quelques études et expérimentations, vous pourriez reproduire la synthèse vocale de Microvox.

L'algorithme NRL a été implémenté par le Unix speak command, dont la source est apparemment perdue dans le grand squelette de l'historique. Cependant, M.D. McIlroy a écrit un article à ce sujet. Synthetic English speech by rule (il s'agit d'un fichier tar contenant des pages numérisées).

Ce serait un projet amusant à jouer si j'avais le temps. Bonne chance pour ça. Faites-moi savoir si vous arrivez avec ça.

Questions connexes