Record incoming audio stream node js
I'm looking for a way to record an incoming audio stream from an external source (http://audio12.broadcastify.com/krjb6ymsvnhf54z.mp3?nocache=8396379) into a node server. Ultimately I want to do some processing in real time on the stream and listen for specific frequencies within the audio.
Is there anything out there to process incoming audio streams?
node.js audio streaming audio-streaming internet-radio
add a comment |
I'm looking for a way to record an incoming audio stream from an external source (http://audio12.broadcastify.com/krjb6ymsvnhf54z.mp3?nocache=8396379) into a node server. Ultimately I want to do some processing in real time on the stream and listen for specific frequencies within the audio.
Is there anything out there to process incoming audio streams?
node.js audio streaming audio-streaming internet-radio
add a comment |
I'm looking for a way to record an incoming audio stream from an external source (http://audio12.broadcastify.com/krjb6ymsvnhf54z.mp3?nocache=8396379) into a node server. Ultimately I want to do some processing in real time on the stream and listen for specific frequencies within the audio.
Is there anything out there to process incoming audio streams?
node.js audio streaming audio-streaming internet-radio
I'm looking for a way to record an incoming audio stream from an external source (http://audio12.broadcastify.com/krjb6ymsvnhf54z.mp3?nocache=8396379) into a node server. Ultimately I want to do some processing in real time on the stream and listen for specific frequencies within the audio.
Is there anything out there to process incoming audio streams?
node.js audio streaming audio-streaming internet-radio
node.js audio streaming audio-streaming internet-radio
edited Nov 22 '18 at 2:13
Brad
117k28238398
117k28238398
asked Nov 22 '18 at 2:10
BillBill
2,354115389
2,354115389
add a comment |
add a comment |
1 Answer
1
active
oldest
votes
There is a rewrite of the Web Audio API in JavaScript for Node.js: https://github.com/audiojs/web-audio-api
I think what would be easier in your case would be to use FFmpeg to fetch and decode the audio to PCM (via a simple child process, piping data to your app over STDIO), and then do your own processing from there.
If you're looking for specific frequencies consider an implementation of the Goertzel Algorithm. It's more efficient than doing a full FFT, if you only need a couple frequencies.
add a comment |
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53422956%2frecord-incoming-audio-stream-node-js%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
There is a rewrite of the Web Audio API in JavaScript for Node.js: https://github.com/audiojs/web-audio-api
I think what would be easier in your case would be to use FFmpeg to fetch and decode the audio to PCM (via a simple child process, piping data to your app over STDIO), and then do your own processing from there.
If you're looking for specific frequencies consider an implementation of the Goertzel Algorithm. It's more efficient than doing a full FFT, if you only need a couple frequencies.
add a comment |
There is a rewrite of the Web Audio API in JavaScript for Node.js: https://github.com/audiojs/web-audio-api
I think what would be easier in your case would be to use FFmpeg to fetch and decode the audio to PCM (via a simple child process, piping data to your app over STDIO), and then do your own processing from there.
If you're looking for specific frequencies consider an implementation of the Goertzel Algorithm. It's more efficient than doing a full FFT, if you only need a couple frequencies.
add a comment |
There is a rewrite of the Web Audio API in JavaScript for Node.js: https://github.com/audiojs/web-audio-api
I think what would be easier in your case would be to use FFmpeg to fetch and decode the audio to PCM (via a simple child process, piping data to your app over STDIO), and then do your own processing from there.
If you're looking for specific frequencies consider an implementation of the Goertzel Algorithm. It's more efficient than doing a full FFT, if you only need a couple frequencies.
There is a rewrite of the Web Audio API in JavaScript for Node.js: https://github.com/audiojs/web-audio-api
I think what would be easier in your case would be to use FFmpeg to fetch and decode the audio to PCM (via a simple child process, piping data to your app over STDIO), and then do your own processing from there.
If you're looking for specific frequencies consider an implementation of the Goertzel Algorithm. It's more efficient than doing a full FFT, if you only need a couple frequencies.
answered Nov 22 '18 at 2:14
BradBrad
117k28238398
117k28238398
add a comment |
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53422956%2frecord-incoming-audio-stream-node-js%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown