2009-06-10 3 views

Antwort

10

MS Speech SDK. Es wird über eine .NET-Assembly verfügbar gemacht. Sehr einfach zu bedienen. Meine Kinder waren begeistert. Frei.

using System.Speech.Synthesis; 

public class SpeakHelloWorld 
{ 
    public static void Main(string[] args) 
    { 
     SpeechSynthesizer synthesizer = new SpeechSynthesizer(); 
     synthesizer.Speak("As for me and my house, ..."); 
    } 
} 

Die vom obigen Code erzeugten Sounds verwenden keine natürliche Flexion mit Pausen und so weiter. Mit einem vollständigen Satz klingt es nicht menschlich. Aber einzelne Wörter klingen ok, nur irgendwie Roboter.

Für ein kleines Kind, mit einer kleinen Menge von Wörtern, möchten Sie vielleicht nur Ihre eigene Stimme aufnehmen, die Worte sagen. Ich tat das mit einem USA-Staatsrätsel, um die Staatsnamen auszusprechen, anstatt auf den Synthesizer zurückzugreifen.

+0

War es klar genug, um eine Anwendung für ein Rechtschreibwort zu machen, oder hat es die Wörter falsch ausgesprochen. –

+1

Es ist ziemlich gut. Es klingt immer noch wie eine Computerstimme, aber ziemlich gut. Es ist sehr einfach, es auszuprobieren, so dass Sie in nur wenigen Minuten für sich selbst sehen können. – Cheeso

4

Sie wissen nicht, warum ich nicht daran denken war vor-
ich ein Wörterbuch-Lookup-Tool zu tun, und wollte die Aussprache, um es hinzuzufügen. Anstatt Text-to-Speech zu verwenden, was einen robotischen Sound ergibt, habe ich einen anderen Ansatz gewählt. M-W.com hat menschliche Stimmen in. Wav-Dateien für die meisten Wörter erfasst. Also scrape ich die Merriam-Webster-Website, um eine WAV-Datei für das Wort zu erhalten, und spiele dann , die ist. Wenn Ihre App verbunden wird, könnte das auch für Sie funktionieren.

Dies ist der Fluss geht es durch:

pronouncing Tricky...looking up 'Tricky'... 
dictionary page: http://www.merriam-webster.com/dictionary/Tricky 
got dictionary page markup, 35828 chars... 
getting pronunciation uri... 
got uri: 'http://www.merriam-webster.com//cgi-bin/audio.pl?tricky01.wav=tricky'... 
getting page markup... 
got pronunciation page markup, 3498 chars... 
getting wav uri... 
got wav uri: 'http://media.merriam-webster.com/soundc11/t/tricky01.wav'... 
getting wav data... 
got wav data, 6260 bytes... 
playing wav data. 
done. 

some prototype source code that does it hier.

Dies funktioniert auf dem .NET Framework 2.0 und funktioniert auch auf dem .NET CF 2.0. Es ist nur eine Illustration. Es ist naiv, die richtige .wav-Datei auszuwählen, wenn mehrere Wortformen und mehrere Aussprachen vorhanden sind. Wenn Sie nach einem Plural fragen, erhalten Sie es möglicherweise nicht. Vielleicht möchten Sie auch Caching und zusätzliche Ausnahmebehandlung hinzufügen, um es zu verhärten.

+0

Ich würde gerne den Code dafür sehen. Das ist eine wirklich coole Idee! –

+0

ok Ich habe den Beitrag aktualisiert und den Code hinzugefügt. – Cheeso