微軟TTS,Neospeech TTS 簡單使用


    今天搞了下微軟的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 }

寫得有點亂的感覺

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM