今天搞了下微軟的TTS,逛了好多網(wǎng)頁(yè)、博客,拼拼湊湊搞了點(diǎn)東西吧。
首先添加類庫(kù)調(diào)用,系統(tǒng)自帶的system.speech

1 using System.Speech.Synthesis;
然后就能調(diào)用方法了
1 SpeechSynthesizer speech = new SpeechSynthesizer();2 speech.Rate = int.Parse(dudRate.Text);//語(yǔ)速3 speech.Speak("Hello TTS");4 speech.Dispose();里面有個(gè)speech.SelectVoiceByHints()方法。按它的解釋可以自己挑選聲音,我還以為看到曙光了,一邊寫一邊贊嘆微軟的強(qiáng)大。等寫好運(yùn)行時(shí)才發(fā)現(xiàn)沒有用,一點(diǎn)變化也沒有。當(dāng)然也不知道它默認(rèn)的聲音是哪來的。然后又看了一邊里面的方法,發(fā)現(xiàn)有個(gè)只讀的成員speech.voice,它有好多屬性(age、gender、name...)。果斷調(diào)個(gè)name看看,我電腦聲音是誰(shuí)的。結(jié)果是MicrsoftHUihuiDesktop。額,有點(diǎn)扯多了。這個(gè)名字可以在控制面板里的講述人和語(yǔ)音識(shí)別里找到。我系統(tǒng)是win8的,還有個(gè)Micrsoft Zira Desktop,這個(gè)只能讀英語(yǔ)。huihui都能讀,但讀英語(yǔ)效果沒Zira好,真是難以取舍哇。
這是設(shè)置語(yǔ)音的方法。不設(shè)置的話就用系統(tǒng)默認(rèn)的了。
1 speech.SelectVoice("Micrsoft HUihui Desktop");都只有女聲,聽聽就膩了,偶爾也要換換口味嘛。想看看系統(tǒng)還有其他語(yǔ)音么

貌似又感覺到微軟強(qiáng)大的曙光了。。果斷滿懷希望點(diǎn)進(jìn)去看了,但是但是萬萬沒想到跳出個(gè)英文網(wǎng)站,而且根本沒有其它語(yǔ)音,網(wǎng)頁(yè)看上去也有點(diǎn)年紀(jì)的樣子。然后在微軟社區(qū)搜了下,說是不能添加講述人語(yǔ)音的。好吧~~
還是加其它語(yǔ)言庫(kù)吧,都說NeoSpeech好,撿過來用用。它有好幾中類型的

一開始直接裝了個(gè)Paul,調(diào)用
1 speech.SelectVoice("VW Paul");2 speech。speak("Hello");運(yùn)行聽聽看,果然還是男聲很好聽。不是我有問題,是系統(tǒng)自帶的語(yǔ)音沒這個(gè)好,之后用女聲的感覺更好哦。但是我就寫了個(gè)hello,為啥他能說這么多,話嘮哇。。聽了好幾次才發(fā)現(xiàn)原來是廣告,原來我下的是未注冊(cè)的。我這么正直怎么能用這個(gè)呢,于是又到網(wǎng)上蕩了,查到漢語(yǔ)大字典網(wǎng)站上有正版的哦。
附上下載鏈接
還有個(gè)保存音頻的功能,代碼:
1 SpeechSynthesizer speech = new SpeechSynthesizer(); 2 SaveFileDialog file = new SaveFileDialog(); 3 file.Title = "保存音頻文件"; 4 file.InitialDirectory = ".//";//對(duì)話框的初始目錄 5 file.Filter = "音頻文件|*.wav";// 要在對(duì)話框中顯示的文件篩選器 6 file.RestoreDirectory = true;//控制對(duì)話框在關(guān)閉之前是否恢復(fù)當(dāng)前目錄 7 file.FilterIndex = 1;//在對(duì)話框中選擇的文件篩選器的索引,如果選第一項(xiàng)就設(shè)為1 8 file.AddExtension = true; 9 if (file.ShowDialog() == DialogResult.OK)10 {11 speech.SetOutputToWaveFile(file.FileName);//這三個(gè)方法順序不能換哦12 speech.Speak(richTextBox1.Text);13 speech.SetOutputToNull();14 }寫得有點(diǎn)亂的感覺
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注