2017-10-06 3 views
0

男性音声は、100Hz〜8KHzの周波数範囲をカバーします。私はConsole.Beepで異なる周波数のシーケンスを作成して単語を作成できますか? Console.Beepサポート37 - 32767Hz。 (怒りの周波数は人間の声の周波数に適しています)。例Console.Beepを使用して人間の音声周波数を作成します。c#

Console.Beep(100, 220); 
Console.Beep(90, 130); 
Console.Beep(125, 240); 
Console.Beep(192, 150); 
Console.Beep(200, 120); 
Console.Beep(90, 130); 
Console.Beep(125, 240); 
Console.Beep(132, 150); 
Console.Beep(200, 220); 
Console.Beep(190, 230); 
Console.Beep(185, 240); 
Console.Beep(192, 250); 
+3

はい、「単語」はわかりませんがあなたのコードを実行すると、私は良い笑いを与えました。 –

+0

これは単なる例です。 1つの言葉を言うには、何千もの行が必要です。もちろん、非常にゆっくりと働くような方法ではありません。答えはありがとうございます(疑問はちょっと奇妙に思えました。質問がもっとも論理的ですが、最初は負のスケーリングがたくさんありました) –

+0

これを本当にしたいのであれば、https:// msdnの方が良い方法があります。 microsoft.com/en-us/library/system.speech.synthesis.speechsynthesizer(v=vs.110).aspx –

答えて

3

ため 2番目のパラメータは、ミリ秒単位の期間があり、それは理論上の最大サンプル・レートは、あなたがこの方法で達成できることを意味し、指定できる最小期間は1ミリ秒であることを意味する整数、、だだろう1,000Hzである。

これは音声にはあまりにも低すぎます(一般的に使用されるサンプルレートhereの表を参照)が、もっと重要なことに、実際的な制限ははるかに小さくなります。 Console.Beepは、この方法での使用を目的としていません。比較的長時間(例えば1秒)の音色を演奏するのに使っても、音が突然止まると、最後に「クリック」する音がします。 1ミリ秒または10ミリ秒の長さの連続した一連の通話を試みると、そのクリックはすべて聞こえます。代わりに何らかの種類のオーディオライブラリを使用する必要があります。

関連する問題