900,000+ datasheet pdf search and download

Datasheet4U offers most rated semiconductors data sheet pdf






BDNC

BD3201 Datasheet Preview

BD3201 Datasheet

Digital Reverb Engine

No Preview Available !

bd3201
Digital Reverb Engine
Application Note--Pitch Shifting(音高改变)
这篇文档描述了在bd3201里实现Pitch Shifting(音高改变)的一个基本方法。
1. 综述
bd3201能够通过读快(音高上升)或者读慢(音高下降)样点来实现基本的音高改变
程序。程序是通过让样点在一个圆形的缓冲器内运行,并用两个指针从圆形缓冲器里
读样点来实现的。这两个指针点在圆形缓冲器离相隔180度,因此当一个指针点跨过缓
冲器的尾部到头部的时候,另一个指针点正好在缓冲器的中间。
一个取样点是以在一个指针点的样点和另一个指针点的样点作线性插值计算得出的,
cross-fading在两个指针点之间,例如cross fade系数对一个指针是0时表示指针从这
个圆形缓冲器的尾部到头部。
这个被数字LFO(低频振荡器)计算出的cross fade系数和锯齿波一起产生这两个指针。
2. 计算
数字低频振荡器是在合唱发生器模块里被计算出的,用24位表示。计算结果的高20
供地址发生器和MAC实用。在这20位中,高13位发送给地址发生器,低7位被用来做
MAC的差值系数。
13位发送给地址发生器的是2’s 取反,有效的范围是+4096-4096。这个范围被低频
振荡器的振幅系数所控制,这个系数是15位的,总是小于1
频率由一个13位的系数决定,这个13位的数是一个用于内部数字低频振荡器的18
字。
锯齿波的频率计算公式如下(假定使用12.288MHz 的晶振,48KHz的取样率):
f = (F*Fs*C)/(2*M*SIN) = 0.045777*F
这里
F = 13 位频率系数
Fs = 48000 (取样率)
C = 4194304 0x400000LFO的一个内部常量)
M = 262143 (0x3FFFF18位字的内部最大值)
SIN = 8388607 (0x7FFFFF, 24位数的正最大值)
如果频率系数F=1,则 f =0.045777*F=0.045777...Hz
如果频率系数F=8191 (13位的最大值) ,则f =0.045777*F= 374.9557Hz
3. 音高上升( Pitch up
用于音高上升的适当频率和振幅系数的计算由圆形缓冲器的长度和音高上升的量共同
决定。我们选择一个8192个样点长度的缓冲器(锯齿波的最大振幅)将会导致振幅系
数为3176715位振幅系数的最大值)。
© BDNC
www.bdnc.com
1
Free Datasheet http://www.nDatasheet.com




BDNC

BD3201 Datasheet Preview

BD3201 Datasheet

Digital Reverb Engine

No Preview Available !

bd3201
Digital Reverb Engine
下面来说频率系数的决定。首先我们需要确定需要上升的音高的期望值。如果音高上
升一个八度音阶,我们想将圆形缓冲器中的8192个取样点以两倍取样速率播放,一个
简单的计算方法就是确定我们想播放的取样速率比基本取样速率快多少,在这种情况
下,我们想要将8192个取样点按基本取样速率48KHz再加上48KHz后的速率播放。由
于取样率通过地址发生器采用向下计数器被写进了圆形缓冲器中,同时向上计数器产
生了锯齿波,而我们需要反转锯齿波,这些通过CHR指令中的COMP标记来完成。因
此,计算频率系数的公式如下:
f = 48kHz faster / 8192 samples = 5.85938Hz
通过上面的f = (F*Fs*C)/(2*M*SIN),我们得出F的计算公式为:
F = (2*M*SIN*f)/(Fs*C) = 127.999, 量化为128
因此,将音高上升一个八度音阶,频率系数=128,振幅系数=31767,缓冲区长度为
8192
将音高上升 n,这里 n 是八度音阶的分数倍数,则通用的计算公式为:
F = [2*M*SIN*(2^n - 1)]/(C*BufferSize) = 1048571.185*(2^n - 1)/BufferSize
因此,上升1/2个八度,采用同样的8192缓冲区大小:
F = 1048571.185*(2^1/2 - 1)/8192 = 53.019, quantized to 53. 量化为53
上升5个半音:
F = 1048571.185*(2^5/12 - 1)/8192 = 42.859, quantized to 43. 量化为43
上升40分:
F = 1048571.185*(2^0.40/12 - 1)/8192 = 2.992, quantized to 3. 量化为3
4 .音高下降(Pitch Down
音高下降与音高上升类似,只是除了加上基本取样率之外,我们还要从中减去它,这
样,我们就不用反转锯齿波。例如,如果我们要将音高下降一个八度音阶,我们需要
从取样率中减去24KHz,采用8192取样缓冲区,计算结果如下:
f = 24kHz slower / 8192 samples = 2.92969Hz
F = (2*M*SIN*f)/(Fs*C) = 63.9997,量化为64
下降n,这里n是八度音阶的分数倍数,通用的计算公式为:
F = [2*M*H*(1 – 2^-n)]/(C*BufferSize) = 1048571.185*(1 – 2^-n)/BufferSize
因此,下降1/2个八度,采用同样的8192缓冲区大小:
F = 1048571.185*(1 – 2^-1/2)/8192 = 37.490, quantized to 37.
下降5个半音:
F = 1048571.185*(1 – 2^-5/12)/8192 = 32.108, quantized to 32.
下降40分:
F = 1048571.185*(1 – 2^-0.40/12)/8192 = 2. 923, quantized to 3.
© BDNC
www.bdnc.com
2
Free Datasheet http://www.nDatasheet.com


Part Number BD3201
Description Digital Reverb Engine
Maker BDNC
Total Page 7 Pages
PDF Download

BD3201 Datasheet PDF

View PDF for Mobile








Similar Datasheet

1 BD3201 Digital Reverb Engine
BDNC
2 BD3201-14A Digital Reverb Engine
BDNC





Part Number Start With

0    1    2    3    4    5    6    7    8    9    A    B    C    D    E    F    G    H    I    J    K    L    M    N    O    P    Q    R    S    T    U    V    W    X    Y    Z

Site map

Webmaste! click here

Contact us

Buy Components

Privacy Policy