Best way to retrieve music metadata from audio files? The 2019 Stack Overflow Developer Survey Results Are InMore efficient way to retrieve data from JSONBest way to retrieve parameters from associative array in javascript?AudioMetaTagger: recursively read files and gather metadataFastest way searching specific filesGathering metadata on files in GitHubUWP scan for music filesRetrieve filetype:pdf from libraryDeleting EXIF metadata from picturesA better way to retrieve data in firebase using reduxFastest way to retrieve information from array and display in html
Should I use my personal or workplace e-mail when registering to external websites for work purpose?
How come people say “Would of”?
Is flight data recorder erased after every flight?
Are USB sockets on wall outlets live all the time, even when the switch is off?
On the insanity of kings as an argument against monarchy
Landlord wants to switch my lease to a "Land contract" to "get back at the city"
How was Skylab's orbit inclination chosen?
How to create dashed lines/arrows in Illustrator
Could JWST stay at L2 "forever"?
How to reverse every other sublist of a list?
Where to refill my bottle in India?
Are there any other methods to apply to solving simultaneous equations?
Is "plugging out" electronic devices an American expression?
Limit to 0 ambiguity
Could a US political party gain complete control over the government by removing checks & balances?
Carnot-Caratheodory metric
Why is it "Tumoren" and not "Tumore"?
Patience, young "Padovan"
The difference between dialogue marks
Extreme, unacceptable situation and I can't attend work tomorrow morning
How to deal with fear of taking dependencies
Is bread bad for ducks?
Pristine Bit Checking
Why isn't airport relocation done gradually?
Best way to retrieve music metadata from audio files?
The 2019 Stack Overflow Developer Survey Results Are InMore efficient way to retrieve data from JSONBest way to retrieve parameters from associative array in javascript?AudioMetaTagger: recursively read files and gather metadataFastest way searching specific filesGathering metadata on files in GitHubUWP scan for music filesRetrieve filetype:pdf from libraryDeleting EXIF metadata from picturesA better way to retrieve data in firebase using reduxFastest way to retrieve information from array and display in html
.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty margin-bottom:0;
$begingroup$
I am using the music metadata-browser npm package to retrieve audio metadata from files. This library is being used in an Electron and React desktop app.
To get the metadata of audio files, (and add it to the redux state), I use the following function to get metadata and add the file to redux state. This method works well with small amounts of data, but gets really slow (obviously) as more audio files are given to be processed. Is there a better way I can process these files? Not sure if javascript has any worker/job techniques I could use.
import * as mm from 'music-metadata-browser';
const addFile = (filePath, file, dispatch, ext) =>
if (Buffer.isBuffer(file))
mm.parseBuffer(file, ext)
.then(metadata =>
const libraryEntry = createLibraryEntry(filePath, metadata);
dispatch( type: constants.ADD_FILE, libraryEntry, totalFiles );
);
else
mm.parseBlob(file, ext)
.then((metadata) =>
const libraryEntry = createLibraryEntry(filePath, metadata);
dispatch( type: constants.ADD_FILE, libraryEntry, totalFiles );
);
;
const processFiles = (files, dirPath, dispatch) =>
files.map((file, index) =>
const parsedFile = file.split('.');
const format = parsedFile[parsedFile.length - 1];
const filePath = `$dirPath/$file`;
const isDirectory = fs.lstatSync(filePath).isDirectory();
if (isDirectory)
fs.readdir(filePath, (err, files) => processFiles(files, filePath, dispatch););
else if (isValidFormat(format))
fs.readFile(filePath, (err, file) =>
addFile(filePath, Buffer(file), dispatch, format);
);
return;
);
;
Thanks for the help.
javascript performance file-system react.js redux
New contributor
$endgroup$
add a comment |
$begingroup$
I am using the music metadata-browser npm package to retrieve audio metadata from files. This library is being used in an Electron and React desktop app.
To get the metadata of audio files, (and add it to the redux state), I use the following function to get metadata and add the file to redux state. This method works well with small amounts of data, but gets really slow (obviously) as more audio files are given to be processed. Is there a better way I can process these files? Not sure if javascript has any worker/job techniques I could use.
import * as mm from 'music-metadata-browser';
const addFile = (filePath, file, dispatch, ext) =>
if (Buffer.isBuffer(file))
mm.parseBuffer(file, ext)
.then(metadata =>
const libraryEntry = createLibraryEntry(filePath, metadata);
dispatch( type: constants.ADD_FILE, libraryEntry, totalFiles );
);
else
mm.parseBlob(file, ext)
.then((metadata) =>
const libraryEntry = createLibraryEntry(filePath, metadata);
dispatch( type: constants.ADD_FILE, libraryEntry, totalFiles );
);
;
const processFiles = (files, dirPath, dispatch) =>
files.map((file, index) =>
const parsedFile = file.split('.');
const format = parsedFile[parsedFile.length - 1];
const filePath = `$dirPath/$file`;
const isDirectory = fs.lstatSync(filePath).isDirectory();
if (isDirectory)
fs.readdir(filePath, (err, files) => processFiles(files, filePath, dispatch););
else if (isValidFormat(format))
fs.readFile(filePath, (err, file) =>
addFile(filePath, Buffer(file), dispatch, format);
);
return;
);
;
Thanks for the help.
javascript performance file-system react.js redux
New contributor
$endgroup$
add a comment |
$begingroup$
I am using the music metadata-browser npm package to retrieve audio metadata from files. This library is being used in an Electron and React desktop app.
To get the metadata of audio files, (and add it to the redux state), I use the following function to get metadata and add the file to redux state. This method works well with small amounts of data, but gets really slow (obviously) as more audio files are given to be processed. Is there a better way I can process these files? Not sure if javascript has any worker/job techniques I could use.
import * as mm from 'music-metadata-browser';
const addFile = (filePath, file, dispatch, ext) =>
if (Buffer.isBuffer(file))
mm.parseBuffer(file, ext)
.then(metadata =>
const libraryEntry = createLibraryEntry(filePath, metadata);
dispatch( type: constants.ADD_FILE, libraryEntry, totalFiles );
);
else
mm.parseBlob(file, ext)
.then((metadata) =>
const libraryEntry = createLibraryEntry(filePath, metadata);
dispatch( type: constants.ADD_FILE, libraryEntry, totalFiles );
);
;
const processFiles = (files, dirPath, dispatch) =>
files.map((file, index) =>
const parsedFile = file.split('.');
const format = parsedFile[parsedFile.length - 1];
const filePath = `$dirPath/$file`;
const isDirectory = fs.lstatSync(filePath).isDirectory();
if (isDirectory)
fs.readdir(filePath, (err, files) => processFiles(files, filePath, dispatch););
else if (isValidFormat(format))
fs.readFile(filePath, (err, file) =>
addFile(filePath, Buffer(file), dispatch, format);
);
return;
);
;
Thanks for the help.
javascript performance file-system react.js redux
New contributor
$endgroup$
I am using the music metadata-browser npm package to retrieve audio metadata from files. This library is being used in an Electron and React desktop app.
To get the metadata of audio files, (and add it to the redux state), I use the following function to get metadata and add the file to redux state. This method works well with small amounts of data, but gets really slow (obviously) as more audio files are given to be processed. Is there a better way I can process these files? Not sure if javascript has any worker/job techniques I could use.
import * as mm from 'music-metadata-browser';
const addFile = (filePath, file, dispatch, ext) =>
if (Buffer.isBuffer(file))
mm.parseBuffer(file, ext)
.then(metadata =>
const libraryEntry = createLibraryEntry(filePath, metadata);
dispatch( type: constants.ADD_FILE, libraryEntry, totalFiles );
);
else
mm.parseBlob(file, ext)
.then((metadata) =>
const libraryEntry = createLibraryEntry(filePath, metadata);
dispatch( type: constants.ADD_FILE, libraryEntry, totalFiles );
);
;
const processFiles = (files, dirPath, dispatch) =>
files.map((file, index) =>
const parsedFile = file.split('.');
const format = parsedFile[parsedFile.length - 1];
const filePath = `$dirPath/$file`;
const isDirectory = fs.lstatSync(filePath).isDirectory();
if (isDirectory)
fs.readdir(filePath, (err, files) => processFiles(files, filePath, dispatch););
else if (isValidFormat(format))
fs.readFile(filePath, (err, file) =>
addFile(filePath, Buffer(file), dispatch, format);
);
return;
);
;
Thanks for the help.
javascript performance file-system react.js redux
javascript performance file-system react.js redux
New contributor
New contributor
New contributor
asked 10 mins ago
MeganMegan
1112
1112
New contributor
New contributor
add a comment |
add a comment |
0
active
oldest
votes
Your Answer
StackExchange.ifUsing("editor", function ()
return StackExchange.using("mathjaxEditing", function ()
StackExchange.MarkdownEditor.creationCallbacks.add(function (editor, postfix)
StackExchange.mathjaxEditing.prepareWmdForMathJax(editor, postfix, [["\$", "\$"]]);
);
);
, "mathjax-editing");
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: "196"
;
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: false,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
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
);
);
Megan is a new contributor. Be nice, and check out our Code of Conduct.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
var $window = $(window),
onScroll = function(e)
var $elem = $('.new-login-left'),
docViewTop = $window.scrollTop(),
docViewBottom = docViewTop + $window.height(),
elemTop = $elem.offset().top,
elemBottom = elemTop + $elem.height();
if ((docViewTop elemBottom))
StackExchange.using('gps', function() StackExchange.gps.track('embedded_signup_form.view', location: 'question_page' ); );
$window.unbind('scroll', onScroll);
;
$window.on('scroll', onScroll);
);
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%2fcodereview.stackexchange.com%2fquestions%2f217181%2fbest-way-to-retrieve-music-metadata-from-audio-files%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
0
active
oldest
votes
0
active
oldest
votes
active
oldest
votes
active
oldest
votes
Megan is a new contributor. Be nice, and check out our Code of Conduct.
Megan is a new contributor. Be nice, and check out our Code of Conduct.
Megan is a new contributor. Be nice, and check out our Code of Conduct.
Megan is a new contributor. Be nice, and check out our Code of Conduct.
Thanks for contributing an answer to Code Review Stack Exchange!
- 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.
Use MathJax to format equations. MathJax reference.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
var $window = $(window),
onScroll = function(e)
var $elem = $('.new-login-left'),
docViewTop = $window.scrollTop(),
docViewBottom = docViewTop + $window.height(),
elemTop = $elem.offset().top,
elemBottom = elemTop + $elem.height();
if ((docViewTop elemBottom))
StackExchange.using('gps', function() StackExchange.gps.track('embedded_signup_form.view', location: 'question_page' ); );
$window.unbind('scroll', onScroll);
;
$window.on('scroll', onScroll);
);
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%2fcodereview.stackexchange.com%2fquestions%2f217181%2fbest-way-to-retrieve-music-metadata-from-audio-files%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');
var $window = $(window),
onScroll = function(e)
var $elem = $('.new-login-left'),
docViewTop = $window.scrollTop(),
docViewBottom = docViewTop + $window.height(),
elemTop = $elem.offset().top,
elemBottom = elemTop + $elem.height();
if ((docViewTop elemBottom))
StackExchange.using('gps', function() StackExchange.gps.track('embedded_signup_form.view', location: 'question_page' ); );
$window.unbind('scroll', onScroll);
;
$window.on('scroll', onScroll);
);
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');
var $window = $(window),
onScroll = function(e)
var $elem = $('.new-login-left'),
docViewTop = $window.scrollTop(),
docViewBottom = docViewTop + $window.height(),
elemTop = $elem.offset().top,
elemBottom = elemTop + $elem.height();
if ((docViewTop elemBottom))
StackExchange.using('gps', function() StackExchange.gps.track('embedded_signup_form.view', location: 'question_page' ); );
$window.unbind('scroll', onScroll);
;
$window.on('scroll', onScroll);
);
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');
var $window = $(window),
onScroll = function(e)
var $elem = $('.new-login-left'),
docViewTop = $window.scrollTop(),
docViewBottom = docViewTop + $window.height(),
elemTop = $elem.offset().top,
elemBottom = elemTop + $elem.height();
if ((docViewTop elemBottom))
StackExchange.using('gps', function() StackExchange.gps.track('embedded_signup_form.view', location: 'question_page' ); );
$window.unbind('scroll', onScroll);
;
$window.on('scroll', onScroll);
);
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