|
本帖最后由 zasflower1984 于 2017-10-14 12:52 编辑
你们也知道我开发了一款音乐播放器叫做k music player,我是从程序角度来思考音频和控制整个音频系统得出自己想要的声音的。程序这里有精确,稳定和可控3个优势,当然劣势和困难也一堆。刚好我的播放器里面有这个内容。以前我一直不愿意提及这个播放器的核心技术原理。现在我就聊聊这个播放器最核心的技术之一: 音频的糊和颗粒感 刚好这个和耳机有点类似。
简单的说这事和声音在空气中的传播有关,可能到耳机物理上面和耳机的振膜有关。耳机的结构我不清楚,我说说音频的理论和我的实践。想深入了解的可以去看这些文章:
查看更多相关论文>>
https://www.baidu.com/link?url=wSLaq87Z85jJEndqr0L5zy2meHnIU1S1qkyiDJQLW6qmiyhRtzZPJMhqIEUgWLNWinhv5-pzM83X1ptEbti9FiJZrqupuJqtyiT_nRUZJTkURvtR72Hmrh4izGCizDWmeKHu8f1ZgVezCsWzeLA8DwEjU3fjui_MwAkY1DF1mu2lFAD1AuPUfXAAQc320txn&wd=&eqid=a763570a0000ae110000000659e171fd
我放两段这个播放器在糊和颗粒感两个设置下实际运行的录音,压缩过,不过可以作为大致的参考。https://pan.baidu.com/s/1c15j5T2
这个播放器的旗舰版在ios大概有20多万行的代码,然后在这块有6万多行的代码。界面有4个滑块。其实内部是很复杂的。主要复杂的是,1.计算。2.保证质量下的功耗和性能控制。提这个主要是让你们了解到那两段录音。
具体算法我就不说了,很复杂,6万多行代码是互相合作的。我聊聊大致的原理。
声音在真空中是无法传播的。大部分的声音是在空气中传播的。它在空气中传播就需要能量去扰动空气分子。可能是空气分子的原因,声音在空气中传播有一些规律。大致的说,高频会衰减的比低频快,具体和声波频率,气压,空气湿度,空气成分有关。一个轰隆隆的低频可传播得很远,一个很尖的高频则会在一段距离被衰减到人耳不可闻。所以我们能听到远处的雷鸣而无法听到远处一个人的尖叫。以具体的衰减规律可以参考上面连接论文里面的描述和实际测量出的数据。
其实对于糊这个字我个人认为是不太准确的。我更愿意把它叫做: 自然界声波衰减。糊更像是一团浆糊。虽然这两者看起来也有点像。
那么这事如何影响到耳机回放?我们知道其实前端播放器对耳机有着绝对的控制力的。假如我们对一段录音通过计算得出声音在自然界空气中传播20米距离之外的新录音,那么耳机回放的其实就是20米之外的新录音了。大致就是这样。前端播放器可以使用一些非常特别的手段和计算方法去控制耳机的振膜回弹速度和频响曲线这些。当然,所谓人声干湿音乐厅房间其实也是可以计算的。干湿其实就是房间混响。当然,人声的温润和颗粒感还和谐波失真有关。奇次多会更颗粒,偶次多会更温润。
大概就是这样子。
附件:
录音的曲目: 童丽 - 多情总被无情伤 CD
Track19.m4a 录音的设置
Track20.m4a 录音的设置
|
|