是否可以从<audio/>-element通过createMediaElementSource加载音频文件,然后将音频数据加载到AudioBufferSourceNode?
使用audio-element作为源(MediaElementSource)似乎不是一个选项,因为我想使用像noteOn和的Buffer方法noteGrain.
不幸的是,不能通过XHR将音频文件直接加载到缓冲区 (请参阅通过客户端XHR打开Soundcloud Track的stream_url?)
尽管如此,从音频元素加载缓冲区内容似乎是可能的:
http://www.w3.org/2011/audio/wiki/Spec_Differences#Reading_Data_from_a_Media_Element
或者甚至可以直接使用<audio/>-element 的缓冲区作为sourceNode?
是否可以使用Web Audio API服务器端(例如在Node.js中)?我想处理"离线"我的音频文件以应用音频效果(/sf/answers/567096841/).
我正在开发一个Web应用程序,用户可以对音频样本进行排序,并可选择将效果应用于他们使用Web Audio API创建的音乐模式.模式存储为JSON数据,我想对每个模式服务器端的渲染音频进行一些分析.据我所知,这给我留下了两个选择:
在服务器端运行我自己的渲染代码,尝试尽可能忠实于浏览器内渲染.也许我甚至可以从Chromium项目中取出Web Audio代码并对其进行修改,但这似乎可能需要做很多工作.
渲染客户端,希望比实时更快,然后将渲染的音频发送到服务器.这是理想的(和DRY),因为只有一个引擎用于模式渲染.
这个问题引导我到Chromium存储库中的这个代码示例,这似乎表明离线处理是可能的.诀窍似乎是webkitAudioContext用一些参数构造一个(通常使用零参数构造函数).以下是我对参数含义的猜测:
new webkitAudioContext(2, // channels
10 * 44100, // length in samples
44100); // sample rate
Run Code Online (Sandbox Code Playgroud)
我稍微调整了样本,并在Windows,Mac和Linux上的Chrome 23.0.1271.91中进行了测试. 这是实例和结果(打开Dev Tools Javascript控制台以查看发生的情况):
webkitAudioContext我上面描述的构造函数导致Windows和Linux上的异常.
离线渲染对于我正在尝试做的事情来说是完美的,但我无法在任何地方找到文档,并且支持不太理想.有没有人有关于此的更多信息?我是否应该尽快在Windows和/或Linux中期待对此的支持,或者我应该期待支持在Mac上很快消失?
如何从HTML5 Javascript中的视频中提取音轨作为原始音频数据?即一系列样本?
我是HTML5 Video API的新手,所以一个例子会很棒.
Web Audio API看起来很酷,但我真的很想用它来处理音频文件,然后再将它们保存为wav文件,我真的不需要在处理时听它们.这可能吗?是否有类似的东西encodeAudioData()可以将音频缓冲区重新转换为ArrayBuffer可以将其放回文件中?
编辑: recorderJS似乎几乎完美,但它只输出16位的wavs.有没有什么可以做专业音频格式(24位或32位浮点数)?
有谁知道Web Audio API是否能够保存使用WebAudioContext播放的音频?