Tag: audio

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,当我尝试在我的类似实现类似的东西失败? 提前致谢。

节点 – 如何写audio文件

我正在制作一个logging用户在说什么的应用程序,并将其保存到一个文件中。 为了从麦克风获得声音,我使用节点麦克风包。 我的应用程序目前能够从麦克风获得声音。 但是,当我尝试写入audio文件的stream,并播放它,我得到以下错误。 Windows Media Player无法播放该文件。 播放器可能不支持文件types,也可能不支持用于压缩文件的编解码器。 有谁知道如何写audio节点中的文件? var fs = require('fs'); const { Writable } = require('stream'); var writeStream = fs.createWriteStream('./output.wav'); const outStream = new Writable({ write(chunk, encoding, callback) { console.log(chunk); writeStream.write(chunk); callback(); } }); let Mic = require('node-microphone'); let mic = new Mic(); let micStream = mic.startRecording(); micStream.pipe( outStream ); mic.on('info', (info) […]

NodeJs:如何pipe两个stream到一个产生的进程stdin(即ffmpeg)导致一个单一的输出

为了两个PCMaudio转换成MP3我使用以下内容: function spawnFfmpeg() { var args = [ '-f', 's16le', '-ar', '48000', '-ac', '1', '-i', 'pipe:0', '-acodec', 'libmp3lame', '-f', 'mp3', 'pipe:1' ]; var ffmpeg = spawn('ffmpeg', args); console.log('Spawning ffmpeg ' + args.join(' ')); ffmpeg.on('exit', function (code) { console.log('FFMPEG child process exited with code ' + code); }); ffmpeg.stderr.on('data', function (data) { console.log('Incoming data: ' + […]

如何捕捉通过HTTP传输的MP3的前10秒

免责声明:新手到nodeJS和audioparsing 我试图通过一个expressJS应用程序代理一个数字广播stream,在节点icecast的帮助下,这非常有效。 我收到广播的MP3stream,并通过节点lame解码MP3到PCM,然后发送到扬声器。 所有这些只是从github项目的自述例子直接工作: var lame = require('lame'); var icecast = require('icecast'); var Speaker = require('speaker'); // URL to a known Icecast stream var url = 'http://firewall.pulsradio.com'; // connect to the remote stream icecast.get(url, function (res) { // log the HTTP response headers console.error(res.headers); // log any "metadata" events that happen res.on('metadata', function (metadata) { […]

video到audio文件通过FFMPEG节点js转换和保存

我正在研究节点js上的FFMPEG。 我想使用节点js从video文件中检索音轨。 我也想保存这样的文件,但我不知道如何。 我虽然这行代码会帮助我: ffmpeg('/path/to/file.avi').noVideo(); 我在npm包里有这个。 我不太明白如何处理这个问题,以及如何保存audio文件。 其他一些代码: try { var process = new ffmpeg('/path/to/your_movie.avi'); process.then(function (video) { // Callback mode video.fnExtractSoundToMP3('/path/to/your_audio_file.mp3', function (error, file) { if (!error) console.log('Audio file: ' + file); }); }, function (err) { console.log('Error: ' + err); }); } catch (e) { console.log(e.code); console.log(e.msg); } 我的问题是: 如何从FFMPEGvideo中检索audio? 我如何保存它?

在Express / Node服务器上通过HTTP POST接收wavaudio文件

我试图通过cURL发送audio文件audio.wav到我的快递服务器。 我正在使用以下cURL请求: curl -X POST –data-binary @"audio.wav" -H "Content-Type: audio/wav" localhost:3000/extract_indicators/audio/darksigma 在我的服务器上,我使用顶部的以下行: app.use(bodyParser.json()); 这样我就可以默认将传入请求的正文parsing为JSON。 在我的适当的Express路由处理程序中,我有: app.post('/extract_indicators/audio/:user_id', function (req, res) { app.use(bodyParser.raw({ type: 'audio/wav' })); console.log("RECIEVED AUDIO TO EXTRACT INDICATORS: ", req.body); <do stuff with audio and send result back> app.use(bodyParser.json()); }); 我打电话给console.log打印: RECIEVED AUDIO TO EXTRACT INDICATORS: {} 我究竟做错了什么? 为什么req.body不包含我的数据?

使audio在所有浏览器上工作

我一直在testing一个networking应用程序,出于某种原因,许多应该在onLoad上播放的audio在很多情况下都无法播放。 有没有更好的策略来确保所有devise/浏览器的audio播放? 这是我的代码: $( document ).ready(function() { var audio = document.getElementById('audio1'); if (audio.paused) { audio.play(); }else{ audio.currentTime = 0 } }); HTML: <audio id="audio1" src="https://LINK.wav" ></audio>

接收wav文件并将其写入Node / Express Server上的磁盘

我使用以下方式将audio文件发送到Node / Express服务器: curl -X POST -H "Content-Type: audio/wav" –data-binary @"hello.wav" http://127.0.0.1:3000/extract_indicators/audio/darksigma 我正在使用下面的代码: … app.use(bodyParser.raw({ type: 'audio/wav', limit: '50mb' })); … app.post('/extract_indicators/audio/:user_id', function (req, res) { console.log("RECIEVED AUDIO TO EXTRACT INDICATORS: ", req.body); var writeStream = fs.createWriteStream('sample.wav'); req.pipe(writeStream); res.sendStatus(200); }); 但sample.wav文件最终是空的。 有任何想法吗?

我怎样才能通过websockets同步两个javascript定时器

我有一个网站与一个JS视觉节拍器(如指挥),可以通过websocket在多台机器上触发。 我怎样才能使节拍器的开始尽可能地同步? 谢谢。

如何使用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 […]