这事不太容易,很难找到直接成型的各种音效算法,因为合成音效都是基础波形进行组合/削减得到的,先生成基础波形,然后理解音效的波形合成原理,自己梳理各种规则这样才能让成品足够灵活,可调制。 我找到一篇介绍几个常见音效的算法解释:http://sound.eti.pg.gda.pl/student/eim/synteza/adamx/eindex.html 还有一篇实践性较强的代码演示,C 的:http://denniscronin.net/dsp/fx.c & http://denniscronin.net/dsp/1848.h 以及源码:http://denniscronin.net/dsp/vst.html 另外不知道成品对你有多大意义:https://pedals.io/ 还有这个库,源代码值得研究下:https://github.com/Dinahmoe/tuna 还有 JS 的资料:http://noisehack.com/custom-audio-effects-javascript-web-audio-api/ Google 搜搜吧,不少。这些链接里顺藤摸瓜还能找到更多,好运~
如果只是要模拟各个场景的播放效果,其实非常非常简单,可以通过使用在不同情况下录制的冲激响应(IR, Impulse Response)对声音波形进行卷积运算来实现。 你可以搜索一下卷积混响(Convolution reverb),很多混响效果器跟音箱模拟都是用IR实现的,至于冲激响应上网随便一搜一大把,在各地方录的都有,想听听你在维也纳音乐厅的舞台上唱歌听起来是什么感觉吗?下个IR感受一下吧! 另外,关于卷积运算,这事儿应该在Web Audio API上直接有现成的接口,因为这是音效处理的常用基本运算,请看这里
这事不太容易,很难找到直接成型的各种音效算法,因为合成音效都是基础波形进行组合/削减得到的,先生成基础波形,然后理解音效的波形合成原理,自己梳理各种规则这样才能让成品足够灵活,可调制。
我找到一篇介绍几个常见音效的算法解释:http://sound.eti.pg.gda.pl/student/eim/synteza/adamx/eindex.html
还有一篇实践性较强的代码演示,C 的:http://denniscronin.net/dsp/fx.c & http://denniscronin.net/dsp/1848.h 以及源码:http://denniscronin.net/dsp/vst.html
另外不知道成品对你有多大意义:https://pedals.io/
还有这个库,源代码值得研究下:https://github.com/Dinahmoe/tuna
还有 JS 的资料:http://noisehack.com/custom-audio-effects-javascript-web-audio-api/
Google 搜搜吧,不少。这些链接里顺藤摸瓜还能找到更多,好运~