Tag: networkingaudio

如何改变使用networkingaudio没有噪音的音调的JavaScript?

如何在JavaScript中使用networkingaudio来改变音量而无噪音? 我试了下面的代码。 我听到了嘈杂的声音,有点混响。 我想要一个像无声的语音模块。 var pitchShifter = (function () { var context, audioContext, pitchShifterProcessor, spectrumAudioAnalyser, sonogramAudioAnalyser; var validGranSizes = [256, 512, 1024, 2048, 4096, 8192], grainSize = validGranSizes[1], pitchRatio = 2.0, overlapRatio = 0.50; var filter, compressor; hannWindow = function (length) { var window = new Float32Array(length); for (var i = 0; i < length; […]

我如何将audio数据从波浪冲浪区域复制到新的audio缓冲区?

Wavesurfer.js是伟大的,但有点混乱。 我已经实现了波浪冲浪,但是我想要构build一种切割用户select的audio区域并将其粘贴到新的audio缓冲区的方法 。 目前,我是在区域js文件的控制台日志logging来尝试获取开始和结束时间,但变得非常困惑。 这是我点击并拖动来创build区域的波形。 我想能够运行一个函数,将这部分复制到一个新的audio缓冲区。 我已经在JS区域login了这里。 将其输出到控制台。 然而。 当我打印region.start或region.end到控制台,它不断0和0.0800 ….你可以在预览中看到日志,但是一旦你展开看到更多的实际区域开始和结束存在。 我不知道这是为什么。 这个链接解释了复制和粘贴整个文件。 使用networkingaudioapi和waveurfer.js剪切和粘贴audio 任何线索? 我假设我需要得到开始和结束的数字,然后使用ffmpeg将其切出,或者如果有一种方法,我可以通过Web Audio API和Wavesurfer自己做,这将是最好的。 谢谢

了解AudioBuffer到ArrayBuffer转换

我有一个AudioBuffer客户端,我想AJAX到一个快速服务器。 该链接显示XMLHttpRequest如何发送/接收二进制数据 – ArrayBuffer。 ArrayBuffer不同于AudioBuffer(或者我相信),因为我解码了一个ArrayBuffer来使AudioBuffer摆在首位。 这是使用decodeAudioData()作为Web Audio API的一部分完成的。 所以我的问题是,我可以将AudioBuffer转换回ArrayBuffer吗? 如果可能的话,我想将ArrayBuffer发送到我的express服务器,然后将其转发到S3存储桶,如本例所示。 在这个例子中,代码将通过fs.readFileSync()创build的S3存储桶中的缓冲区PUT。 我假设Buffer和ArrayBuffer之间的区别不会是S3:S的问题

Node.js – 让Node.js / Express与Web Audio API一起工作

我正在编写需要使用Web Audio API的Node.js / Express。 我注意到,这是事实上“不可能”,由于在这个stackoverflow答案解释的原因。 但是,我发现在线的两个项目似乎使用Node.js / Express以及Web Audio API。 他们可以在这里和这里find。 当我尝试在我的应用程序中执行类似的操作(使用npm start运行时,出现以下错误: /Users/user/Documents/STAGE4/PRCO304/RTMC/controllers/workstation/workstation.js:1 (function (exports, require, module, __filename, __dirname) { var context = new AudioContext(); ^ ReferenceError: AudioContext is not defined 当我改变行var context = new AudioContext(); 到像window.AudioContext = window.AudioContext东西我得到的错误,该window没有定义,我明白如何Node.js工作。 可能有人请向我解释这些项目如何设法使用Web Audio API与Node.js / Express,当我尝试在我的类似实现类似的东西失败? 提前致谢。

从节点API加载WebaudioAPI中的audio

我正在尝试使用Web Audio API从服务器加载audio。 到目前为止,我所有使用Node / Express API返回数据的尝试都无法返回任何可能在我的浏览器中播放的内容。 我目前的尝试是将文件的内容存储到Mongo内的缓冲区。 当请求时,audio被转换为一个ArrayBuffer,然后编码到Base64中。 客户端然后解码string并将其传递到Web Audio API缓冲区源。 我确信我是这么做的,但这是我唯一想到的。 我已经发布了我的代码如下。 如果你知道更好的方法,我将不胜感激指导。 谢谢 将数据加载到MongoDB中 var buffer = fs.readFileSync('C4.mp3'); Sound.create({ instrument: 'Piano', audio: buffer, note: 'C4' }); 控制器转换audio var Sound = require('./sound.model'); var base64 = require('base64-arraybuffer'); // Get list of sounds exports.index = function(req, res) { Sound.find(function (err, sounds) { if(err) { return […]

如何使用WebaudioAPI在浏览器上播放ArrayBufferstream?

我有一个独立的设备,使用ffmpeg和streamaudio到我的节点服务器。 我使用ffmpeg命令对stream进行编码 ffmpeg -f alsa -i hw:0 -acodec mp2 -f mp3 -r 30 http://localhost:8086/abc 输出: ffmpeg version 0.8.8-4:0.8.8-0ubuntu0.12.04.1, Copyright (c) 2000-2013 the Libav developers built on Oct 22 2013 12:31:55 with gcc 4.6.3 [alsa @ 0x20ef9c0] Estimating duration from bitrate, this may be inaccurate Input #0, alsa, from 'hw:0': Duration: N/A, start: 10088.609013, bitrate: N/A […]

为什么Nodejs不支持Web Audio API?

我了解Web Audio API是客户端function,但nodejs基于ECMAScript的V8 Chrome客户端实现,其中包括Web Audio API 。 为什么nodejs中没有完整的Web Audio API支持? 是因为AudioContext是基于全局窗口对象吗? 我在这里错过了一个观点吗? 有没有计划在将来提供?

通过Web Audio API进行分块/audio回放

我在最后一篇文章中提出了这个问题,但是因为这个问题与原来的问题有关,所以我将它们分开发布。 我无法通过networkingaudio播放audio,就像在媒体播放器中播放audio一样。 我已经尝试了2种不同的传输协议,binaryjs和socketio,并且在尝试通过Webaudio播放时也没有什么不同。 为了排除传输audio数据的问题,我创build了一个例子,在从客户端接收到数据后将数据发送回服务器,并将返回的数据转储到标准输出。 将其configuration到VLC中会产生您期望听到的聆听体验。 要通过vlc播放结果时听到结果,听起来应该如此, 请使用以下命令运行https://github.com/grkblood13/web-audio-stream/tree/master/vlc上的示例: $ node webaudio_vlc_svr.js | vlc – 不pipe什么原因,当我尝试通过Webaudio播放相同的audio数据时,它失败了。 结果是随机噪声,两者之间有很大的空白。 下面的代码会导致播放声音如此糟糕? window.AudioContext = window.AudioContext || window.webkitAudioContext; var context = new AudioContext(); var delayTime = 0; var init = 0; var audioStack = []; client.on('stream', function(stream, meta){ stream.on('data', function(data) { context.decodeAudioData(data, function(buffer) { audioStack.push(buffer); if (audioStack.length > 10 && init == […]

Web Audio API服务器端?

是否有可能使用Web Audio API服务器端(例如在Node.js中)? 我想处理“离线”我的audio文件,以应用audio效果( https://stackoverflow.com/a/8101383/553341 )。

重新采样audio缓冲区从44100到16000

我有data-uri格式的audio数据,然后我把这个data-uri转换成缓冲区,现在我需要这个缓冲区数据在新的采样率,当前audio数据是在44.1khz,我需要在16khz的数据,如果我loggingaudio使用RecordRTC API,如果我以低采样率loggingaudio,那么我得到了失真的audio声音,所以我没有得到如何重新采样我的audio缓冲区, 如果您有任何关于这方面的想法,那么请帮助我。 提前致谢 :)