为什么由非稳态多谐振荡器电路链构建的音乐合成器在几个小时后会“失谐”?

电器工程 振荡器 稳定 音乐 多谐振荡器 合成器
2022-01-26 03:23:06

我使用 13 个非稳态多谐振荡器电路链构建了一个原型键盘/声音合成器,其输出连接到音频放大器芯片 (LM386) 和扬声器,全部由 9V 直流电池供电。

通过改变与特定电阻值串联的微调微调电位器,每个单独的电路都可以调谐到音乐八度音程(C5、C#、D 等直到 C6)中的 13 个频率之一,从而使振荡进入球场频率。

振荡是经典的 BJT 非稳态多谐振荡器,您可以在此处的图 1中看到,本文对此进行了解释

原型在短时间内(最多一天)保持正确。

你可以在这里听到它的声音。(从 0:49 开始安全——Wadsworth常数;))

我无法弄清楚为什么电路似乎会自发失谐,即一个或多个单独的电路最终的频率与它们被调谐到的频率不同(检查了示波器和参考钢琴) .

失谐的频率偏差通常为 2-5%,这在听觉上很明显(例如,523Hz 的 C5 可能会漂移到 540Hz 或 510Hz)。有趣的是,在演奏时从未发生失谐。但几个小时后,按键的声音不再相同。

我原本以为修剪器可能会自行机械地放松。为了消除这种情况,我更换了微调电位器,以尝试仅根据电阻值“锁定”特定频率,这样设计中就不会留下任何可变性。

但即使在用固定电阻值替换微调器后,失谐问题仍然存在。

之前:具有固定电阻值的 13 键模拟合成器 之前:具有固定电阻值的 13 键模拟合成器


解决方案: 感谢所有有用的反馈、数字设计理念和历史背景,以更好地理解纯模拟设计的挑战。所有的答案都很棒。我已经接受了 ToddWilcox 的回答,因为我从中得到(a)失谐是纯模拟设计的预期部分,(b)艺术性在于如何建立一种快速调整乐器的巧妙方法。

为了解决眼前的问题,我在设计中放回了微调电位器(1-2K 欧姆),以便为每个键提供 2-5% 的可调性。开始播放时需要几分钟来调整 13 个振荡器,之后它们会一次保持几个小时的调谐。请参阅下面的新图像。

将使用壁疣新电池发布实验结果。数字设计(使用数字分频器和/或 555 定时器芯片)很有趣,并且可能会显着压缩尺寸。可以在此处的项目页面上找到未来的更新。

之后:带有微调电位器(1-2k ohm)的 13 键模拟合成器,用于调谐能力 之后:添加了 Trimmer Pots 以实现可调性

4个回答

您已经清楚地构建了一个本质上完全模拟的电路,并在每个振荡器中产生一个取决于各种因素的频率,例如:

  1. 改变振荡器电源的电压电平。
  2. 晶体管的 Vbe 电平随温度的变化。
  3. 电阻值随时间和温度的变化。
  4. 电容器的值随时间和温度的变化。
  5. 非稳态振荡器配置中电容器介电特性的变化。
  6. 由于原型附近的东西,杂散电路行为会发生变化。
  7. 从地球上看,月球相对于太阳的位置。

有一些方法可以构建在工作频率上没有太大漂移的电路。它们旨在消除或抵消上面列举的各种影响。一种传统的方法是设计一种电路,该电路用作基于紧容差晶体的单个更高频率的振荡器。然后使用数字计数器将这个频率划分为音阶中每个音符所需的频率。

为了展示数字电路方法的价值,我创建了一个小电子表格,显示从 C5 到 C6 音符的八度音阶。(标称频率是从 Google 上找到的图表中获取的值,而不是在电子表格中使用 A[440] 参考中的比例公式计算的)。

使用 22.1184 MHz 的晶振频率(这是 8 位嵌入式业务中使用的常见 MCU 频率),您可以看到,对于每个音符使用整数数字分频因子,生成的频率非常接近所需的标称值。

在此处输入图像描述

我无法弄清楚为什么电路似乎会自发失谐,即一个或多个单独的电路最终的频率与它们被调谐到的频率不同(使用示波器,然后是参考钢琴)。

如另一个答案所述,温度变化。

我在这里添加一个答案是因为,作为一名音乐家,我更喜欢 100% 模拟的振荡器的声音,而不是基于以下设计的:

一种基于精密公差晶体用作单个较高频率振荡器的电路。然后使用数字计数器将这个频率划分为音阶中每个音符所需的频率。

