Web components for music: a tone generator and metronome. View on GitHub
This one plays C5 (523.25 Hz) instead:
A click track at a configurable BPM:
<!-- Default 440 Hz -->
<tone-generator></tone-generator>
<!-- Custom frequency -->
<tone-generator frequency="523.25"></tone-generator>
<!-- Auto-play on load -->
<tone-generator playing></tone-generator>
const tone = document.querySelector('tone-generator');
// Start/stop methods
tone.start();
tone.stop();
tone.toggle();
// Change frequency dynamically
tone.frequency = 880;
// Check if playing
console.log(tone.playing);
// Listen to events
tone.addEventListener('tone-start', (e) => {
console.log('Started at', e.detail.frequency, 'Hz');
});
tone.addEventListener('tone-stop', () => {
console.log('Stopped');
});