2

我使用 VS 2010、.Net 3.5、Win7 64 位。

我可以将 Console.Beep 用于“模拟”人类声音(语音),也许会产生合成语音吗?

例如,使用 Beep 来“模拟”单词“Error”的发音?有任何关于它的样本吗?

另一个示例使用 Console.Beep 播放音乐和弦和音符。

有什么方法可以让 Console.Beep 播放任何听起来更像和弦或音符的东西(语音、单词错误)?

我只想使用 Console.Beep。(如果可能的话,也许)模拟,而不是真实的声音。我不介意它听起来像 R2D2。

Beep
如何在 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

2 回答 2

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

于 2013-01-22T14:12:13.247 回答
0

嘿那里=)我也在考虑这个,所以我在网上搜索但找不到任何东西。我自己做了一点工作并想出了这个=)。它工作得很好!

我在“公共部分类 Form1:Form”中创建了 1 个随机数(int)生成器,因此它将加载 @start。

代码 :

    private Random randomgen = new Random();

下面我为 8 种不同的声音制作了整数,为不同的速度制作了 8 个整数。

下面代码中的“beepgen1”直到“8”是声音的频率 37-7000 赫兹有关“Console.Beep(FREQUENCY, MILISEC)”的更多信息,请参见此链接

示例 将此代码放在一个按钮下,您的电脑将发出 1000 赫兹和 100 米秒长的哔声。

“Console.Beep(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);
于 2015-02-04T20:55:36.433 回答