Can't get same audio quality recording with Quicktime vs using Web Audio
I'm working on https://www.crayon.pro, a website for creating Khan-Academy-style lectures straight from the browser. For this purpose, I'm trying to use the Web Audio API to record audio with the best possible quality from the user's mic.
The problem is: using the same computer (Mid 2012 Retina Macbook Pro) and same microphone (Bose QC20), I get significantly different results from getUserMedia and any native audio recording app such as Quicktime Player.
I tested Chrome, Firefox and Safari and got similar results in terms of audio quality using my website or this demo: https://webaudiodemos.appspot.com/AudioRecorder/index.html
The voice recorded by Quicktime sounds overall clearer, less prone to pops (those loud sounds when you speak directly against the mic, or wind blows into it) and less metallic (this one is somewhat hard to explain - I feel it like an overall "buzziness" in the audio). This gets me thinking the reason might be that Quicktime isn't recording "raw mic input" but actually applying some filters to the audio as it's recorded.
I know that things such as echo cancellation and noise suppression can also be configured in the browser using MediaTrackConstraints, so I played around with those settings, but without success.
So my questions are:
What could be the reason for the inferior recorded audio quality in the browser?
If it's a matter of Quicktime having superior filtering algorithms, any recommendations to open source libraries I could use to achieve a similar result?
Is it possible that I'm loosing quality by recording only 1 audio channel (mono), instead of recording 2 (stereo) and merging the two streams into 1 in a "clever" way?
audio audio-recording web-audio microphone audio-processing
add a comment |
I'm working on https://www.crayon.pro, a website for creating Khan-Academy-style lectures straight from the browser. For this purpose, I'm trying to use the Web Audio API to record audio with the best possible quality from the user's mic.
The problem is: using the same computer (Mid 2012 Retina Macbook Pro) and same microphone (Bose QC20), I get significantly different results from getUserMedia and any native audio recording app such as Quicktime Player.
I tested Chrome, Firefox and Safari and got similar results in terms of audio quality using my website or this demo: https://webaudiodemos.appspot.com/AudioRecorder/index.html
The voice recorded by Quicktime sounds overall clearer, less prone to pops (those loud sounds when you speak directly against the mic, or wind blows into it) and less metallic (this one is somewhat hard to explain - I feel it like an overall "buzziness" in the audio). This gets me thinking the reason might be that Quicktime isn't recording "raw mic input" but actually applying some filters to the audio as it's recorded.
I know that things such as echo cancellation and noise suppression can also be configured in the browser using MediaTrackConstraints, so I played around with those settings, but without success.
So my questions are:
What could be the reason for the inferior recorded audio quality in the browser?
If it's a matter of Quicktime having superior filtering algorithms, any recommendations to open source libraries I could use to achieve a similar result?
Is it possible that I'm loosing quality by recording only 1 audio channel (mono), instead of recording 2 (stereo) and merging the two streams into 1 in a "clever" way?
audio audio-recording web-audio microphone audio-processing
add a comment |
I'm working on https://www.crayon.pro, a website for creating Khan-Academy-style lectures straight from the browser. For this purpose, I'm trying to use the Web Audio API to record audio with the best possible quality from the user's mic.
The problem is: using the same computer (Mid 2012 Retina Macbook Pro) and same microphone (Bose QC20), I get significantly different results from getUserMedia and any native audio recording app such as Quicktime Player.
I tested Chrome, Firefox and Safari and got similar results in terms of audio quality using my website or this demo: https://webaudiodemos.appspot.com/AudioRecorder/index.html
The voice recorded by Quicktime sounds overall clearer, less prone to pops (those loud sounds when you speak directly against the mic, or wind blows into it) and less metallic (this one is somewhat hard to explain - I feel it like an overall "buzziness" in the audio). This gets me thinking the reason might be that Quicktime isn't recording "raw mic input" but actually applying some filters to the audio as it's recorded.
I know that things such as echo cancellation and noise suppression can also be configured in the browser using MediaTrackConstraints, so I played around with those settings, but without success.
So my questions are:
What could be the reason for the inferior recorded audio quality in the browser?
If it's a matter of Quicktime having superior filtering algorithms, any recommendations to open source libraries I could use to achieve a similar result?
Is it possible that I'm loosing quality by recording only 1 audio channel (mono), instead of recording 2 (stereo) and merging the two streams into 1 in a "clever" way?
audio audio-recording web-audio microphone audio-processing
I'm working on https://www.crayon.pro, a website for creating Khan-Academy-style lectures straight from the browser. For this purpose, I'm trying to use the Web Audio API to record audio with the best possible quality from the user's mic.
The problem is: using the same computer (Mid 2012 Retina Macbook Pro) and same microphone (Bose QC20), I get significantly different results from getUserMedia and any native audio recording app such as Quicktime Player.
I tested Chrome, Firefox and Safari and got similar results in terms of audio quality using my website or this demo: https://webaudiodemos.appspot.com/AudioRecorder/index.html
The voice recorded by Quicktime sounds overall clearer, less prone to pops (those loud sounds when you speak directly against the mic, or wind blows into it) and less metallic (this one is somewhat hard to explain - I feel it like an overall "buzziness" in the audio). This gets me thinking the reason might be that Quicktime isn't recording "raw mic input" but actually applying some filters to the audio as it's recorded.
I know that things such as echo cancellation and noise suppression can also be configured in the browser using MediaTrackConstraints, so I played around with those settings, but without success.
So my questions are:
What could be the reason for the inferior recorded audio quality in the browser?
If it's a matter of Quicktime having superior filtering algorithms, any recommendations to open source libraries I could use to achieve a similar result?
Is it possible that I'm loosing quality by recording only 1 audio channel (mono), instead of recording 2 (stereo) and merging the two streams into 1 in a "clever" way?
audio audio-recording web-audio microphone audio-processing
audio audio-recording web-audio microphone audio-processing
asked Nov 24 '18 at 17:26
Marcello SalomãoMarcello Salomão
4118
4118
add a comment |
add a comment |
0
active
oldest
votes
Your Answer
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%2f53460658%2fcant-get-same-audio-quality-recording-with-quicktime-vs-using-web-audio%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
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%2f53460658%2fcant-get-same-audio-quality-recording-with-quicktime-vs-using-web-audio%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