NAudioには、SignalGeneratorというクラスがある。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
using System; using System.Linq; using System.Threading; using System.Windows.Forms; using NAudio.Wave; using NAudio.Wave.SampleProviders; namespace NAudio_SigGen { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { var sg = new SignalGenerator() { Gain = 0.2, //音量 Frequency = 800, Type = SignalGeneratorType.Sin }.Take(TimeSpan.FromSeconds(10)); //10秒継続 using (var wo = new WaveOutEvent()) { wo.Init(sg); wo.Play(); while(wo.PlaybackState == PlaybackState.Playing) { Thread.Sleep(500); } } } } } |
SignalGeneratorTypeには、サイン波の他に三角波、矩形波、のこぎり波、ピンクノイズ、ホワイトノイズ、スイープというのがある。
ホワイトノイズは、オーディオフィルタの特性を簡易的に見るのに便利かもしれない。