private void buttonOK_Click(object sender, EventArgs e) { currentVoiceIndex = comboBoxVoice.SelectedIndex; if (currentVoiceIndex < 0) { currentVoiceIndex = 0; } if (tokens.Count <= 0) { return; } spVoice.SetVoice((ISpObjectToken)tokens.Item(currentVoiceIndex)); spMemoryStream = new SpMemoryStream(); SpAudioFormat spAudioFormat = new SpAudioFormat(); spAudioFormat.Type = waveType; spMemoryStream.Format = spAudioFormat; spVoice.AudioOutputStream = spMemoryStream; spVoice.EndStream += new _ISpeechVoiceEvents_EndStreamEventHandler(SpeechDone); spVoice.Viseme += new _ISpeechVoiceEvents_VisemeEventHandler(voice_Viseme); spVoice.Speak(textBoxSpeak.Text, SpeechVoiceSpeakFlags.SVSFlagsAsync); }
/// <summary> /// Set up a file stream by path. /// </summary> private static SpFileStream PrepareFileStreamToWrite(string path) { SpFileStream stream = new SpFileStream(); SpAudioFormat format = new SpAudioFormat(); format.Type = SpeechAudioFormatType.SAFT48kHz16BitMono; stream.Format = format; stream.Open(path, SpeechStreamFileMode.SSFMCreateForWrite, true); return(stream); }
private void btnSave_Click(object sender, EventArgs e) { if (SaveFileDialog1.ShowDialog() == DialogResult.OK) { SpVoice oVoice = new SpVoice(); SpFileStream cpFileStream = new SpFileStream(); cpFileStream.Open(SaveFileDialog1.FileName, SpeechLib.SpeechStreamFileMode.SSFMCreateForWrite, false); SpeechAudioFormatInfo info = new SpeechAudioFormatInfo(6, AudioBitsPerSample.Sixteen, AudioChannel.Mono); SpAudioFormat info1 = new SpAudioFormat(); info1.Type = SpeechAudioFormatType.SAFTGSM610_11kHzMono; cpFileStream.Format.Type = SpeechAudioFormatType.SAFT11kHz16BitStereo; oVoice.AudioOutputStream = cpFileStream; oVoice.Voice = oVoice.GetVoices().Item(cboVoice.SelectedIndex); oVoice.Volume = trVolume.Value; oVoice.Rate = trRate.Value; oVoice.Speak(txtSpeak.Text, SpeechLib.SpeechVoiceSpeakFlags.SVSFDefault); oVoice = null; cpFileStream.Close(); cpFileStream = null; } //SpFileStream spFileStream = new SpFileStream(); //SpVoice speech = new SpVoice(); //SpAudioFormat format = new SpAudioFormat(); //spFileStream.Open(@"d:\dude.wav", SpeechStreamFileMode.SSFMCreateForWrite, true); //speech.AudioOutputStream = spFileStream; ////NOTE: This is where I get hosed //speech.Voice = speech.GetVoices().Item(0); //speech.Volume = trVolume.Value; //speech.Rate = trRate.Value; //speech.Speak("I love you", SpeechVoiceSpeakFlags.SVSFDefault); //spFileStream.Close(); //spFileStream = null; }
public bool SaveAsWAV(string path, string str, SpeechAudioFormatType SpAudioType) { SpeechStreamFileMode SpFileMode = SpeechStreamFileMode.SSFMCreateForWrite; SpFileStream SpFileStream = new SpFileStream(); SpeechVoiceSpeakFlags SpFlags = SpeechVoiceSpeakFlags.SVSFlagsAsync; SpAudioFormat SpAudio = new SpAudioFormat(); SpAudio.Type = SpAudioType; SpFileStream.Format = SpAudio; SpFileStream.Open(path, SpFileMode, false); mVoice.AudioOutputStream = SpFileStream; mVoice.Speak(str, SpFlags); mVoice.WaitUntilDone(Timeout.Infinite); SpFileStream.Close(); return File.Exists(path); }
private void buttonOK_Click(object sender, EventArgs e) { tokens = spVoice.GetVoices("", ""); spVoice.SetVoice((ISpObjectToken)tokens.Item(0)); spMemoryStream = new SpMemoryStream(); SpAudioFormat spAudioFormat = new SpAudioFormat(); spAudioFormat.Type = waveType; spMemoryStream.Format = spAudioFormat; spVoice.AudioOutputStream = spMemoryStream; spVoice.EndStream += new _ISpeechVoiceEvents_EndStreamEventHandler(SpeechDone); spVoice.Viseme += new _ISpeechVoiceEvents_VisemeEventHandler(voice_Viseme); spVoice.Speak(textBoxSpeak.Text, SpeechVoiceSpeakFlags.SVSFlagsAsync); }
/// <summary> /// 开始转换 /// </summary> public void Convert() { SpFileStream sr = new SpFileStream(); SpAudioFormat audio = new SpAudioFormat(); audio.Type = Format; sr.Format = audio; sr.Open(SaveFileName, SpeechStreamFileMode.SSFMCreateForWrite, false); SpVoice voice = new SpVoice(); voice.Voice = voice.GetVoices(null, null).Item(0);//语言设置 voice.Rate = Rate; voice.AudioOutputStream = sr; voice.Volume = Volume == 0 ? 100 : Volume; voice.Speak(InputText, SpeechVoiceSpeakFlags.SVSFlagsAsync); voice.WaitUntilDone(Timeout.Infinite); sr.Close(); }
private void buttonOK_Click(object sender, EventArgs e) { currentVoiceIndex = comboBoxVoice.SelectedIndex; if (currentVoiceIndex < 0) currentVoiceIndex = 0; if (tokens.Count <= 0) return; spVoice.SetVoice((ISpObjectToken)tokens.Item(currentVoiceIndex)); spMemoryStream = new SpMemoryStream(); SpAudioFormat spAudioFormat = new SpAudioFormat(); spAudioFormat.Type = waveType; spMemoryStream.Format = spAudioFormat; spVoice.AudioOutputStream = spMemoryStream; spVoice.EndStream += new _ISpeechVoiceEvents_EndStreamEventHandler(SpeechDone); spVoice.Viseme += new _ISpeechVoiceEvents_VisemeEventHandler(voice_Viseme); spVoice.Speak(textBoxSpeak.Text, SpeechVoiceSpeakFlags.SVSFlagsAsync); }