標籤:des style blog http color 使用
今天搞了下微軟的TTS,逛了好多網頁、部落格,拼拼湊湊搞了點東西吧。
首先添加類庫調用,系統內建的system.speech
1 using System.Speech.Synthesis;
然後就能調用方法了
1 SpeechSynthesizer speech = new SpeechSynthesizer();2 speech.Rate = int.Parse(dudRate.Text);//語速3 speech.Speak("Hello TTS");4 speech.Dispose();
裡面有個speech.SelectVoiceByHints()方法。按它的解釋可以自己挑選聲音,我還以為看到曙光了,一邊寫一邊讚歎微軟的強大。等寫好運行時才發現沒有用,一點變化也沒有。當然也不知道它預設的聲音是哪來的。然後又看了一邊裡面的方法,發現有個唯讀成員speech.voice,它有好多屬性(age、gender、name...)。果斷調個name看看,我電腦聲音是誰的。結果是 Micrsoft HUihui Desktop。額,有點扯多了。這個名字可以在控制台裡的講述人和語音辨識裡找到。我系統是win8的,還有個Micrsoft Zira Desktop,這個只能讀英語。huihui都能讀,但讀英語效果沒Zira好,真是難以取捨哇。
這是設定語音的方法。不設定的話就用系統預設的了。
1 speech.SelectVoice("Micrsoft HUihui Desktop");
都只有女聲,聽聽就膩了,偶爾也要換換口味嘛。想看看系統還有其他語音麼
貌似又感覺到微軟強大的曙光了。。果斷滿懷希望點進去看了,但是但是萬萬沒想到跳出個英文網站,而且根本沒有其它語音,網頁看上去也有點年紀的樣子。然後在微軟社區搜了下,說是不能添加講述人語音的。好吧~~
還是加其它語言庫吧,都說NeoSpeech好,撿過來用用。它有好幾中類型的
一開始直接裝了個Paul,調用
1 speech.SelectVoice("VW Paul");2 speech。speak("Hello");
運行聽聽看,果然還是男聲很好聽。不是我有問題,是系統內建的語音沒這個好,之後用女聲的感覺更好哦。但是我就寫了個hello,為啥他能說這麼多,話嘮哇。。聽了好幾次才發現原來是廣告,原來我下的是未註冊的。我這麼正直怎麼能用這個呢,於是又到網上蕩了,查到漢語大字典網站上有正版的哦。
附上下載連結
還有個儲存音訊功能,代碼:
1 SpeechSynthesizer speech = new SpeechSynthesizer(); 2 SaveFileDialog file = new SaveFileDialog(); 3 file.Title = "儲存音頻檔案"; 4 file.InitialDirectory = ".\\";//對話方塊的初始目錄 5 file.Filter = "音頻檔案|*.wav";// 要在對話方塊中顯示的檔案篩選器 6 file.RestoreDirectory = true;//控制對話方塊在關閉之前是否恢複目前的目錄 7 file.FilterIndex = 1;//在對話方塊中選擇的檔案篩選器的索引,如果選第一項就設為1 8 file.AddExtension = true; 9 if (file.ShowDialog() == DialogResult.OK)10 {11 speech.SetOutputToWaveFile(file.FileName);//這三個方法順序不能換哦12 speech.Speak(richTextBox1.Text);13 speech.SetOutputToNull();14 }
寫得有點亂的感覺