Esempio n. 1
0
        /// <summary>
        /// パラメータの設定。
        /// </summary>
        /// <param name="size">ブロックサイズ</param>
        /// <param name="overlap">オーバーラップさせる部分の長さ</param>
        /// <param name="rate">変換レート。再生時間が 1/rate 倍に。</param>
        public void SetParameter(int size, int overlap, double rate, int maxSkip)
        {
            this.size        = size;
            this.overlapSize = overlap;
            this.frameSize   = (int)(size * rate);
            this.maxSkip     = maxSkip;

            this.last = this.size < this.frameSize ?
                        this.frameSize + this.maxSkip :
                        this.size + this.overlapSize + this.maxSkip;

            this.buffer  = new OverlapBuffer(overlap, overlap);
            this.current = 0;
            this.skip    = 0;
        }
Esempio n. 2
0
        /// <summary>
        /// パラメータの設定。
        /// </summary>
        /// <param name="size">ブロックサイズ</param>
        /// <param name="overlap">オーバーラップさせる部分の長さ</param>
        /// <param name="rate">変換レート。再生時間が 1/rate 倍に。</param>
        public void SetParameter(int size, int overlap, double rate, int maxSkip)
        {
            // ステレオなので、2音ずつ処理 → size 類を全部偶数に。
            this.size        = size & (~1);
            this.overlapSize = overlap & (~1);
            this.maxSkip     = maxSkip & (~1);

            this.frameSize = (int)(size * rate) & (~1);
            this.last      = this.size < this.frameSize ?
                             this.frameSize + this.maxSkip :
                             this.size + this.overlapSize + this.maxSkip;

            this.buffer  = new OverlapBuffer(overlap, overlap);
            this.current = 0;
            this.skip    = 0;
        }
Esempio n. 3
0
		/// <summary>
		/// パラメータの設定。
		/// </summary>
		/// <param name="size">ブロックサイズ</param>
		/// <param name="overlap">オーバーラップさせる部分の長さ</param>
		/// <param name="rate">変換レート。再生時間が 1/rate 倍に。</param>
		public void SetParameter(int size, int overlap, double rate, int maxSkip)
		{
			this.size = size;
			this.overlapSize = overlap;
			this.frameSize = (int)(size * rate);
			this.maxSkip = maxSkip;

			this.last = this.size < this.frameSize ?
				this.frameSize + this.maxSkip :
				this.size + this.overlapSize + this.maxSkip;

			this.buffer = new OverlapBuffer(overlap, overlap);
			this.current = 0;
			this.skip = 0;
		}
Esempio n. 4
0
		/// <summary>
		/// パラメータの設定。
		/// </summary>
		/// <param name="size">ブロックサイズ</param>
		/// <param name="overlap">オーバーラップさせる部分の長さ</param>
		/// <param name="rate">変換レート。再生時間が 1/rate 倍に。</param>
		public void SetParameter(int size, int overlap, double rate, int maxSkip)
		{
			// ステレオなので、2音ずつ処理 → size 類を全部偶数に。
			this.size = size & (~1);
			this.overlapSize = overlap & (~1);
			this.maxSkip = maxSkip & (~1);

			this.frameSize = (int)(size * rate) & (~1);
			this.last = this.size < this.frameSize ?
				this.frameSize + this.maxSkip :
				this.size + this.overlapSize + this.maxSkip;

			this.buffer = new OverlapBuffer(overlap, overlap);
			this.current = 0;
			this.skip = 0;
		}