/// <summary> /// パラメータを指定して新しい SoundFilter クラスのインスタンスを初期化します。 /// </summary> /// <param name="stereo">ステレオの場合は true、モノラルの場合は false。</param> /// <param name="bufferSize">フィルタが適用されるバッファのサイズ。 /// stereo が true の場合、各チャネルのバッファサイズは bufferSize の半分となります。</param> public SoundFilter(bool stereo, int bufferSize) { if (bufferSize < 0) throw new ArgumentException(); if (bufferSize % 2 != 0) throw new ArgumentException(); this.stereo = stereo; if (stereo) { bufferSize /= 2; this.rfilter = new FFTFiltering(bufferSize / 8, bufferSize / 8, bufferSize, bufferSize); this.rbuffer = new double[bufferSize]; } this.lfilter = new FFTFiltering(bufferSize / 8, bufferSize / 8, bufferSize, bufferSize); this.lbuffer = new double[bufferSize]; }
/// <summary> /// パラメータを指定して新しい SoundFilter クラスのインスタンスを初期化します。 /// </summary> /// <param name="stereo">ステレオの場合は true、モノラルの場合は false。</param> /// <param name="bufferSize">フィルタが適用されるバッファのサイズ。 /// stereo が true の場合、各チャネルのバッファサイズは bufferSize の半分となります。</param> public SoundFilter(bool stereo, int bufferSize) { if (bufferSize < 0) { throw new ArgumentException(); } if (bufferSize % 2 != 0) { throw new ArgumentException(); } this.stereo = stereo; if (stereo) { bufferSize /= 2; this.rfilter = new FFTFiltering(bufferSize / 8, bufferSize / 8, bufferSize, bufferSize); this.rbuffer = new double[bufferSize]; } this.lfilter = new FFTFiltering(bufferSize / 8, bufferSize / 8, bufferSize, bufferSize); this.lbuffer = new double[bufferSize]; }