和声熵:修订间差异

来自律学维基
跳到导航跳到搜索
Null留言 | 贡献
无编辑摘要
Null留言 | 贡献
 
(未显示2个用户的39个中间版本)
第1行: 第1行:
'''和声熵'''是衡量[[和弦]]和谐程度的方式。和声熵的基本假设是:一个和弦越容易被识别为某个模板和弦,它就越和谐;一个和弦越不容易被识别为某个模板和弦,它就越不和谐。
'''和声熵'''是衡量[[和弦]]和谐程度的方式。和声熵的基本假设是:一个和弦越容易被识别为某个模板和弦,它就越和谐;一个和弦越不容易被识别为任一模板和弦,它就越不和谐。


== 模型 ==
== 模型 ==
假设我们研究的和弦都由k个音组成。令<math>X=\{ X_n\}</math>为模板和弦的集合,其元素为k音和弦Xₙ=(Xₙ₁:Xₙ₂:...:Xₙₖ). 为了使用贝叶斯公式,假设和弦P(x_n)
假设我们研究的和弦都由k个音组成。令<math>X=\{ X_n\}</math>为模板和弦的集合,其元素为<math>k</math>音和弦<math> X_n=X_{n1}:...:X_{nk}</math>. 为了使用贝叶斯公式,假设和弦<math> X_n</math>出现的先验概率是<math>P(X_n)</math>.


按照先验概率随机选择一个和弦<math> X_n</math>, 接收者会接受到信号<math>Y</math>, 它是<math> X_n</math>的近似。为了从<math>Y</math>复原<math>X_n</math>,使用贝叶斯公式:<math>P(X_n|Y) = (P(Y|X_n)P(X_n))/ \sum P(Y|x)P(x) </math>


假设接收者会把和弦<math>x=x_{1}:x_{2}:...:x_{k} </math> 识别成 <math> y=y_{1}:y_{2}:...:y_{k} </math>,其中<math>y</math><math>x</math>的随机扰动。
使得<math>f(x)=P(x|Y)</math>最大的模板和弦<math>X_n</math>是信号<math>Y</math>最有可能对应的模板和弦。接收者对和弦<math>Y</math>是<math>X_n</math>的置信程度是<math>\max_x f(x)</math>. 置信程度<math>\max_x f(x)</math>越大,接受者就越容易把<math>Y</math>识别为某个模板和弦,<math>Y</math>就越和谐。


