Articles of audio

捕获,修改,然后输出电子audio

我试图捕捉,修改并最终在Electron (Mac OSX)节点中输出audio。 这些步骤是: 在输出之前捕获audio,可能通过CoreAudio。 通过Web Audio API修改audiostream/缓冲区。 将修改后的缓冲区输出到声音设备。 我试过节点核心audio 。 但是,我能做到的最多的是一个快速的刺耳的声音。 除此之外,我还没有find一个好的解决schemeI / O的audio。 我怎样才能做到这一点,而不牺牲音质?

通过socket.io 1.0现场audio

从socket.io网站 二进制stream媒体 从1.0开始,可以发送任何blob:图像,audio,video。 我现在想知道,如果这不能解决我最近想做的事情。 实际上,我正在寻找一种方法,将(A – 即麦克风input…)的现场audiostream广播到连接到我的网站的所有客户端。 是这样的可能吗? 我一直在搞乱WebRTC( https://www.webrtc-experiment.com/ )的例子,但是我还没有能够为less数连接的客户端pipe理目标。 我的想法是关于像getUserMedia或任何其他audio源(PCM,无论.. ..)被切碎,并提供给客户端和播放例如HTML5audio元素或任何东西..我需要做的stream尽可能实时,没有大声/冰投服务不够快(事实上,他们不是我的问题的解决scheme,他们的意思是用这种方式),我并不关心audio质量。 跨平台兼容性将会很棒。 是这样的可能吗? 通过使用socket.io作为如何将这些数据提供给客户端? 我将非常感谢任何参考,提示或来源,可以帮助我实现这一点。 非常感谢。

节点js脱机语音到文本

我想创build一个机器人Node.js和Tessel.io,我买了audio模块,我想知道是否存在任何语音到文本或audio文本包为节点js或其他东西。 有人可以帮我弄这个吗? 谢谢

在javascript中对PCMaudio缓冲区进行降采样

我正在尝试从audioContext下采样的采样率。 我相信它是44100,而我希望它是11025.我以为我可以平均每3个样本,它以正确的速度播放,但是音调太高,就好像我们都在氦气。 在11025个采样下,将float32Array从44100降采样为int16Array的正确方法是什么? var context = new Flash.audioContext(); var audioInput = context.createMediaStreamSource(stream); var recorder = context.createScriptProcessor(null, 1, 1); recorder.onaudioprocess = onAudio; audioInput.connect(recorder); recorder.connect(context.destination); var onAudio = function (e) { var left = e.inputBuffer.getChannelData(0); bStream.write(Flash.convertFloat32ToInt16(left)); } var convertFloat32ToInt16 = function(buffer) { var l = buffer.length; var point = Math.floor(l/3); var buf = new Int16Array(point); for (var […]

Node.js在服务器和客户端之间同步audiostream?

我正在尝试构build一个Web应用程序,它将在浏览器中传输audio (不带任何插件),并允许其他用户joinwww.mysite.com,audio将同时传输到每个连接的用户当前主机的audio位置(即服务器和客户端之间同步的audio播放)。 我需要做些什么来实现类似的东西? 我正在研究一个Node.js / Express项目,但是我没有碰到Stream或Buffer API。 那是我需要使用的吗? 另外WebRTC呢? 这适用于这里吗?

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

使用Horseman和PhantomJS下载wav文件,丢失数据质量

我使用PhantomJS和HorsemanJS从远程服务器下载wav文件。 但是,当文件是base64编码,并写入一个新的文件,它会丢失质量,使其无法使用。 audio在那里,但它的扭曲导致我认为它是一个编码问题。 我正在使用节点v5在Ubuntu 14.04上运行 下面是我的脚本任何想法也许改善base64编码? var Horseman = require('node-horseman'); var horseman = new Horseman({cookiesFile:'./cookiejar'}); var fs = require('fs'); horseman.on("urlChanged", function(url){ console.log(url); }); horseman.on('consoleMessage', function( msg ){ console.log(msg); }); horseman .userAgent("Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.36") .open('https://remoteserver.com/audo.aspx?guid=01439900-5361-4828-ad0e-945b56e9fe51') .waitForNextPage() .type('input[name="password"]', process.env.PASS) .type('input[name="username"]', process.env.UN) .click("button:contains('Login')") .waitForNextPage() .evaluate(function(){ var base64EncodeChars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"; function base64encode(str) […]

从浏览器到服务器stream录制audio

我希望将来自浏览器的录制audio直播到服务器并播放。 服务器将最终成为播放这些audiostream的embedded式设备。 到目前为止,我已经成功录制了audio,并将其编码成WAVE文件,并使用networkingaudioAPI在浏览器上播放,并遵循本教程 。 现在我有一个.WAV编码的blobstream。 我试图find方法将这些stream与一个web套接字连接stream到一个nodejs后端,并使用npm模块播放它们。 但我没有运气。 有谁知道我应该遵循的任何资源或模块? 也许我应该尝试一种不同的方法? 自从在浏览器上logging以后,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 }); […]