algorithm - 确定两个频率之间的不和谐程度

标签 algorithm math audio

<分区>

使用连分数,我生成了一定精度的频率之间的整数比,以及误差(整数比与实数比的差值)。所以我最终得到了这样的东西:

101 赫兹与 200 赫兹 = 1:2 + 0.0005
61 赫兹与 92 赫兹 = 2:3 - 0.0036

但是,我在实际决定其中哪些比其他的更不和谐时遇到了障碍。起初我认为低数字 = 更好,但像 1:51 这样的东西可能不会很不和谐,因为它的频率比另一个高 51 个 Octave 。这可能是一个尖叫的高音,耳朵流血的音调,但我认为它不会有不和谐。

在我看来,这一定与比率两侧与成分的乘积有某种关系。 1 * 51 = 51,从一侧不会“上升太多”。 2 * 3 = 6,我认为这表明比 1:51 更不和谐。但我需要将这种感觉转化为实际数字,以便我可以比较 5:7 与 3:8 或任何其他组合。

我怎么能把错误处理进去呢?当然 1:2 + 0 比 1:2 + 1 不那么不和谐。将适用于上述整数比率的算法直接应用于频率本身会更容易吗?还是让带有误差的整数比来简化计算?

编辑:仔细想想,一个可以扩展到和弦中任意一组 N 个频率的算法会很棒,但我觉得这会困难得多......

编辑 2:澄清: 让我们考虑一下我正在处理纯正弦波,并且忽略人耳的特定阈值或将它们抽象为变量。如果有严重的并发症,则忽略它们。我的问题是,在这种情况下,如何在算法中表示它。

最佳答案

查看 http://homepages.abdn.ac.uk/mth192/pages/html/maths-music.html 的第 4 章.从内存中:

1) 如果两个正弦波刚好接近到人耳混淆的程度,但又没有接近到人耳无法分辨它们的不同,就会出现不和谐。

2) 纯正弦波极为罕见 - 大多数音调都有各种谐波。不和谐很可能是由碰撞的谐波而不是碰撞的主音引起的——以你的例子为例,两个相隔许多 Octave 的音不太可能不和谐,因为它们的谐波可能不相交,而只有几个 Octave 不同和负载长笛的泛音可能与低音提琴听起来格格不入。因此,不和谐与否不仅取决于主音的频率,还取决于存在的谐波,并且通过构造具有特殊伪谐波的声音实验证明了这一点。

关于algorithm - 确定两个频率之间的不和谐程度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12201617/

相关文章:

algorithm - 找出无向图的最大子集

python - 保持数字有序的有效方法

language-agnostic - 数学概念如何帮助我进行 Web 开发?

audio - Skype 业务 2015 : Audio/Video not working in meetings

android - 如何从服务器下载一部分mp3?

algorithm - 没有列表功能的 Haskell foldWhile 或 reduceWhile?

c++ - 从位集中获取某些位的十进制值的快速方法

C 程序将字符串转换为整数并以代数方式求解它们

c# - 在两点之间绘制路径

android - WebView是否在Android Jelly Bean 4.1上支持WebAudio API?