想来注册此号已久,从来没有写过半点文章,又想来注册的初衷是为了写点cocos2d-x的文章,但是由于种种原因给耽搁了,知道现在本人开始研究unity3d,于是无聊之际觉得,还是写点文章也好,主要是为了自己,若能帮到某些人,吾甚荣幸。
今天要讲的是捕捉音谱。就是把某段音乐转换成可测量的数字,这种技术多见于音乐类游戏的背景当中,随着音乐背景中的物体或变大缩小,或改变颜色。或者更直观点说,就是你用的某播放器中随音乐上下颤动的那种方式。
好吧,废话有点多,直接写代码。我们使用到的核心就是AudioSource.GetSpectrumData(int,int,FFTWindow)。
其中的三个参数分别表示(a,b,c):
a:采样率,就是说采集多长一段的频谱,必须为2^n,但是最小64,最大8192。
b:采集时间,0为左端,1为右端。(这个需要声音物理方面的知识,如果没有特殊需求的话,请默认为0)。