observer = {
const observer = new MutationObserver(({length}) => {
const oscillator = audio.createOscillator();
oscillator.connect(audio.destination);
oscillator.type = "sine";
oscillator.frequency.setValueAtTime(Math.log(length + 5) * 880, audio.currentTime);
oscillator.start();
oscillator.stop(audio.currentTime + 0.01);
});
observer.observe(document, {
attributes: true,
childList: true,
subtree: true,
characterData: true,
});
invalidation.then(() => observer.disconnect());
return observer;
}