我的任务是为录制的文件添加一些效果。
这是我正在使用 Recorder.JS的脚本
这是一个代码https://github.com/cwilso/AudioRecorder/blob/master/js/recorderjs/recorder.js
我想添加音高。
我尝试查看为音频添加一些效果的其他代码。但似乎 recorder.js 处理缓冲区的方式不同。
编辑
function playbackRecorderAudio() {
audioRecorder.getBuffer(function(buffers) {
var source = audioContext.createBufferSource();
source.buffer = audioContext.createBuffer(1, buffers[0].length, 44100);
source.buffer.getChannelData(0).set(buffers[0]);
source.buffer.getChannelData(0).set(buffers[1]);
source.connect(audioContext.destination);
source.noteOn(0);
});
}
这是我的代码现在的样子,使用这个功能,我请求已经录制的音频并播放它。
我可以模拟一些效果来接近这个:http ://www.youtube.com/watch?v=Lr80slqJ3zo 这是格鲁吉亚语,但我希望你明白。它更像是氦沥青。(注意,我不想改变音频速度)。
当我试图研究氦效应时,我发现了这个:http : //chemistry.about.com/b/2013/08/26/helium-voice-is-not-higher-in-pitch.htm 它说声音应该是比空气快 2.5。
我能得到接近这个的东西吗?
编辑
根据@cwilso 的建议,http ://chromium.googlecode.com/svn/trunk/samples/audio/granular.html 是我迄今为止看到的最接近的。但我无法修改它,无法使用我的playbackRecorderAudio()
. 这就是为什么我要用我所拥有的一切开始赏金
编辑
这是我的代码的 jsFiddle:http: //jsfiddle.net/Lsvnp/1/
首先让我描述一下我想要实现的目标:我想从用户麦克风录制声音,添加这个效果。当用户按下“停止录制”按钮(stopRecording
功能)时,它将预先添加 HTML 音频,这将允许用户收听他录制的内容。如果他喜欢它,他会上传到我的服务器(uploadAudio
函数)
加载页面时,记录未初始化。要初始化录制,用户必须按下某个按钮,该按钮将触发recordAudio
功能。
现在的问题是我不知道在哪里连接我的playbackRecorderAudio
功能。将其用作缓冲区的转换器。