为什么由不稳定的多谐振荡器电路链构建的音乐合成器在几个小时后变得“失调”?


50

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

通过改变与特定电阻值串联的微调微调电位器,将每个电路调谐到一个音乐八度音阶中的13个频率之一(C5,C#,D等,直至C6)。球场频率。

振荡是经典的BJT不稳定多谐振荡器,您可以在这里的图1中看到它,并在本文中对此进行了说明

原型可以在短时间内(最多一天)保持正确的状态。

您可以在这里听到声音。(安全开始于0:49s- Wadsworth的常数 ;)

我无法弄清为什么电路会自发地失谐,即一个或多个独立电路的最终频率与被调谐的频率不同(已通过示波器和参考钢琴进行了检查) 。

失谐的频率偏差通常为2%至5%,这在听觉上非常明显(例如C5在523Hz处可能会漂移到540Hz或510Hz)。有趣的是,在演奏时绝不会发生失谐。但是几个小时之后,琴键不再听起来相同。

我原本以为微调壶本身就是在机械上放松。为了消除这种情况,我更换了微调电位器,尝试仅根据电阻值来“锁定”特定频率,从而在设计中不留任何可变性。

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

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


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

为了解决眼前的问题,我将微调电位器(1-2K欧姆)放回设计中,以便为每个按键提供2-5%的可调性。在演奏开始时,需要花费几分钟来对13个振荡器进行调音,然后将它们一次调音几个小时。参见下面的新图像。

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

之后:具有微调电位器(1-2k ohm)的13键模拟合成器,具有可调性 之后:添加了微调电位器以实现可调性


3
请显示您的电路原理图。
Michael Karas

12
您的电容器是哪种电介质,电阻的温度系数是多少?
科林

25
现在您知道音乐产业为何走向数字化!但是甚至在此之前,频率是由晶体振荡器确定的,该晶体振荡器提供了比CR时间常数更高的稳定性
Dirk Bruere

32
我确实喜欢电线(蓝色)如何使面包板看起来像四分音符。
Stian Yttervik

2
系统失灵后更换电池时会发生什么?如果您将其放几个小时会怎样?
桅杆

Answers:


33

我无法弄清楚为什么电路会自发地失谐,即一个或多个独立电路的最终频率与被调谐的频率不同(使用了显微镜,然后是参考钢琴)。

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

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

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

此Stack上的EE可能会无休止地评论说我在科学上无法听到区别。相信我,当我说我的钱包非常希望我听不见差别时,但是我可以,而且也不是很微妙。

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

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

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

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

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

如今,顺序电路和穆格音乐都在Prophet 6和Model D Reissue产品中进行了实时的微处理器控制的调音调整,而顺序软件甚至还提供了额外的控制功能,可让您控制微处理器保持调音的状态,从而获得一定的效果。型振荡器在声音中漂移。

有关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


3
@EdgarBrown如果您可以制造一个听起来像模拟系统一样好的数字系统,人们将为此付出巨大的代价。到目前为止,我听说过的最好的模拟数字娱乐产品是Kemper Profiler放大器产品。公平地说,在许多现场情况下,都广泛或专门使用数字建模。在现场表演中,很难听到最高的5%-10%的质量,因此可靠性和灵活性胜出。但是,当您真正想拥有声音时,几乎总是只有一种方法可以获取声音
Todd Wilcox

3
@EdgarBrown同样有趣的是,人们常常对我们无法用现代技术重制Stradivarius小提琴或老式马丁吉他感到惊讶,而对我们无法重制1974年的Minimoog或CS-80感到更加惊讶。我真的不知道为什么那里的观念会有差异。DSP不同于模拟的美国枫树不是17世纪的意大利枫树。
Todd Wilcox

3
并非完全是合成器,但梅洛特隆(Mellotron)就是另一个有趣的例子。它通过播放长卷带,从乐器(如长笛)上录制的每个音符,然后按多个键可以在电动机上产生足够的负载来使其减速并使其失谐来进行操作。尝试对其进行调整通常很困难,罗伯特·弗里普(Robert Fripp)甚至说“调整磁控管并不容易”。
esilk

3
最后,@ ToddWilcox归结为“您要准确地重新创建Minimoog的确切序列号”。如果您的耳朵足够好并且您在乎这些东西,那么诸如此类的模拟乐器听起来彼此就会不同。但是,您也可以从不同的声音中识别出Strad小提琴!
alephzero

2
@ToddWilcox-着迷于纯模拟设计以及每种模拟如何满足调谐需求。好的,现在我将音调器放回原处,并考虑如何使该音调闪动(分别调谐13个振荡器需要花费几分钟,但需要多次通过,这并不是很好的用户体验)。感谢您分享细节!
阿萨德·易卜拉欣

40

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

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

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

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

使用22.1184 MHz的晶振频率(这是8位嵌入式业务中常用的MCU频率),您可以看到每个整数都有一个数字分频因子,说明所产生的频率非常接近所需的标称值。

在此处输入图片说明


35
随时发布您自己的答案。
Michael Karas

5
只是爱点7!
kebs

4
@MichaelKaras-我建议用紫色显示第二个有效数字;-)
Scott Seidman

