泛音的种类和多少决定了音色
为什么有的人声音听起来暗,有的人听起来亮?事实上即使是唱同一个音高,大家的音色也天差地别,差别就在泛音上了。
一般来说
1. 泛音越充分的声音越饱满。
2. 低频泛音越充分的声音听起来越“厚实”,越“有力”。
3. 高频泛音越充分的声音穿透力越强,声音听起来越“亮”,越“尖”。
4. 高低频都有并且合理分布的声音,就是比较完美的声音。
声乐理论里,一般把低频泛音叫低位置共鸣,高频泛音叫高位置共鸣。
频谱图/声谱图
频谱图/声谱图是观察泛音的最好办法。
相信看了第一章的频谱图演示,应该已经很清楚频谱图的含义了
频谱图就是描述在某一时间点上,各个频率的声音分布情况。这张图自己就解释的很清楚了吧~
然而,频谱图只能描述某一时间点,不能表达一段时间的情况,所以把频谱连续的画到一张图里,就有了声谱图(这个翻译有点蛋疼)。
此图由两部分组成,上半部分为声谱图(Spectrogram),下半部分为频谱图(Spectrum)。
先看上图:
横坐标是时间,纵坐标是频率值,同一时间的纵线上存在着数个波,重合而成最终的波。颜色越亮则表示波的振幅越大。混乱的背景都是伴奏,我们只观察人声线。
再看下图:
下图反映了上图的某个时间点(上图中的黄线)的频率分布。横坐标为频率,纵坐标为振幅。这个图更有利于直观的观察泛音的成分和强弱。
频谱/声谱图是如何制作的
此段很学术,没兴趣的可以略过。
我们都知道原始的声音是波形图,不过原始的波形图并没有太大研究价值,而且事实上也看不出“波形”。因为震动频率太高,比如帕瓦罗蒂的high c吧,500多的震动频率,表示一秒钟要震动500多次,那肯定是看上去一大坨,类似这样:
放大几十倍之后,大约能看出波形,类似这样
无论哪种都不适合研究。
所以音频解析的过程是:取连续采样点,一般是4096个点,考虑到音频文件的采样率一般是44.1k,所以就是取了1/10秒之内的数据。然后对这4096个点作做快速傅里叶变换,就得到了频谱图。频谱图的信息是4096个点,每一个点对应的是这个频率上的振幅。
频谱图反应的是在这个时间点上的频率分布情况。
严格的说应该是这1/10秒内的平均情况。
来一张典型频谱图,看看跟我的图下部是不是一回事:
将当前时间点的频谱画到声谱图里就得到了瀑布图(第二章视频中的图)。画法是:振幅越大的点,用越亮的颜色。
纵坐标是频率,从下到上大约是0到6000。
所以一个人唱了个C5,那他的基频就大概是500,第一泛音是1000,第二泛音是1500,画到声谱图上的结果就是从下到上每隔500画一个点,根据振幅有颜色的区别。
随着时间的推移,声谱图会不断向右延伸,这样我们就得到了一段时间内频率分布图。比如一个C5的线在声谱图上水平延续了5秒,那表示该歌手唱了C5五秒。
声谱图上类似“波”的东西是颤音,也就是歌手演唱中不断改变音高,所以自然会不断改变纵坐标。
来一张wiki的声谱图:
最后,频谱图/声谱图的wiki链接
声谱图上出现的水平线有什么意义?
水平线表示一个歌手在某个音高上持续了一段时间。越亮的线表示振幅越大,听感上当然就音量大了。
直线就是一个长直音。考察长直音主要看稳定度,整个线越直则这个长音越稳,如果大抖就是破音,如果小抖就是不稳。如果歪了,那就是音准没把握好。
波浪线就是颤音。波浪越大则颤音越大。看颤音也是看稳定度,如果颤的不稳就是气息出现问题,控制不好。
如何看共鸣?
看泛音主要看三点:丰富与否;分布情况;泛音的音量。
一般来说,所谓的泛音强弱都是和自己的基频来比的(或者是跟伴奏比)。因为音频文件的音量是可以调的,单纯看泛音大小没多大意义,以基频为参照才比较有实际意义。(低频的共鸣情况取决于元音的类型,每一个元音都有其特定的共鸣特性。一般来说,基频被共鸣强化的情况比较少。)
可以看到,此例中第一泛音巨大(看多了就知道,一般都是第一泛音最大),在3000左右的三个泛音也很强。
另一种观察方法就是和伴奏比,人声线越明显则人声越强,越能穿透伴奏。
如上图,左边张雨生的人声线显然更明显。右边那英的线就不明显多了,混在伴奏里。
再来看另一个例子
后知后觉对比版
http://v.youku.com/v_show/id_XNjI1NTAxMzQ4.html
张雨生后知后觉清唱“你不辞冰雪”,竟然有如此大的高频泛音!
要知道,这可是清唱,中音区!唱高音的时候鼓足了气,有很大的共鸣很正常,但唱低缓的主歌,竟然也能爆出这么大的泛音!只能说宝哥太逆天!
下面,请出阿妹躺枪:
(图中竖线为背景音,就是那个类似指响的声音)
泛音少太多了。。。。
听感上也是很显然的,阿妹的音色暗的多,而宝哥的非常的清亮。
当然,必须要说明:宝哥占了cd版的优势。不过我们关注的是最终听感,声音经过怎么处理并不是我们关注的重点。这个例子很好的对比了泛音对音色的影响。
如何看音准?
我的软件特别加了标准音高线,以及标准的泛音线,所以可以很清楚的看清音准:
蓝色标准线比较暗,大家仔细看。。(太亮的话会干扰声音线)
下面有请躺枪天后阿妹展示一下音准不好是什么样的:
很明显,比E5高,越到高频差得越远。(高频会放大差值)
提高1key看看,又低了。这次差得更远。
所以可以判定,阿妹唱到了E5 . 5。
再看几个例子
帕瓦罗蒂大师,堪称全频段制霸了。大家都知道帕瓦罗蒂的C5是无敌的。
磊叔传说中的五百年。也差不多全频段制霸了。
多说两句:
上面的例子看的很明显吧,人声基本都本着标准的
基频/第一泛音(基频的二倍)/第二泛音(基频的三倍)/….
来的。自然界物体振动发声,绝大多数都是这样的。
如何自己看图?
对不起,我的软件不能外传,因为一旦落入别有用心的人手里,后果堪忧,比如这个http://tieba.baidu.com/p/2795531384
想自己看图最方便的是foobar:
通过点击 View(视图) > Visualizations(可视化) > Spectrogram(声谱)
可以调出声谱view,再播放音乐的时候,声谱就会即时出现了。
类似的,Spectrum就是频谱图。
或者Spectrogram这个软件也不错。
对我有质疑的话,可以用如上的办法自己看图,看看跟我的图是不是一样。
请问我看我自己的声谱图 在基音上面还有7-9个泛音 hz都是基音的整数倍左右 为何那么多 是因为录音的时候开了混响 以及做后期的时候调了均衡器等原因么 是不是效果全关的时候再录就没那么多泛音了?
正常说话就是这么多啊。泛音数量取决于音高。音高越低,则泛音潜在数量越多。使点劲唱歌/说话那就泛音数量很多了。
阿妹的E5.5说法不太好,推导方法也不太好。
我会这样估计:
因为 F6 大约在 (4188,4886) 的3/4处,所以:
F0 = (4188+(4886-4188)*3/4)/7 = 673
P = 69+12*log2(F0/440) = 76.35
而 P(E5) = 76,故阿妹应该是比E5高了大约1/3个半音。
不错的文章,赞!
E5 .3?也行啊
请教一下,生成spectrogram的时候用了高通滤波?我自己拿matlab生成的图,高频泛音都比较弱显示不清楚
没用滤波,你说的高频是多高,你先用称频谱看看能不能看到
er, 之前忘了取对数了,现在好点,就是噪点多
http://pan.baidu.com/s/1sjM82JF
你这做的很好啊~
作为一个码农,要是没有你那些泛音阿,共鸣啊,人声范围阿,我也不知道生成的是啥。
额
问一下站长啊,能不能说一下你自己编的程是用什么语言的?调用了什么库吗?最近研究把音乐转成五线谱,感觉这篇文章很有用,但是编程怎么处理音频感觉无从下手……虽然你的软件不外传,但是讲讲这些可以吧,求教啊!
现在最新的是在线频谱图,https://bideyuanli.com/pp,就是js,你可以参考下
好的,我看到了,但是我只看得懂CSharp和Cpp啊,JS,H5看得有点头大,好像是H5的Audio API?院长之前本地版频谱编程用的是什么语言?能不能推荐一个处理音频的库什么的?之前从来没有编程处理音频的经验诶……求指点
各个语言都有自己的处理库,你用什么语言得自己琢磨用什么库。我之前用的java
好的,谢谢!Java的音频库名字能不能说一下?Java和C#语法很像,我也能凑合着编一个程序。如果有C#的处理库能推荐一下就更好了!
java自带的就有吧,我记得是这样
哇,院长秒回了!我却没立刻看到…好的,知道了,我自己再研究研究吧,谢谢!
您好比的原理,我最近使用您的这个在线测试,奇怪的是为什么我对着电脑唱歌识别结果几乎全是假声,然而放我的录音就基本上全是真声/头声呢???
因为我是学唱歌的萌新,所以很晕,也不知道自己唱的到底是啥
测得不准,见谅
你好,怎么练习使高音带丰富的泛音呢?
我不是老师