// Beating — two close frequencies create amplitude modulation. // Run: node examples/beating.js 440 3 5s // Run: node examples/beating.js freq=440 diff=3 -d 5s // Keys: ←/→ ±0.5 Hz beat · ↑/↓ ±semitone carrier · q quit import { AudioContext } from 'web-audio-api' import { init } from './graphs/beating.js' import { args, num, sec, keys, status, clearLine, pausedTag, help } from './utils.js' help({ description: 'hear beating between two nearby frequencies', usage: ['', '[carrier] [difference] [duration]', 'freq=440 diff=3 dur=5s'], options: [ ['freq=', 'lower carrier frequency (default: 440)'], ['diff=', 'difference/beat frequency (default: 3)'], ['-d, --duration