c# speech in het Nederlands

Status
Niet open voor verdere reacties.

Patrikch

Nieuwe gebruiker
Lid geworden
26 apr 2017
Berichten
1
Hallo,
Ik ben nieuw in C# en had de volgende vraag.

Graag had ik de tekst in een textbox gehoord via de computerstem.
Deze stem is momenteel in het Engels en had deze graag in het Nederlands gehad.

even de code van mijn voorbeeld :
//---------------------------------------------------------------
using System.Speech.Synthesis;

private void button1_Click(object sender, EventArgs e)
{
// Initialize a new instance of the SpeechSynthesizer.
SpeechSynthesizer synth = new SpeechSynthesizer();

// Configure the audio output.
synth.SetOutputToDefaultAudioDevice();

//synth.SelectVoice("Microsoft Frank Mobile - Dutch (Netherlands)"); ----> deze werkt niet !!!!
//synth.SelectVoice("Microsoft Sam"); ----- > deze ook niet ....
// Speak a string.
synth.SelectVoiceByHints(VoiceGender.Male, VoiceAge.Adult, 0, System.Globalization.CultureInfo.CreateSpecificCulture("nl-NL")); // -> doet niets

synth.Rate = -5;
synth.Speak("1 2 3 4 5 6");
}

dus dat tellen gaat in het Engels en wou dit graag in het Nederlands. Ik heb de instellingen via windows 10 al op NL gezet waar dat werkt ook niet.

Heeft er iemand de kennis of ervaring om dit toch te doen lukken? (misschien met een code)

Groeten, Patrik.
 
Kan je hier wat inspiratie uithalen???
Laat het duidelijk wezen, ik ken een beetje van VBA en een beetje Java en een beetje C# en nog een paar beetjes:rolleyes:, met andere woorden ik ben niet de slimste van de hoop, (lees stapel) voor de NL's.

Je kan het volgende proberen.
Controleer eerst als Nederlands is geïnstalleerd.
Ga eerst naar Instellingen -> Tijd en taal -> Regio en taal -> Een taal toevoegen -> Selecteer de gewenste taal
Als Nederlands al aanwezig is klik op opties -> spraak downloaden (indien nodig)
Ga na het downloaden een stap terug en kies de nieuwe taal als standaard.
Het is misschien niet noodzakelijk maar ik start opnieuw op, en kontroleer nadien de taal instellingen (spraak).
Als alles goed is gegaan moet je de taal terugvinden in SpeechSynthesizer.AllVoices collection.
Voeg toe in SpeechSynthesizer instance's Voice property

Code:
private async void button1_Click(MediaElement audioPlayer, string TTS)
of
private async void SpeakText(MediaElement audioPlayer, string TTS)
    {
        SpeechSynthesizer ttssynthesizer = new SpeechSynthesizer();

        using (var speaker = new SpeechSynthesizer())
        {
            speaker.Voice = (SpeechSynthesizer.AllVoices.First(x => x.Gender == VoiceGender.Male && x.Language.Contains("NL")) );
            ttssynthesizer.Voice = speaker.Voice;
        }

        SpeechSynthesisStream ttsStream = await ttssynthesizer.SynthesizeTextToStreamAsync(TTS);

        audioPlayer.SetSource(ttsStream, "");
    }

	using System.Speech.Synthesis;
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan