gpt4 book ai didi

javascript - 使用 Web Audio API 为已录制的声音添加效果

转载 作者:可可西里 更新时间:2023-11-01 13:11:19 25 4
gpt4 key购买 nike

我的任务是给录制的文件添加一些效果。

这是我正在使用的脚本 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 函数。将其用作缓冲区的转换器。

最佳答案

你想要的颗粒效果的代码是可以用的。您唯一需要做的就是将源节点的输出连接到粒度效果页面代码的第一个节点。该代码仍然有点困惑,但我会在下面尽可能详细地解释它。

在代码中搜索之后,音频结构看起来是这样的:

source -┬-> grainWindowNode -┬-> panner -┬-> dryGain -> compressor -┬-> destination
└-> bypass -┘ └-> wetGain -> convolver -┘

我编写的代码适合您,请参阅 jsfiddle

这有点难做,因为您需要自己设置所有值以满足您的需要。

所有代码都在 jsfiddle 中,您需要做两件事才能使其工作:

  1. 阅读顶部的评论(下载该文件并将其放在与托管它的服务器相同的服务器上,否则 CORS 确保您无法获取资源。(或者您必须指定服务器上的 header )
  2. 将此代码放在代码中的某处,以便函数 playbackRecorderAudio() 执行一些有用的操作。如果您将所有代码提供给我,我可以为您提供帮助,以确保其正常工作。

如果您想对代码进行任何解释,请随时询问(我不知道您目前对音频 api 的了解,并解释一切?)

关于javascript - 使用 Web Audio API 为已录制的声音添加效果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20926800/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com