13
@kebs如果您认为第7点是个笑话,那我想您从没使用过完全模拟的合成器-甚至没有专业设计的合成器。
alephzero

4
@MichaelKaras您的“正确”频率仅正确到两位小数。当然,这对于调整音符已经绰绰有余了,但对百分比误差计算有很大影响。但是,它并不会改变您在帖子中讲述的整体故事。
alephzero

10

尚未提及的另一个因素是电路由电池供电。

由于您正在驱动扬声器,因此功耗将非常大(如使用LM386所证明),并且9伏电池将在数小时内经历明显的电压降。电源电压是确定振荡器工作频率的另一个因素。

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


7

答案:失谐是由于零件的特性因加热,温度变化等变化而发生的。您可以将其放入温度可控的腔室内,并使其稳定后再使用,以将其最小化。

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

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

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

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

uC Atmega1284P具有32个IO,因此直接支持13个按钮和13个输出。

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

不喜欢基本的方波音调吗?向输出添加过滤。


2
这并没有真正解决这个问题。实际上,将漂移最小的16 MHz时钟源与数字系统结合使用可以防止此问题,但并未讨论为何在问题中详细介绍的模拟系统中会发生这种失谐。
ζ--

1
更新了答案。
CrossRoads

非常酷的演示!复音能力很好。与上面的基本方波相比,音色听起来非常好。您使用了哪种过滤?
阿萨德·易卜拉欣

1
基本上没有。输出通过1uF电容使之达到+/- 2.5V,然后通过一个电阻进行模拟混合。如果您在Arduino论坛中搜索“ piano tones micros”,则会弹出该主题,并且那里有原理图。我无法从我所在的位置访问该网站,或者将其张贴在这里。
CrossRoads

我的设计原理是在这里 forum.arduino.cc/index.php?topic=179761.0 这里的图片forum.arduino.cc/...
十字路口

5

典型的RC振荡器的频率由RC时间常数和每个周期所需的“ RC衰减”量控制。555电路比许多其他类型的张弛振荡器更稳定的原因之一是,它所摆动的电压比相对不受所涉及晶体管特性的影响。相比之下,您使用的不稳定的单振动器对晶体管的导通特性非常敏感,而晶体管的导通特性又对温度敏感。

我猜想该仪器需要花费一些时间进行调整,并且在调整时,所有晶体管都将达到平衡工作温度。如果关闭仪器,晶体管将冷却。如果打开电源并立即开始演奏,它们将比调谐乐器时的温度低,但是如果等待晶体管达到调谐温度时,调谐应接近其应有的温度。是。

顺便说一句,我长大的电子管电子管使用调谐的LC电路,而不是RC电路。调谐LC电路的频率将主要由电容器和可调电感器的值控制。如果要减少放大元件的数量(每个振荡器的器官使用双三端双向可控硅开关管的1/2),则使用LC电路可能是一种实用的方法,尽管合适尺寸的可调电感器可能比大多数芯片要贵。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.