问:接收者怎样知道y对应的和弦x是哪个<math>x_n</math>?
考虑到<math>\max_x f(x)</math>等价于α=+∞的[https://mathworld.wolfram.com/RenyiEntropy.html Rényi熵],我们也可以考虑α为有限值的Rényi熵,如α=1对应的[https://mathworld.wolfram.com/Entropy.html Shannon熵]。熵值越低,接受者就越容易把<math>Y</math>识别为某个模板和弦,<math>Y</math>就越和谐。


答:根据贝叶斯公式,<math>P(x_n|y)=(P(y|x_n)P(x_n)) / \sum_{m=1}^{\infty} P(y|x_m)P(x_m)</math>. 计算出各个<math>P(x_n|y)</math>后,接收者会选择概率最大的<math>x_n</math>作为答案。
== 细节 ==
 
* 模板和弦的集合<math>X=\{ X_n\}</math>可以取[[整数限]]和[[质数限]]有限的和弦,或者质数限有限的和弦,或者一切k音纯律和弦。如果选择第一个选项,<math>P(X_n)</math>可以任意选择;如果选择第二个选项,<math>P(X_n)</math>可以选择为<math>1/s(X_n)^\beta</math>, 其中<math>s(X_n)</math>表示<math>X_n</math>的整数限,<math>\beta</math>为大于0的常数;如果选择第三个选项,<math>P(X_n)</math>可以选择为<math>1/(X_{n1}X_{n2}...X_{nk})^\beta</math>,<math>\beta</math>大于1的常数,这里要求<math>X_{n1}, X_{n2}, ...,X_{nk}</math>是正整数且没有大于1的公因子。
* 以上三种选择和弦的方式会给[[泛音列]]的靠近基音的子集较低的和声熵,泛音列的远离基音的子集较高的和声熵。
* 鉴于人耳的对音程的识别误差可以用[[音分]]而不是赫兹数表示,假设<math>X_n</math>的音分为<math>x_1</math>¢,...,<math>x_k</math>¢, <math>Y</math>的音分为<math>y_1</math>¢,...,<math>y_k</math>¢, 则<math>y_1=x_1+\epsilon_1</math>, ..., <math>y_k=x_k+\epsilon_k</math>,其中<math>\epsilon_1, ..., \epsilon_n</math>为独立同分布的正态随机变量,其均值为0,其标准差是自由参数σ。
* 计算<math>P(Y|X_n)</math>的方式如下:将<math>X_n</math>写成音分<math>x_1</math>¢, ..., <math>x_k</math>¢, <math>Y</math>写成音分<math>y_1</math>¢, ..., <math>y_k</math>¢, 顺序为从小到大,且使得<math>x_1+...+x_k=y_1+...+y_k</math> (这相当于给和弦的频率比的每一项乘以一个常数),则<math>P(Y|X_n)</math>正比于<math>\exp(-((x_1-y_1)^2+...+(x_k-y_k)^2)/{2\sigma^2})</math>.
 
== 性质 ==
* 和声熵只取决于和弦的频率比,不取决于音区(和弦的频率)和音色。
* 计算和声熵需要预先知道k的值,当k很大时(≥4),计算和声熵将变得困难。
* 和声熵并不会因为和弦的两个音趋于相同而减少,这是因为让两音相同会远离模板和弦。
* 使用和声熵时可以拒绝承认某个素数具有和声意义,只要在模板和弦里删除包含这一素数因子的和弦即可。
 
== 数据 ==
以下是三音和弦1:x:y的和声熵,其中x, y分别为横纵坐标,模板和弦为所有的3音纯律和弦,先验概率为<math>P(X_n)=1/(X_{n1}X_{n2}X_{n3})^2</math>;观测误差<math>\epsilon_1, ..., \epsilon_n</math>为正态分布随机变量,均值为0,标准差为9[[间差]](21.51¢);置信程度取<math>\max_x f(x)</math>. 和声熵数据的误差不超过0.005.
 
 
[[文件:3321.png|3音和弦的和声熵]]
 
当模板和弦的个数有限且扰动的标准差σ趋于0时,平面上表示纯律和弦的点的 [https://mathworld.wolfram.com/VoronoiDiagram.html Voronoi 图] 的每个胞腔区域内对这个胞腔内的最邻近点的置信程度趋于1,而胞腔边缘和顶点则不是。这张图虽然考虑了无穷多模板和弦,但是效果上类似于模板和弦的个数有限。
 
以下是三音和弦1:x:3/2的和声熵,其中x为横坐标,模板和弦为3音纯律和弦,质数限为5或7;先验概率为<math>P(X_n)=1/(X_{n1}X_{n2}X_{n3})^2</math>;观测误差<math>\epsilon_1, ..., \epsilon_n</math>为正态分布随机变量,均值为0,标准差为9间差;置信程度取<math>\max_x f(x)</math>. 和声熵数据的误差不超过0.005.
 
[[文件:13532.png|3音和弦的和声熵]]
 
红色曲线在1.5处值较小,其对应和弦为16:24:25. 这说明限制质数限会清除本来不和谐的和弦周围的和弦,从而降低其和声熵,因此限制质数限的做法应该视为简化计算的方式,而非对于某种“p限和谐度”的逼近。

2026年3月17日 (二) 11:52的最新版本

和声熵是衡量和弦和谐程度的方式。和声熵的基本假设是:一个和弦越容易被识别为某个模板和弦,它就越和谐;一个和弦越不容易被识别为任一模板和弦,它就越不和谐。

假设我们研究的和弦都由k个音组成。令X={Xn}为模板和弦的集合,其元素为k音和弦Xn=Xn1:...:Xnk. 为了使用贝叶斯公式,假设和弦Xn出现的先验概率是P(Xn).

按照先验概率随机选择一个和弦Xn, 接收者会接受到信号Y, 它是Xn的近似。为了从Y复原Xn,使用贝叶斯公式:P(Xn|Y)=(P(Y|Xn)P(Xn))/P(Y|x)P(x)

使得f(x)=P(x|Y)最大的模板和弦Xn是信号Y最有可能对应的模板和弦。接收者对和弦YXn的置信程度是maxxf(x). 置信程度maxxf(x)越大,接受者就越容易把Y识别为某个模板和弦,Y就越和谐。

考虑到maxxf(x)等价于α=+∞的Rényi熵,我们也可以考虑α为有限值的Rényi熵,如α=1对应的Shannon熵。熵值越低,接受者就越容易把Y识别为某个模板和弦,Y就越和谐。

  • 模板和弦的集合X={Xn}可以取整数限质数限有限的和弦,或者质数限有限的和弦,或者一切k音纯律和弦。如果选择第一个选项,P(Xn)可以任意选择;如果选择第二个选项,P(Xn)可以选择为1/s(Xn)β, 其中s(Xn)表示Xn的整数限,β为大于0的常数;如果选择第三个选项,P(Xn)可以选择为1/(Xn1Xn2...Xnk)β,β大于1的常数,这里要求Xn1,Xn2,...,Xnk是正整数且没有大于1的公因子。
  • 以上三种选择和弦的方式会给泛音列的靠近基音的子集较低的和声熵,泛音列的远离基音的子集较高的和声熵。
  • 鉴于人耳的对音程的识别误差可以用音分而不是赫兹数表示,假设Xn的音分为x1¢,...,xk¢, Y的音分为y1¢,...,yk¢, 则y1=x1+ϵ1, ..., yk=xk+ϵk,其中ϵ1,...,ϵn为独立同分布的正态随机变量,其均值为0,其标准差是自由参数σ。
  • 计算P(Y|Xn)的方式如下:将Xn写成音分x1¢, ..., xk¢, Y写成音分y1¢, ..., yk¢, 顺序为从小到大,且使得x1+...+xk=y1+...+yk (这相当于给和弦的频率比的每一项乘以一个常数),则P(Y|Xn)正比于exp(((x1y1)2+...+(xkyk)2)/2σ2).
  • 和声熵只取决于和弦的频率比,不取决于音区(和弦的频率)和音色。
  • 计算和声熵需要预先知道k的值,当k很大时(≥4),计算和声熵将变得困难。
  • 和声熵并不会因为和弦的两个音趋于相同而减少,这是因为让两音相同会远离模板和弦。
  • 使用和声熵时可以拒绝承认某个素数具有和声意义,只要在模板和弦里删除包含这一素数因子的和弦即可。

以下是三音和弦1:x:y的和声熵,其中x, y分别为横纵坐标,模板和弦为所有的3音纯律和弦,先验概率为P(Xn)=1/(Xn1Xn2Xn3)2;观测误差ϵ1,...,ϵn为正态分布随机变量,均值为0,标准差为9间差(21.51¢);置信程度取maxxf(x). 和声熵数据的误差不超过0.005.


3音和弦的和声熵

当模板和弦的个数有限且扰动的标准差σ趋于0时,平面上表示纯律和弦的点的 Voronoi 图 的每个胞腔区域内对这个胞腔内的最邻近点的置信程度趋于1,而胞腔边缘和顶点则不是。这张图虽然考虑了无穷多模板和弦,但是效果上类似于模板和弦的个数有限。

以下是三音和弦1:x:3/2的和声熵,其中x为横坐标,模板和弦为3音纯律和弦,质数限为5或7;先验概率为P(Xn)=1/(Xn1Xn2Xn3)2;观测误差ϵ1,...,ϵn为正态分布随机变量,均值为0,标准差为9间差;置信程度取maxxf(x). 和声熵数据的误差不超过0.005.

3音和弦的和声熵

红色曲线在1.5处值较小,其对应和弦为16:24:25. 这说明限制质数限会清除本来不和谐的和弦周围的和弦,从而降低其和声熵,因此限制质数限的做法应该视为简化计算的方式,而非对于某种“p限和谐度”的逼近。