// Additive synthesis — build waveforms from individual harmonics. // Run: node examples/additive.js square 220 16 3s // Run: node examples/additive.js wave=saw freq=1k n=32 -d 5s // Keys: q quit import { AudioContext } from 'web-audio-api' import { init } from './graphs/additive.js' import { args, num, sec, keys, clearLine, help } from './utils.js' help({ description: 'build a waveform from individual harmonics', usage: ['', '[square|saw|triangle] [frequency] [harmonics] [duration]', 'wave=saw freq=1k n=32 dur=5s'], options: [ ['wave=', 'square (default), saw, or triangle'], ['freq=', 'fundamental frequency (default: 220)'], ['n=', 'number of harmonics (default: 16)'], ['-d, --duration