使用连分数,我正在生成一定精度下频率之间的整数比率,以及误差(从整数比率到实际比率的差异)。所以我得到类似以下的结果:
101 Hz和200 Hz = 1:2 + 0.0005 61 Hz和92 Hz = 2:3 - 0.0036
然而,我遇到了一个问题,就是如何决定哪个比另一个更不和谐。起初,我认为低数值=更好,但像1:51这样的比率可能不太不和谐,因为它比另一个高了51个八度。它可能是一个尖叫声高音,但我认为它不会有不和谐。
对我来说,似乎必须与比率的两边的积与组成部分相关。1 * 51 = 51,这并没有“上升很多”从一边。2 * 3 = 6,我认为这表明比1:51更高的不和谐。但我需要把这种感觉转化为一个实际的数字,这样我就可以比较5:7和3:8,或任何其他组合。
那么我该如何处理误差呢?当然,1:2 + 0比1:2 + 1更不和谐。将直接适用于以上整数比率的算法应用于频率本身是否更容易?或者具有整数比率和误差是否允许更简单的计算?
编辑:考虑到我正在处理纯正弦波,并忽略人耳的特定阈值或将其抽象为变量。如果存在严重的复杂性,则会被忽略。我的问题是如何在算法中表示它,在这种情况下。
编辑2:澄清: 假设我正在处理纯正弦波,并忽略人耳的特定阈值或将其抽象为变量。如果存在严重的复杂性,则会被忽略。我的问题是如何在算法中表示它。
101 Hz和200 Hz = 1:2 + 0.0005 61 Hz和92 Hz = 2:3 - 0.0036
然而,我遇到了一个问题,就是如何决定哪个比另一个更不和谐。起初,我认为低数值=更好,但像1:51这样的比率可能不太不和谐,因为它比另一个高了51个八度。它可能是一个尖叫声高音,但我认为它不会有不和谐。
对我来说,似乎必须与比率的两边的积与组成部分相关。1 * 51 = 51,这并没有“上升很多”从一边。2 * 3 = 6,我认为这表明比1:51更高的不和谐。但我需要把这种感觉转化为一个实际的数字,这样我就可以比较5:7和3:8,或任何其他组合。
那么我该如何处理误差呢?当然,1:2 + 0比1:2 + 1更不和谐。将直接适用于以上整数比率的算法应用于频率本身是否更容易?或者具有整数比率和误差是否允许更简单的计算?
编辑:考虑到我正在处理纯正弦波,并忽略人耳的特定阈值或将其抽象为变量。如果存在严重的复杂性,则会被忽略。我的问题是如何在算法中表示它,在这种情况下。
编辑2:澄清: 假设我正在处理纯正弦波,并忽略人耳的特定阈值或将其抽象为变量。如果存在严重的复杂性,则会被忽略。我的问题是如何在算法中表示它。