这个 Stack 上的 EE 可能会无休止地评论说我在科学上无法听到其中的区别。相信我,当我说我的钱包非常希望我听不到差异时,但我可以,而且它并不微妙。

无论如何,主要的 100% 模拟合成器制造商,如 Moog Music 和 Sequential Circuits(前身为 DSI)多年来以不同的方式解决了这个问题。老式的解决方案需要用户干预和频繁调整。最初的 Moog Minimoog(在其最受欢迎的变体之后又称为“Model D”)内置了一个晶体振荡器电路,它不是信号路径的一部分,但会产生稳定的 440 Hz 音调。您打开 440Hz 水晶音,然后在键盘上弹奏一个 A,然后转动 Master Tuning 旋钮以通过耳朵重新调整合成器。这是实用的,因为 Minimoog 曾经/现在是(经过一些技术改进重新发行)单合成器。一旦你将三个振荡器的组合调到一起,你就完成了。

顺序电路先知 5 是另一回事。所有的音频生成和信号路径都是模拟的并且容易发生漂移,并且在某种程度上,使用与 Minimoog 类似的过程进行调谐,但不是用户聆听晶体振荡器音调并手动调谐模拟振荡器, Prophet 5 采用微处理器控制的自动调谐校准。据一位消息人士称,在按下 Tune 按钮后大约需要 15 秒进行调谐。

Prophet 5 需要自动调音系统的一个原因是,它不是单音 3 振荡器合成器,而是具有 5 个声音的复音合成器,每个声音有 2 个振荡器,总共有 10 个振荡器。由于漂移可能发生在演出中间,因此需要一种相当快速的方法来重新调整合成器,以使其对音乐家有用。

因此,我的建议是,如果您正在构建自己的振荡器以获得 100% 的模拟音调,您将需要一些调谐机制。您可能还必须使用振荡器设计来尝试使它们尽可能热稳定。

如果我要走这条路,我会从 Moog 方法开始,并确保我知道如何设计一个主调音旋钮,我可以用它来快速重新调音合成器并努力获得至少稳定的设计在一个典型的家庭房间里一个小时。然后我可能会考虑“毕业”以添加一个微处理器,该微处理器可以将振荡器与参考晶体进行电气比较并自动调整调谐旋钮。

如今,Sequential Circuits 和 Moog Music 在 Prophet 6 和 Model D Reissue 产品中都有实时微处理器控制的调音调整,Sequential 甚至提供了额外的控制,让您可以控制微处理器保持调音的程度,以获得一些复古式振荡器在声音中漂移。

有关 Prophet 5 设计的更多信息

使 Prophet 5 的振荡器更稳定的一种方法是使用模拟集成电路,该电路在一个芯片上具有尽可能多的完整振荡器。这意味着芯片上的所有组件都会一起改变温度(至少比分立组件更接近)。

还有“片上温度补偿电路”。我不确定这究竟涉及什么,但我的猜测是电路设计使用片上组件来尽可能地“消除”由于芯片温度引起的实际电压漂移。

Prophet 5 服务手册的第 2-19 页对此主题非常感兴趣:https ://medias.audiofanzine.com/files/sequentialcircuitsprophet-5servicemanual-text-470674.pdf

我发现了一篇关于晶体振荡器模拟温度补偿电路设计的有趣论文:http ://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.11.2410&rep=rep1&type=pdf

另一个没有提到的因素是电路是电池供电的事实。

由于您正在驾驶扬声器,因此功耗会很大(正如您使用 LM386 所证明的那样),并且 9 伏电池会在几个小时内经历显着的电压下降。电源电压是决定振荡器工作频率的另一个因素。

尝试用 9 伏的壁式电源更换电池,看看会发生什么。

答:失谐是由于零件特性因加热、温度变化等而发生变化而发生的。您可以通过将它们放入温度受控的腔室中,并在使用前使其稳定下来,从而将其最小化。

我在这里使用微控制器做了同样的事情来创建 13 种音调。

https://www.youtube.com/watch?v=4c8idXN4Pg0

我做演示时只有 8 个按钮。我使用 PC 自供电扬声器播放它们。

音调以微秒级的精度创建。由于它们基于 16 MHz 晶体时钟源,因此不会漂移。

uC,Atmega1284P,有32个IO,所以直接支持13个按键和13个输出。

想要更多笔记?添加另一个处理器并更改包含音调半周期的数组。

不喜欢基本的方波音色?为输出添加过滤。