HTML5音频,获得钢琴声

时间:2013-09-11 23:21:29

标签: javascript html5 audio

我正在创建我的html5应用程序进行测试,我使用音频api,在键盘上生成声音我正在做这样的事情

 keyboard.keyDown(function (note, frequency) {
                    var oscillator = context.createOscillator(),
                        gainNode = context.createGainNode();

                    oscillator.type = 2;
                    oscillator.frequency.value = frequency;
                    gainNode.gain.value = 0.3;
                    oscillator.connect(gainNode);
                    if (typeof oscillator.noteOn !== 'undefined') {
                        oscillator.noteOn(0);
                    }
                    gainNode.connect(context.destination); 
                    nodes.push(oscillator);
                });

现在我的问题是,因为我试图在谷歌上找到例子但是没有成功,除了振荡器以及如何传递它们之外,还有什么其他的parammetars可用于获取钢琴或某些电子乐器之类的声音?

1 个答案:

答案 0 :(得分:1)

我假设你对合成很新。在代码中尝试合成算法之前,我建议使用一些可用的软件合成器 - VST或其他。这将为您提供有关要引入算法的参数类型的处理。 http://www.soundonsound.com/sos/allsynthsecrets.htm是一系列非常好的综合教程的索引。 (从底部开始 - 第1部分!)

一旦你准备开始尝试代码,一个好的开始就是引入一个envelope来改变声音的音量或音高(随着时间的推移改变一个参数就像这个'调制')。该视频可能会引起您的兴趣:http://www.youtube.com/watch?v=A6pp6OMU5r8

请记住,几乎所有原声乐器都难以令人信服地合成算法,到目前为止,接近钢琴的最简单方法是使用真实钢琴音符的样本。