和弦科学

时间:2014-10-13 01:40:15

标签: sine-wave

我一直在研究如何理解声音和正弦波的工作方式,尤其是和弦。到目前为止,我的理解如下:

  1. b(t) = sin(Api(t))是频率为A的和弦基调。
  2. T(t) = sin(5/4piA(t))是基数b(t)的主要三分之一。
  3. D(t) = sin(3/2piA(t))是基础b(t)的主导(第五)。
  4. A(t) = sin(2Api(t))是八度音阶。
  5. 每个人都是一个单独的频率,电脑发电机很容易发声。但是,频率为A的音符的主要和弦如下:

    Major Chord = b+T+D+A
    

    我想知道是否有人有办法让计算机合成器发挥这个功能,所以我可以听到结果;我发现的大多数程序只将Hz作为输入,有时这个函数有一个波长,它与波长相同的简单正弦波不同。

    注意:也会在物理和计算机部分发布 - 只是想知道你们是否对音乐家有所了解。

3 个答案:

答案 0 :(得分:3)

我有点不清楚你要做什么,所以我正在解释一些事情,并根据你的目的给你一些进一步调查的选择。

事实上在计算机上合成音乐的方法使用MIDI(乐器数字接口)。因为音乐家很少直接根据频率或波长来思考(他们按比例计算步数或半步),MIDI用整数表示每个音高,表示多个半步。默认情况下,MIDI假定使用称为“12-Tone Equal Temperament”(12TET)的标准调整这些音高,不幸的是,使用其他调音并不是特别容易。

这是什么意思?为什么这是一个问题? (我不确定你已经知道了多少这个,所以如果我重复你所知道的话我会道歉)

理论中你所说的基于频率比调整是100%绝对正确 - 这是一个叫做Just Tuning的系统。主要的三分之一是5/4比率,完美的五分之一是3/2比率。然而,具有固定间距的仪器(键盘,磨损仪器等......)是rarely tuned that way in practice。相反,他们通过将每个音符以半音音阶四舍五入到最接近的十度音程来妥协。由于加法八度音程相当于将初始频率乘以2,因此加上十六进制的倍频程相当于将初始频率乘以2 ^(1/12)。这就是通常调整钢琴上所有半步的方法。

因此,您实际上不会使用纯粹的比率:

  • 罪(A pi t)
  • 罪(2 ^(4/12)A pi t)
  • 罪(2 ^(7/12)A pi t)
  • 罪(2 ^(12/12)A pi t)

注意:比较2 ^(4/12)~1.26,其中5/4 = 1.25。同时比较2 ^(7/12)~1.498,其中3/2 = 1.5。

这些正是任何MIDI合成器将播放的频率,给定编号 n n +4, n +7的MIDI音符,和 n +12。所以,如果你只想演奏和弦,并且不关心纯音频率(只是),你可以只使用MIDI。

然而,如果你正在寻找能够发挥实际正比率的东西,那将会有点棘手。你可以先看一下这里的一些事情:https://music.stackexchange.com/questions/351/software-that-allows-playing-in-different-temperaments

如果您只想查看它们的声音,可以查看此YouTube视频: https://www.youtube.com/watch?v=6NlI4No3s0M

如果您可以编写软件,您可以尝试编写自己的软件,但如果这样做没有用,我不想进入如何操作。

我不确定你所描述的那种程序“只需要输入Hz”。这是一个软件库(如API调用吗?)或其他不同的东西? (显然)API调用可以向声卡发送比单频波更复杂的数据。


编辑:我没有使用它,但看起来这个软件可能能够做你想做的事:https://www.youtube.com/watch?v=z0NZQMiDdNU

答案 1 :(得分:1)

我认为你是从错误的方向解决问题的。您正在使用sinoid信号作为"和弦的基础"和纯粹的间隔。

该输出是严格定期的,其周期是各个时期的最小公倍数。所以基本上你没有那么多的"和弦"而是一个"音调"。

器官使用这种技术:你可以结合8"管道用5⅓"管道,以达到一个声音,听起来像是来自一些有趣的16"管。这不是"和弦",这是注册。经典构图理论不会允许 quint并行来避免这种影响:quint必须只是短暂地发生,而且往往不是朝着不同方向移动或与基本音符不同步。

"和弦"在音色和声音之间播放听觉模糊:他们激发你内耳的同一区域。然而,真正的"和弦"和合唱效果也有来自非理想频率比的殴打和干扰,它们产生的音调具有自己的谐波,使得有可能将它们视为独立的实体。

经验丰富的音乐听众将所有这些视为独立现象。但是,如果你从纯粹的海绵体或高频率锁定的相对纯净的光源(如无陷阱器官管)开始,这就很难做到。

因此,我不确定你是否通过观察sinoids来帮助自己。这就像试图理解基于原色成分的绘画一样。它是一种复制工具包,而不是与更高层次感知相关的任何东西。

答案 2 :(得分:0)

一种非常低障碍的玩法是使用wavepot

在您的问题中执行所要求的代码是

var A = 440
export function dsp(t) {
  var b = Math.sin(t * Math.PI * 2 *       A);
  var T = Math.sin(t * Math.PI * 2 * 5/4 * A);
  var D = Math.sin(t * Math.PI * 2 * 3/2 * A);
  var O = Math.sin(t * Math.PI * 2 * 2   * A);
  return (b + T + D+ O) * 1/4
}

位于this link

请注意,由于正弦波没有谐波,这可能听起来不像是和弦。这是相同的例子,但是使用了具有许多谐波的锯齿波形。

var A = 440
//function f(x){return Math.sin(x)   }
function f(x){return 2 * ( (x/(2*Math.PI) % 1) -.5)   } //sawtooth

export function dsp(t) {
  var b = f(t * Math.PI * 2 *       A);
  var T = f(t * Math.PI * 2 * 5/4 * A);
  var D = f(t * Math.PI * 2 * 3/2 * A);
  var O = f(t * Math.PI * 2 * 2   * A);
  return (b + T + D+ O) * 1/4
}