Best way to retrieve music metadata from audio files? The 2019 Stack Overflow Developer Survey...
Inversion Puzzle
Why could you hear an Amstrad CPC working?
Why do I get badly formatted numerical results when I use StringForm?
Is three citations per paragraph excessive for undergraduate research paper?
What tool would a Roman-age civilization have to grind silver and other metals into dust?
Why is the maximum length of OpenWrt’s root password 8 characters?
How to deal with fear of taking dependencies
Limit the amount of RAM Mathematica may access?
Why can Shazam do this?
What is the motivation for a law requiring 2 parties to consent for recording a conversation
Is this food a bread or a loaf?
Could a US political party gain complete control over the government by removing checks & balances?
How to manage monthly salary
Should I write numbers in words or as numerals when there are multiple next to each other?
What are the motivations for publishing new editions of an existing textbook, beyond new discoveries in a field?
How to answer pointed "are you quitting" questioning when I don't want them to suspect
Understanding the implication of what "well-defined" means for the operation in quotient group
What is this 4-propeller plane?
What does "rabbited" mean/imply in this sentence?
Carnot-Caratheodory metric
Why is it "Tumoren" and not "Tumore"?
What could be the right powersource for 15 seconds lifespan disposable giant chainsaw?
Why did Howard Stark use all the Vibranium they had on a prototype shield?
Could JWST stay at L2 "forever"?
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 12 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');
});
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');
});
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');
});
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