Articles of networkingaudio

通过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缓冲区, 如果您有任何关于这方面的想法,那么请帮助我。 提前致谢 :)

在Node.js上从Web Audio API播放PCMstream

我使用networkingaudioAPI从浏览器stream式传输录制的PCMaudio。 我将它与binaryJS(websocket连接)stream到一个nodejs服务器,我试图播放该stream使用扬声器npm模块在服务器上。 这是我的客户。 audio缓冲器首先是非交织的IEEE 32位线性PCM,标称范围在-1和+1之间 。 我从两个PCM通道中的一个开始,并在下面进行stream式处理。 var client = new BinaryClient('ws://localhost:9000'); var Stream = client.send(); recorder.onaudioprocess = function(AudioBuffer){ var leftChannel = AudioBuffer.inputBuffer.getChannelData (0); Stream.write(leftChannel); } 现在我接收到数据作为缓冲区,并尝试将其写入npm包中的扬声器对象。 var Speaker = require('speaker'); var speaker = new Speaker({ channels: 1, // 1 channel bitDepth: 32, // 32-bit samples sampleRate: 48000, // 48,000 Hz sample rate signed:true }); […]