2013-01-22 80 views
1

我使用VS 2010,NET 3.5的,Win7的64位。播放語音話聽起來使用Console.Beep淨

我可以使用Console.Beep爲「simule」人類的聲音(語音),可能產生合成語音的聲音?

例如,使用鳴叫「simule」字「錯誤」的聲音?有關它的任何樣本?

使用Console.Beep播放音樂的和絃和筆記的另一個樣本。

有沒有什麼辦法可以Console.Beep發揮任何聲音(語音,文字錯誤)更像是一個和絃或音符?

我想只用Console.Beep。(如果有可能,也許) 模擬,而不是真實的聲音。我不介意這聽起來像R2D2。

蜂鳴
How can I make the computer beep in C#?

播放音樂的和絃,指出
http://social.msdn.microsoft.com/Forums/en-US/Vsexpressvb/thread/6620fd81-974a-40d1-8599-66d6c7c7d22d/

http://oguzkoroglu.net/post/2011/01/16/ConsoleBeep().aspx

+4

人類語音和音樂是一個很大數量的頻率,其強度迅速變化隨着時間的混合。Console.Beep()能夠都不是,它永遠不會聽起來更好比R2D2。 –

回答

8

沒有是不可能的

,你可以找到所有你在System.Speech.Synthesis Namespace

需要
using System; 
using System.Speech.Synthesis; 

namespace SampleSynthesis 
{ 
    class Program 
    { 
    static void Main(string[] args) 
    { 

     // Initialize a new instance of the SpeechSynthesizer. 
     SpeechSynthesizer synth = new SpeechSynthesizer(); 

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

     // Speak a string. 
     synth.Speak("This example demonstrates a basic use of Speech Synthesizer"); 

     Console.WriteLine(); 
     Console.WriteLine("Press any key to exit..."); 
     Console.ReadKey(); 
    } 
    } 
} 

SpeechSynthesizer類提供對安裝在主機上的語音合成引擎的功能的訪問。安裝的語音合成引擎由語音代表,例如Microsoft Anna。

http://msdn.microsoft.com/en-us/library/system.speech.synthesis.speechsynthesizer.aspx

+1

這是使用Speech.Synthesis?任何.NET程序集?我已經編輯我的答案任何的Win32 API或組件安裝在Windows? – Kiquenet

+1

的prerrequisites。你需要System.Speech添加爲基準以及 –

+0

System.Speech在Windows XP 32位,Windows 7 64位工作正常?關於System.Speech另一個系統requeriment(任何Win32 API:kernel32,...)從Windows XP工作正常( – Kiquenet

0

嘿=)我想這個也一樣,所以我在網上搜索,但沒有發現任何東西。 有點自己工作,並提出了這個=)。 它的工作非常好!

我在「public partial class Form1:Form」中創建了一個隨機數(int)生成器,所以它會加載@start。

代碼:

private Random randomgen = new Random(); 

下面在這裏,我提出了8個不同的聲音整數,8不同的速度。

「beepgen1」,直到「8」在下面的代碼是聲音 37-7000赫茲的頻率見關於this鏈接的詳細信息「Console.Beep(頻率,以毫秒爲單位)」

示例將此代碼放置在一個按鈕下,您的電腦將發出1000Hertz和100Milisec的嗶聲@ 。

「控制檯。蜂鳴(1000,100)」

  int beepgen1, beepgen2, beepgen3, beepgen4, beepgen5, beepgen6, beepgen7, beepgen8, beepgenn1, beepgenn2, beepgenn3, beepgenn4, beepgenn5, beepgenn6, beepgenn7, beepgenn8; 

      beepgen1 = (randomgen.Next(37, 7000)); 
      beepgen2 = (randomgen.Next(37, 6000)); 
      beepgen3 = (randomgen.Next(37, 6000)); 
      beepgen4 = (randomgen.Next(37, 7000)); 
      beepgen5 = (randomgen.Next(37, 8000)); 
      beepgen6 = (randomgen.Next(37, 7000)); 
      beepgen7 = (randomgen.Next(37, 7000)); 
      beepgen8 = (randomgen.Next(37, 5000)); 
      beepgenn1 = (randomgen.Next(50, 200)); 
      beepgenn2 = (randomgen.Next(50, 250)); 
      beepgenn3 = (randomgen.Next(50, 300)); 
      beepgenn4 = (randomgen.Next(50, 200)); 
      beepgenn5 = (randomgen.Next(50, 250)); 
      beepgenn6 = (randomgen.Next(50, 200)); 
      beepgenn7 = (randomgen.Next(50, 300)); 
      beepgenn8 = (randomgen.Next(50, 250)); 

      Console.Beep(beepgen1, beepgenn1); 
      Console.Beep(beepgen2, beepgenn2); 
      Console.Beep(beepgen3, beepgenn3); 
      Console.Beep(beepgen4, beepgenn4); 
      Console.Beep(beepgen5, beepgenn5); 
      Console.Beep(beepgen6, beepgenn6); 
      Console.Beep(beepgen7, beepgenn7); 
      Console.Beep(beepgen8, beepgenn8);