web-audio-api
web-audio-api copied to clipboard
Is the AudioBuffer occupies too huge bytes?
Development environment:
-
Windows 11
-
Node.js v18.12.0
-
web-audio-api package version 0.2.2
Sample code
import waa from "web-audio-api"
import axios from "axios"
const url = "https://music.163.com/song/media/outer/url?id=1991012773.mp3" // audio url
const context = new waa.AudioContext()
axios.get(url, {
responseType: "arraybuffer"
})
.then((res) => res.data)
.then((buffer) => {
context.decodeAudioData(buffer,
(audioBuffer) => {
// do something ...
},
(err) => {
// do something ...
},
)
});
setTimeout(() => {}, 10000)
Then in the TaskManager, this Node.js process will occupy over 250 MB of memory.
I guess that there is a problem with the decodeAudioData function in the lib/utils.js, or is there any problem with my sample code?
By the package heapdump, I found that the AudioBuffer generated by the AudioContext.decodeAudioData function usually occupies over 50 MB of memory when the source audio file is less than 10 MB. Is that normal?