【问题标题】:Is it possible to capture audio and store it in array?是否可以捕获音频并将其存储在数组中?
【发布时间】:2013-11-30 21:37:27
【问题描述】:

我想从麦克风或其他输入设备捕获声音并将该数据存储在数组中,然后使用 javascript 使用 FFT 对其进行分析,搜索了大量网站和主题,找不到任何有用的东西

【问题讨论】:

  • 使用纯 JavaScript?没门。也许与 Flash 的一些集成使之成为可能。
  • @Havenard 这就是我要避免的,有没有其他方法可以做到这一点而不使用 java applet / Flash?
  • 看看这里。 html5rocks.com/en/tutorials/getusermedia/intro 少数浏览器支持音频(/视频)捕获。我不知道你是否可以用js管理捕获的媒体,我不认为。无论如何,我给你的链接是开始调查的好点
  • 这是草稿等。但我认为您正在寻找 WebRTC webrtc.org

标签: javascript audio fft


【解决方案1】:

当然可以,API 还提供 FFT 分析器(但仅适用于实时音频流)。它被称为Web Audio API,目前是一个草案,但得到了 WebKit 的良好支持(您需要使用前缀),而 Gecko 的支持则少一些。也请看http://caniuse.com/#feat=audio-api

要获取麦克风音频,您需要使用Media Capture and Streams 草案中定义的getUserMedia 方法,一旦获得MediaStream,您可以创建一个MediaStreamAudioSourceNode,并将其附加到其他节点.要录制音频样本,我建议尝试ScriptProcessorNode,另一个有用的节点是分析器节点。

Here 是我几个月前做的一个小实验,我只在 Chrome 上尝试过,但应该适用于任何 WebKit 浏览器。它基本上采用麦克风音频流并将其传递给分析器节点,该分析器节点执行每一帧(屏幕帧)一个 FFT,它在画布上绘制并用于确定音符(您只需单击鼠标设置阈值画布上的任何位置)。然后在振荡器节点上再现猜测的音符。

【讨论】:

  • 哇...哇...非常感谢您,我会在测试后立即接受这个答案,我想我会在星期一之前完成
猜你喜欢
  • 2020-11-26
  • 1970-01-01
  • 2012-06-25
  • 2018-07-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多