大家好,欢迎来到IT知识分享网。
调平均律依据拍音来判断准确性的理论简析
引子
我们有耳朵,能听声音。
自然界的声音都是各种频率声波的叠加。
音乐是声音的艺术,音乐中的一个音,是指某个音调的声音。
音有几种基本属性:响度、音调(音高)、音色。
人耳不仅能感受声音的响度(振幅)和音调(基波频率),还有主观能力来区别音调相同但音色不同的声音。
比如钢琴,提琴、管、号、琵琶、筝、二胡、笙、笛……可以演奏一个相同音高的音,而这些音的音色却完全不同。
一个音包含一个基波和许多谐波,基波决定音调(音高),谐波决定音色。
谐波包含各种频率成分,包括基波的N倍频,
乐器发音方式、材料、结构等决定了振动时声波有着不同的谐波频率和谐波振幅,
这些频率不同、幅度不同的谐波相叠加便决定了音色。
我们这里想着重强调基波的“N倍频”谐波。
其实琴弦的振动方式有横振动、纵振动、扭转振动,还有倍频振动。
上个图理解一下倍频
由图可以想象
一个音的声波波形,是由基音波和这些N倍频的谐波叠加而成。
简单归纳不一定准确: 声波=基波+所有倍频波的求和
概念:
拍音 [pāi yīn]
物理学名词。指人耳所感觉到的由两个振动频率相近的声波所合成的强弱相间的声音。
实际上拍音这个词,强调的是拍,节拍,即 强弱相间的节拍,音强弱变化的节拍。(beat)
理解重点
拍音是两个频率相近的声波叠加的结果。频率相同拍音消失。
这里来找找茬,我编个顺口溜:
音是音,拍是拍,音是高频拍,拍是低频音,音低频变拍,拍高频变音
为什么这么说呢?
音是有频率的,节拍也是有频率的。他们具有相同的属性。
到底什么频率是拍,什么频率是音,怎么分析?
人对低频率的响动理解为拍,对高频的响动理解为音
如钟摆每秒震动一次“咔——哒——”;拿起座机电话,听筒便会传出每秒440次的震动,“翁~~”。
例子很明显,“咔哒咔哒”是每秒1次的节拍,不较真儿的话,一般没人会说“咔哒”是频率1hz的音,“翁~~” 是频率440次的节拍。
百度词条
https://baike.baidu.com/item/%E6%8B%8D%E9%9F%B3/?fr=aladdin
词条中讲“拍音是一种声学和心理声学的现象”,这句很精辟!,从根本上说拍音是人的感觉。
纠结拍和音之间的坎儿到底是什么频率呢,如何感觉?
这里主要想表达,人耳对拍和音有选择性收听的现象,一个拍音频率变高,拍感没了就是音了;要听拍音,一定是低频的拍音。讲的不好别拍我哈,
音律——平均律与纯律
平均律
平均律两个半音之间的频率比是1.02953.….即2^(1/12),数学表达上是优雅的,方便转调。
其各个音频率比如下
1 1.0
#1 1.02953
2 1.9373
#2 1.2721
3 1.48732
4 1.00344
#4 1.30951
5 1.66815
#5 1.81994
6 1.7429
#6 1.06785
7 1.3387
1′ 2.0
纵观各种乐器,有管有弦有打击,因为不同的特征,调音律法并不都是平均律的。
还有纯律
纯律
为什么称其为纯?纯净的,共鸣的,和谐的、共振的,无拍音的。
纯律来自号角,1、3、5、1′ 、3′ 、5′ 频率 比4:5:6:8:10:12
其频率比都是整数比。
推导出音程的频率比(高/低):
小三度(3-5):6/5
大三度(1-3) :5/4
四度(5-1′) :8/6=4/3
五度(1-5):6/4=3/2
小六度 (3-1′):8/5
大六度 (5-3′) :10/6=5/3
纯洁的纯律“自然音阶”1、2、3、4、5、6、7频率比为
F、9/8F、5/4F、4/3F、3/2F、5/3F、15/8F
1 1
2 1.125
3 1.
4 1.333
5 1.5
6 1.6875
7 1.
由于平均律每个音频率跟纯律十分接近。
因此平均律音程的频率比也十分接近于纯律音程的“整数比”。
推导得出,平均律在某音程中,高音和低音的两个频率数 分别乘以“整数比(纯律)”中的整数,得到的倍频数几乎相等,(纯律是完全相等)
以五度(1-5)(纯律频率比3:2)为例
纯律,假设 1为200hz ,5为300hz
平均律,假设 1为200hz ,5计算为200*1.=299.6614hz
//注意200为举例仅为计算方便。
那么
200*3=600,299.6614*2=599.3228
600几乎等于599.3228,频率差仅为0.6772hz(拍频约3次/2秒)
琴弦振动时会发出倍频的音,
1(200hz)发音时 其3倍频(600hz)谐波会同时存在。
5(299.6614)发音时,其2倍频(599.3228)谐波会同时存在。
前面拍音的概念说过两个频率相近的音会有拍音现象。
于是1-5两个音同时发出时,拍音就会被我们感觉到了。
不得不说拍音跟倍频是密不可分的好基友。
上面举的例子倍频差为0.6772hz
拍频约3次/2秒,倍频差似乎是和拍频一致的数字。的确,拍频就是等于倍频差。
接下来 引一个觉得很经典的贴 作分析
这个贴的回答,我觉得是很认真的。
https://www.zhihu.com/question//answer/
十二平均律的各音程之间的频率关系是无理数(除了 2 倍关系),为什么没看到有人说各个音之间相对不和谐?
像纯律、三分损益这样的,都是使用有理数确定各个音的音高,说是有理数关系的音程听起来比较和谐。那么十二平均律为什么可以用无理数呢?有不和谐的因素吗?
引用部分原文
题主说的没错,人耳的确会认为“整数比”的频率是和谐的。
但是如果问到为什么十二平均律产生的近似整数比的无理数频率比值也能被人耳认为是相对和谐的,就需要了解“拍频”现象。
先用近似的纯一度(相同音)举例:
对于某个音,设其频率为f。此外还有一个音的频率为f’=f+delta_f,其中delta_f是一个比较小的频率。现在同时发出频率为f和f’的两个声音,频率会是多少呢?我们知道,声音是一种波,空间中某一点处频率为f0的声音的波函数可写为:
f(t)=A*cos(2*PI*f0*t)
用Mathematica的Play[]函数可以通过声音的波函数生成一段声音,并给出它的波形。现在尝试获得一段50 Hz的声音:
[图]输入的表达式意为播放这段波函数对应的声音,时长1 s,采样率20000 Hz(可以忽略掉(zzz:每秒采样20000个数据点))。程序输出了一段很低沉的声音,并给出了波函数图像,它在一秒内振动了50次。(如果不了解傅立叶级数/傅立叶变换可以忽略此段括号内文字,只需要看上图中下方的图像,不影响理解下文。上图中上方的图像和本答案的内容相关度不大,在此只是做一个解释。上下两图分别是傅立叶变换中的频域和时域图像,这段声音在频域图像内其实应该是一条固定频率的水平线,但是现在出现了图中的一大片蓝色,就是因为另一位匿名答主提到的声音失真。如果提高频率至几千Hz,则不会严重失真,可以看到一条明显的细线。)
现在再生成一个55 Hz的声音,可以看到两者几乎没有差别,新的函数在一秒内振动了55次。
[图]
这个新的函数不再是简单的正弦波,它可以拆分成两个波动的叠加:一个是频率接近50 Hz的振动;另一个是一秒5次的振动(5 Hz)。
频率较高 (> 20 Hz) 的振动会被人耳感知为声音;而对频率较低的振动,人耳可以感知其强度的周期性变化,即一秒内这个频率约为50 Hz的声波从强到弱再到强地周期性变化了五次。这个频率较低的振动称为“拍频”。
这种现象可以简单地用高中数学中的和差化积得到解释
cos(2*PI*(f1)*t)+cos(2*PI*(f2)*t)
=
2*cos(2*PI*(f1+f2)/2*t)*cos(2*PI*(f1-f2)/2*t
这样的两个正弦(余弦)波的加和的确可以写成两个不同频率振动的乘积,前者代表的是声音频率为两个声音平均值的振动(由于频率差很小,听起来频率几乎没有变化),后者代表的是频率为两个声音频率差值的拍频,和上面Mathematica得到的结果相符。需要注意的是,拍频部分的cos函数的频率是二者频率差的一半,但是人耳所感受到的是波函数的平方(正比于声音强度),所以正值和负值听起来是没有差别的,实际的拍频即为两个声音的频率差:
[公式]f_beat= f’-f=delta f
小结:频率略有差别的两个音的同时播放时听起来就像是近似是这个频率的声音正在忽强忽弱地变化,而强弱变化频率为两个音的频率差(拍频)。
此外,并不是只有近似同频率的声音可以形成拍现象,两个近似整数比频率
(如 n1*f,n2*(f+delta_f), n1,n2为整数)
的声音也可以形成强度周期性变化的拍现象,其拍频和n1、n2、delta_f有关,计算和证明较为复杂,在此略去。比如440 Hz(小字一组a音)和881 Hz(近似小字二组音)产生的拍频不是441 Hz,而是1 Hz;440 Hz和661 Hz(小字二组音)产生的拍频是2 Hz。
…………
帖子举例使用余弦表达,当然也可以使用正弦表达,
数学上,两个波的叠加比如一个波频率f+df,另一个波频率为f-df
sin(2*PI*(f+df)*t)+sin(2*PI*(f-df)*t)
和差化积
2*sin(2*PI*f*t)*cos(PI*df*t)
即
2*sin(频率平均值 )*cos(频率差的一半)
cos(频率差的一半)的变化与cos(频率差)的变化无疑是慢了一倍
但人耳听到强度变化不分正负,0-PI、PI-2PI每半个变化周期都包含了强和弱,所以感觉拍音的频率就是频率差。(数学表达式有待添加)
从纯律音音间的整数比,到平均律音音间比率接近整数比,到音程倍频差,到数学上两个波叠加推导。
最后结论
拍音频率等于两个音的最小倍频差。
钢琴上真实拍音频率的计算
题目句子太长分段说
遍历A37为冠音八度内所有音程
遍历A37为根音八度内所有音程
找出每个音程根冠两音 倍频差绝对值是最小的 倍频数据做分析
用暴力查找法写个vb 码分析数据
Sub beipincha_fenxi() '倍频差分析 '需要选择音A37频率所在的单元格,$D$48 Dim backgroup_colors backgroup_colors = "0099ff" 'bgr x = ActiveCell.Row y = ActiveCell.Column Dim i, j i = 1 j = 1 Dim minValue As Double Dim minx, miny, minoy Dim cValue As Double Dim str For r = x - 11 To x + 11 '上下各11半音音程 If (r = x) Then GoTo continue End If minValue = 99999# '给个大数 minx = 0 miny = 0 minoy = 0 For c = y To y + 14 '当前度每个倍频 'Cells(r, c).Value For slct = y To y + 14 '15倍频 cValue = Abs(Cells(x, slct).Value - Cells(r, c).Value) '倍频差 If (cValue < minValue) Then '最小倍频差,记录表格位置 minValue = cValue minx = r miny = c minoy = slct 'MsgBox "r=" & r & " c=" & c & " v=" & (Cells(minx, miny).Value) & " " & x & "--" & slct Else 'MsgBox " v=" & (Cells(minx, miny).Value) End If Next Next Dim str1, str2, str3, str4, strName Dim cha str1 = minx & "," & miny & " 倍=" & (miny - y + 1) & " 频=" & (Cells(minx, miny).Value) & vbCrLf str2 = x & "," & minoy & " 倍=" & (minoy - y + 1) & " 频=" & (Cells(x, minoy).Value) & vbCrLf If (r < x) Then cha = (Cells(x, minoy).Value) - (Cells(minx, miny).Value) str3 = " 差=" & cha & vbCrLf str = str1 & str2 & str3 str4 = "( " & (Cells(x, y).Value) & " * " & (minoy - y + 1) & " )-" str4 = str4 & "( " & (Cells(minx, y).Value) & " * " & (miny - y + 1) & " )" & vbCrLf str4 = str4 & " = " & (Cells(x, minoy).Value) & " - " & (Cells(minx, miny).Value) & vbCrLf & " = " strName = "冠:" & Cells(x, 1) & Cells(x, 2) & ",根:" & Cells(minx, 1) & Cells(minx, 2) & vbCrLf Else cha = (Cells(minx, miny).Value) - (Cells(x, minoy).Value) str3 = " 差=" & cha & vbCrLf str = str2 & str1 & str3 str4 = "( " & (Cells(minx, y).Value) & " * " & (miny - y + 1) & " )-" str4 = str4 & "( " & (Cells(x, y).Value) & " * " & (minoy - y + 1) & " )" & vbCrLf str4 = str4 & " = " & (Cells(minx, miny).Value) & " - " & (Cells(x, minoy).Value) & vbCrLf & " = " strName = "冠:" & Cells(minx, 1) & Cells(minx, 2) & ",根:" & Cells(x, 1) & Cells(x, 2) & vbCrLf End If strName = strName & "音程:" & Abs(r - x) & "半音" & vbCrLf str4 = strName & str4 & cha Worksheets(2).Cells(j, 1).Value = str4 Worksheets(2).Cells(j, 2).Value = cha Worksheets(2).Cells(j, 3).Value = Abs(cha) '背景色 Cells(minx, miny).Interior.Color = Application.WorksheetFunction.Hex2Dec(backgroup_colors) 'MsgBox str '根据倍频差计算过程数据的结果不难得出,各个音程倍频的倍数,与纯律频率比用的整数是一致的 continue: j = j + 1 Next End Sub
得出结果并标记出单元格的颜色:
音程
“冠:A37,根:#A26
音程:11半音
( 219. * 8 )-( 116.8 * 15 )
= 1759. – 1748.
= 11.”
“冠:A37,根:B27
音程:10半音
( 219. * 5 )-( 123.5 * 9 )
= 1099. – 1111.
= -11.01″
“冠:A37,根:C28
音程:9半音
( 219. * 3 )-( 130.2 * 5 )
= 659.2 – 654.0
= 5.394″
“冠:A37,根:#C29
音程:8半音
( 219. * 5 )-( 138.7 * 8 )
= 1099. – 1108.
= -8.014″
“冠:A37,根:D30
音程:7半音
( 219. * 2 )-( 146.3 * 3 )
= 439.1 – 440.8
= -0.702″
“冠:A37,根:#D31
音程:6半音
( 219. * 5 )-( 155.7 * 7 )
= 1099. – 1088.
= 11.08″
“冠:A37,根:E32
音程:5半音
( 219. * 3 )-( 164.9 * 4 )
= 659.2 – 659.8
= 0.4016″
“冠:A37,根:F33
音程:4半音
( 219. * 4 )-( 174.4 * 5 )
= 879.2 – 873.0
= 6.199″
“冠:A37,根:#F34
音程:3半音
( 219. * 5 )-( 184.7 * 6 )
= 1099. – 1109.
= -9.008″
“冠:A37,根:G35
音程:2半音
( 219. * 8 )-( 195.1 * 9 )
= 1759. – 1763.
= -3.992″
“冠:A37,根:#G36
音程:1半音
( 219. * 1 )-( 207.6 * 1 )
= 219. – 207.6
= 12.4″“冠:#A38,根:A37
音程:1半音
( 233.0 * 1 )-( 219. * 1 )
= 233.0 – 219.
= 13.0″
“冠:B39,根:A37
音程:2半音
( 246.5 * 8 )-( 219. * 9 )
= 1975. – 1979.
= -4.009″
“冠:C40,根:A37
音程:3半音
( 261.8 * 5 )-( 219. * 6 )
= 1308. – 1319.
= -11.”
“冠:#C41,根:A37
音程:4半音
( 277.7 * 4 )-( 219. * 5 )
= 1108. – 1099.
= 8.011″
“冠:D42,根:A37
音程:5半音
( 293.8 * 3 )-( 219. * 4 )
= 880.3 – 879.2
= 0.1063″
“冠:#D43,根:A37
音程:6半音
( 311.6 * 5 )-( 219. * 7 )
= 1555. – 1539.
= 15.98″
“冠:E44,根:A37
音程:7半音
( 329.9 * 2 )-( 219. * 3 )
= 659.9 – 659.2
= -0.301″
“冠:F45,根:A37
音程:8半音
( 349.7 * 5 )-( 219. * 8 )
= 1746. – 1759.
= -13.02″
“冠:#F46,根:A37
音程:9半音
( 369.1 * 3 )-( 219. * 5 )
= 1109. – 1099.
= 9.005″
“冠:G47,根:A37
音程:10半音
( 391.9 * 5 )-( 219. * 9 )
= 1959. – 1979.
= -20.0″
“冠:#G48,根:A37
音程:11半音
( 415.8 * 8 )-( 219. * 15 )
= 3322. – 3299.
= 22.”
从倍数上可以观察出其与纯律的频率比的整数具有一致性。
其实结论就是
某音程关系确定,平均律两音最小绝对值的倍频差 中,这两个倍数与 纯律两音频率比的用到的这两个整数相同。(比较绕)
各个音程分析
上下3度关系拍频在6.9~8.7
上下4度关系拍频在0.74~0.99
上下5度关系拍频在-0.49~-0.74
上下6度关系拍频在5.93~9.98
计算结果显示45度关系拍频变化量最小,而且是4+5-,宽四窄五。
36度都为+拍频值域相近。
vb码
Sub yincheng4579() '音程4579个半音,即3456度 '需要选择音A1频率所在的单元格,$D$12 '这里并没有使用纯律整数比简便的算法,还是暴力法。 Dim arr() As Variant arr = Array(4, 5, 7, 9) Dim keys keys = 88 Dim arrLen arrLen = UBound(arr) - LBound(arr) + 1 Dim backgroup_colors backgroup_colors = "0099ff" 'bgr x = ActiveCell.Row y = ActiveCell.Column Dim i, j i = 1 j = 1 Dim minValue As Double Dim minx, miny, minox, minoy Dim cValue As Double Dim str For yc = 0 To arrLen - 1 Dim du du = arr(yc) 'MsgBox du For r = x To x + 88 - du - 1 '所有音 minValue = 99999# '给个大数 minx = 0 miny = 0 minox = 0 minoy = 0 For c = y To y + 10 '当前音每个倍频 'Cells(r, c).Value For slct = y To y + 10 '度的每个倍频 cValue = Abs(Cells(r + du, slct).Value - Cells(r, c).Value) '倍频差 If (cValue < minValue) Then '最小倍频差,记录表格位置 minValue = cValue minx = r miny = c minox = r + du minoy = slct 'MsgBox "r=" & r & " c=" & c & " v=" & (Cells(minox, minoy).Value) - (Cells(minx, miny).Value) & " " & x & "--" & slct Else 'MsgBox " v=" & (Cells(minx, miny).Value) End If Next Next Cells(r, y + 16 + yc).Value = (Cells(minox, minoy).Value) - (Cells(minx, miny).Value) '背景色 'Cells(minx, miny).Interior.Color = Application.WorksheetFunction.Hex2Dec(backgroup_colors) 'Cells(minox, minoy).Interior.Color = Application.WorksheetFunction.Hex2Dec(backgroup_colors) 'MsgBox str Next Next End Sub
本着音程相对较大,和谐度高,人耳易识别,辨识精度高的原则
可以根据数据总结和归纳。得出A37附近的音各个音程容易找到规律,得出调律方法所依靠的理论。
调音方法
还是如图(数据表图)最右侧有两个调律顺序,两个方法本质上都是用四五度调音,三六度验证(图上验证省略)。
其中一个是国内首创盲人钢琴调律的导师 李任伟先生 的三步法顺序 (注:第一步中 4->#6 原是在第二步7->3’之后 ,为了顺和简,我提前了)
再引用个贴简明扼要的叙述了部分步骤,如下
关于钢琴的四五度精密调律法
http://blog.sina.com.cn/s/blog_6bf67bff0102x5mp.html
1。检查钢琴现有音高与标准音高的差值:音叉与37A比较,小于等于两个拍音的,采用一次精调法。大于两个拍音小于等于六个拍音的,采用连续两次调律法(粗调一次,紧接着精调一次)。大于六个拍音的说明钢琴走律比较严重超过24音分,很难一次调整的标准音高,一般需要分两次调整。
2. 用440HZ音叉取音,将37A调整到完全无拍音。
3.调整37A-42D,此时拍音为0.99,感觉上为每秒一个拍音为正确。
4.调整42D-35G,此时拍音为0.66,感觉上为每三秒两个为正确。注意:前两个拍音非常重要务必尽量调准!
5.调整35G-40C,此时拍音为0.89,感觉稍微比37A-42D拍音少一点点或相同,但注意千万不可超过37A-42D拍音。
6.调整40C-33F,此时拍音为0.59,感觉比42D-35G拍音少一点点或相同,但注意千万不可超过42D-35G。
7.检验33F-37A大三度音程,此时拍音为6.93,感觉上为每秒7个拍音为正确。至此第一阶段调律完成。
接下来按照四五度循环调律法一直调到44E为止。此时要求基准音组的范围之内,三度;四度;五度;六度全部拍音均为均匀上升。此十二平均律为合格!
原专业搞设计,半路出家搞技术,今又罔谈音乐理论,文中如有谬误之处还请专业老师多多指正!
本文我的指导老师,老婆大人,高级调律技师,北京有调律需求的老师可以联系她微信同号,或联系我也可。
https://www.zhihu.com/question/?sort=created
为什么两个半音一起弹奏不会产生拍频(beat)?
https://wenku.baidu.com/view/13b6a54caf1ffc4ffe47acb3.html
如何快速计算拍音
https://www.cnblogs.com/devymex/p/3385179.html
写给理工科人看的乐理(一)声学基础
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/154340.html