所谓的和弦其实就是多个频率分量信号的合成,在数字信号中,因为所有的都是已经数字化了,音频信号都是采样频率描述的数字分量,所以在不到最高幅度时(这时会限幅),所有的合并都是直接同步信号点数据的相加,就是新的信号啦。然后DAC输出就好。
比如一个和弦分部信号是[100456789......]另外一个是[30152781......],则合并后就是
[1306090170......]
注意是每个点位同步加,这要求所有的数据采用率是相同的,如果二者不同,一般可以用插值法实现重采样后再计算。
这个问题我以前还真试过,我在arduino下使用tone函数,因为每个板子只能支持一个gpio口使用,所以我试过将两块arduino的gpio并在一起,然后驱动一个蜂鸣器,的确可以产生和弦的效果。
但显然在实际使用的时候,不可能由多个gpio来做这个事情,我认为,和弦应该是直接通过接口产生的,多个正弦波叠加,可以通过计算做到这一点。