些合成器(与您今天发现的大多数合成器不同)都是模拟的,这意味着声音的生成是通过根据时间操纵电信号来完成的,而不是依赖软件和处理器。
老式合成器如何工作?本系列项目将展示合成器中的所有不同部分如何工作以及如何构建您自己的模块。
在这个项目中,我们将构建合成器的 VCO(压控振荡器),它接收模拟电压并生成原始声音,准备好由滤波器、调制器、ADSR 模块和步进序列进一步处理。
Minimoog D 型合成器
Minimoog Model D 合成器(Kraftwerk 从 70 年代到 1981 年使用的那种)。图片由穆格提供。
合成器类型和音乐理论
我们将要设计的合成器在当时非常常见。它被称为 1V/Octave 合成器。这意味着输入每增加 1V,输出频率就会上升一个倍频程(即 2 倍)。
现在,为了使该模块正常工作,输入端需要一个指数转换器。该转换器将接收线性电压并产生指数电压,该电压被馈送到 VCO。为什么我们需要指数转换器?答案就在人类听觉的本质和音乐理论中!
如果您拿起钢琴弹奏中间的 A 音符 (A4),它会发出频率为 440Hz 的特定音调。如果您现在弹奏该音符右侧的 A 音符(向上 12 个音符,A5),则该音符听起来相同,除了音调更高,频率为 880Hz。 (下音符是上音符的谐波,这就是为什么它们一起演奏时听起来不错)。现在,如果您弹奏右侧的下一个 A 音符 (A6),该音符听起来会比前一个 A 音符的音调更高;它的频率为1760Hz。
任何由 12 个键分隔的两个相同音符称为一个八度音程。对于任何相距一个八度的两个键,上面的键的频率将是个键的频率的两倍。其原因是因为人类的听觉本质上是对数的。这意味着,要使声音听起来两倍大,其振幅(或音调领域的频率)需要增加两倍。
例如,如果我们将波形的频率从 1Hz 增加到 2Hz,根据人耳的感觉,这将被视为相差一个八度。但将波形频率从 440Hz 增加到 441Hz 不会导致倍频程变化。事实上,人耳无法区分这两个频率,因为人耳擅长相对变化而不是变化。
因此,在摆脱了所有复杂的理论之后,我们需要找到一种方法来接收线性电压源(1V 八度键盘)并将其转换为产生指数电压的电压源。为此,我们将使用具有固有指数特性的元件,即双极结型晶体管或 BJT。
指数转换器
因此,我们需要一个电路来从键盘/控制器接收线性电压,并产生指数电压,该电压每八度音阶值加倍。
由于我们的 VCO 在单电源 5V 轨上运行,因此转换器的输出需要在 0V 到 5V 之间。凭借 5V 输入范围,可以实现总共 60 个键的 5 八度键盘。
下表显示了键盘的输入电压和转换器所需的输出电压。
钥匙 钥匙 #1v 倍频程 V世博产出频率
二氧化碳10.08330.165565.4078
C#020.16670.175469.2971
D030.25000.185873.4177
D#040.33330.196977.7834
E050.41670.208682.4086
F060.50000.221087.3089
F#070.58330.234192.5005
G080.66670.248098.0009
G#090.75000.2628103.8284
A0100.83330.2784110.0023
A#0110.91670.2950116.5434
B0121.00000.3125123.4734
C1131.08330.3311130.8155
C#1141.16670.3508138.5942
D1151.25000.3716146.8355
D#1161.33330.3937155.5668
E117 号1.41670.4171164.8172
F1181.50000.4419174.6178
F#1191.58330.4682185.0011
G1201.66670.4961196.0018
G#1211.75000.5256207.6567
A1221.83330.5568220.0046
A#1231.91670.5899233.0868
B1242.00000.6250246.9468
C2252.08330.6622261.6311
C#2262.16670.7015277.1885
D2272.25000.7433293.6709
D#2282.33330.7875311.1335
E2292.41670.8343329.6345
F2302.50000.8839349.2356
F#2312.58330.9364370.0022
G2322.66670.9921392.0037
G#2332.75001.0511415.3134
A2342.83331.1136440.0092
A#2352.91671.1798466.1736
B2363.00001.2500493.8937
C3373.08331.3243523.2621
C#3383.16671.4031554.3769
D3393.25001.4865587.3419
D#3403.33331.5749622.2670
E3413.41671.6685659.2690
F3423.50001.7678698.4711
F#3433.58331.8729740.0044
G3443.66671.9843784.0073
G#3453.75002.1022830.6268
A3463.83332.2272880.0185
A#3473.91672.3597932.3471
B3484.00002.5000987.7874
C4494.08332.64871046.5242
C#4504.16672.80621108.7538
D4514.25002.97301174.6838
D#4524.33333.14981244.5341
E4534.41673.33711318.5379
F4544.50003.53551396.9423
F#4554.58333.74581480.0088
G4564.66673.96851568.0147
G#4574.75004.20451661.2537
A4584.83334.45451760.0370
A#4594.91674.71941864.6942
B4605.00005.00001975.5747
由于其指数特性而使用的元件是 BJT。大多数人都会熟悉将基极电流与集电极电流联系起来的方程,但这种关系是线性的。
将基极-发射极电压与集电极电流关联起来的方程是指数关系:
I_C = I_S (e^{(\frac{qV_{be}}{kT})}-1)
在哪里
Ic - 集电极电流
Is——饱和电流
q - 电子电荷
Vbe - 基极-发射极电压
k - 玻尔兹曼常数
T - 温度(开尔文)
对我们来说幸运的是,有一些聪明的人已经完成了困难的数学(请参阅此处的数学)和电路设计。
下面是完整的指数转换器,将在我们的 VCO 引擎中使用,将输入线性电压转换为指数电压(输入每增加 1V,电压输出就会增加一倍)。
指数电路
点击放大。
在上图所示的原理图中,有 3 个不同的输入馈入 U1B。您可以添加额外的 100K 电阻器以获得更多输入,但通常三个就足够了。
KEY - 这是来自 1V 八度键盘的输入
TUNE - 连接到微调器,可用于对输出频率进行小幅调整(通过添加少量电压)
LFO - 低频振荡器 - 可用于添加 UFO、警笛甚至琶音等效果
以下是该电路如何工作的简单解释:
U1B 用于对各个输入(KEY、TUNE 和 LFO)求和并缩放输入电压,以便 1V 输入在输出上产生 -18mV(请注意,这是一个反相配置)。
Q1和Q2构成差分对。
U2B 用于维持通过 Q1 的恒定电流。 Q1 基极电压的变化导致 Q2 基极-发射极电压相应变化,从而导致 Q2 集电极电流呈指数变化。
Q1 和 Q2 的 HFE 必须非常相似!
U1A是电流电压转换器(R1和RV1的选择是为了当输入电压为5V时,输出电压也是5V)。
压控振荡器
现在是时候实际创建一个通过电压源控制的振荡器了。
为此,我们将使用如下所示的非常常见的布局:
VCO 布局
该振荡器有四个部分:
积分器(U3A)
反相施密特触发器 (U3B)
复位电路(Q3)
缓冲器(U4A 和 U4B)
积分器(U3A)
积分器的输出将根据 Q3 的状态(以及 VEXPO 上是否存在输入电压)执行两件事:
如果 Q3 关闭,则 C2 将充电,因此积分器输出将逐渐下降。
如果 Q3 导通,则 C2 将放电,因此积分器输出将逐渐上升。
输出下降或上升的速率由 C2、R7、R9、R10、R11 和输入电压 VEXPO 决定。
VEXPO 越大,C2 充电越快。
施密特触发器 (U3B)
施密特触发器将根据积分器的输出执行两件事:
如果积分器输出超过阈值上限,施密特触发器输出将为 0V。
如果积分器输出超过下阈值,施密特触发器输出将为 5V。
复位电路(Q3)
复位电路 Q3 将根据施密特触发器的输出做两件事:
如果触发器的输出为高电平 (5V),则 Q3 将导通。
如果触发器的输出为低电平 (0V),则 Q3 将关闭。
它是如何振荡的
该电路按下列模式振荡:
Q3 导通,因此积分器的输出上升。
积分器的输出终超过施密特触发器的上限。
施密特触发器的输出现在切换至 0V。
Q3 现在关闭,因此积分器的输出开始下降。
积分器的输出终降至施密特触发器的下阈值以下。
施密特触发器的输出现在切换至 5V。
Q3 现在打开(因此返回步骤 1)。
物料清单
成分数量参考
LM3584U1、U2、U3、U4
1M电阻1R2
100K电阻8R3、R4、R5、R8、R12、R14、R15
56K电阻4R9、R10、R11、R13
22K电阻1R1
10K线性电位器2右室1、右室2
1K电阻1R6
1nF电容1C1
4nF 电容(近似值;根据需要调整)1C2
BC548(带匹配的 hFE)2Q1、Q2
BC5481第三季度
100nF电容6这是为了去耦电源线,因此在每个 IC 附近使用
100K电位器1仅用于使用合成器 KEY 输入进行测试
建议您首先在无焊面包板上构建合成模块,以防电路无法工作。一旦您确信其功能正常,您就可以将其构建到条板上或制造 PCB。
尝试构建一个部分并使其发挥作用,然后再构建下一阶段。这样您就可以确定这部分电路工作正常!
构建时,有两点需要注意:
确保 Q1 和 Q2 具有接近的 hFE 值(彼此相差 10 以内)。的方法是花几美元购买一袋包含 100 个晶体管的廉价产品,并使用可以测量 hFE 的万用表。
Q1 和 Q2 必须相互热粘合。您可以通过将两者热粘合在一起来实现此目的,以便一个的热变化反映另一个的热变化。
您可能已经注意到该电路同时具有正电源电压和负电源电压。该电路需要双电源才能正常工作(负轨上需要 5V、0V 和至少 -5V)。对我们来说幸运的是,这个电路使用负电压发生器项目运行得很好,所以一定要先构建它!您还可以串联使用两个电池以获得分流电源,并将中间连接用作接地。
以下是可用于为 VCO 供电的可能电路:
用于给 VCO 供电
请注意,只有 VCC 轨需要调节至 5V,因为这将确定 VCO 的饱和点并影响输出频率。负轨仅在指数转换器电路中使用,并且在正常使用期间,该电路中的运算放大器输出不会被驱动至电源轨。
测试 VCO
要测试 VCO,您需要向求和级 U1B 提供输入电压。您可以使用电位器提供 0V 到 5V 之间的可变电压,也可以使用振荡器或 1V 八度键盘(如果有)的输出。该项目中显示的视频使用连接在 VCC 和 0V 之间的电位器,并将不同的输出电压连接到求和级。
在下面显示的视频中,您将看到 VCO 连接到电位计和第二个 VCO。第二个 VCO 产生低频振荡 (LFO),可用于摆动音高以获得许多有趣的效果。您还会注意到,将手指放在 Q1 或 Q2 上将导致输出频率发生变化,并且可以用来产生更有趣的效果!另请注意,我使用了隔直电容器来消除发送到扬声器的信号中的直流偏移。