Example #1
0
        /// <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];
        }
Example #2
0
        /// <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];
        }