├── .github └── workflows │ ├── node.js.yml │ └── npm-publish.yml ├── .gitignore ├── .prettierrc.json ├── .vscode └── settings.json ├── LICENSE ├── README.md ├── example ├── .gitignore ├── cert │ ├── localhost+1-key.pem │ └── localhost+1.pem ├── package.json ├── public │ ├── index.html │ └── midi │ │ ├── example.mid │ │ └── song.mid ├── rollup.config.js ├── src │ ├── EventScheduler.ts │ ├── MIDIPlayer.ts │ ├── index.ts │ └── midiToSynthEvents.ts └── tsconfig.json ├── lib ├── jest.config.js ├── package.json ├── rollup.config.js ├── src │ ├── @types │ │ ├── string-to-arraybuffer.d.ts │ │ └── webaudioapi.d.ts │ ├── SynthEvent.ts │ ├── helper │ │ └── math.ts │ ├── index.test.ts │ ├── index.ts │ ├── processor │ │ ├── AmplitudeEnvelope.ts │ │ ├── LFO.ts │ │ ├── SampleTable.ts │ │ ├── SynthEventHandler.ts │ │ ├── SynthEventScheduler.test.ts │ │ ├── SynthEventScheduler.ts │ │ ├── SynthProcessor.ts │ │ ├── SynthProcessorCore.ts │ │ ├── WavetableOscillator.ts │ │ ├── insertSorted.ts │ │ ├── logger.ts │ │ └── processor.ts │ ├── renderer │ │ ├── FastSleep.ts │ │ ├── conversion.ts │ │ ├── message.ts │ │ ├── renderAudio.ts │ │ └── rendererWorker.ts │ ├── soundfont │ │ ├── getInstrumentZones.ts │ │ ├── getPresetZones.ts │ │ └── loader.ts │ └── types.ts └── tsconfig.json └── package.json /.github/workflows/node.js.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryohey/wavelet/HEAD/.github/workflows/node.js.yml -------------------------------------------------------------------------------- /.github/workflows/npm-publish.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryohey/wavelet/HEAD/.github/workflows/npm-publish.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryohey/wavelet/HEAD/.gitignore -------------------------------------------------------------------------------- /.prettierrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "semi": false 3 | } 4 | -------------------------------------------------------------------------------- /.vscode/settings.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryohey/wavelet/HEAD/.vscode/settings.json -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryohey/wavelet/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryohey/wavelet/HEAD/README.md -------------------------------------------------------------------------------- /example/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryohey/wavelet/HEAD/example/.gitignore -------------------------------------------------------------------------------- /example/cert/localhost+1-key.pem: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryohey/wavelet/HEAD/example/cert/localhost+1-key.pem -------------------------------------------------------------------------------- /example/cert/localhost+1.pem: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryohey/wavelet/HEAD/example/cert/localhost+1.pem -------------------------------------------------------------------------------- /example/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryohey/wavelet/HEAD/example/package.json -------------------------------------------------------------------------------- /example/public/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryohey/wavelet/HEAD/example/public/index.html -------------------------------------------------------------------------------- /example/public/midi/example.mid: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryohey/wavelet/HEAD/example/public/midi/example.mid -------------------------------------------------------------------------------- /example/public/midi/song.mid: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryohey/wavelet/HEAD/example/public/midi/song.mid -------------------------------------------------------------------------------- /example/rollup.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryohey/wavelet/HEAD/example/rollup.config.js -------------------------------------------------------------------------------- /example/src/EventScheduler.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryohey/wavelet/HEAD/example/src/EventScheduler.ts -------------------------------------------------------------------------------- /example/src/MIDIPlayer.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryohey/wavelet/HEAD/example/src/MIDIPlayer.ts -------------------------------------------------------------------------------- /example/src/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryohey/wavelet/HEAD/example/src/index.ts -------------------------------------------------------------------------------- /example/src/midiToSynthEvents.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryohey/wavelet/HEAD/example/src/midiToSynthEvents.ts -------------------------------------------------------------------------------- /example/tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryohey/wavelet/HEAD/example/tsconfig.json -------------------------------------------------------------------------------- /lib/jest.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryohey/wavelet/HEAD/lib/jest.config.js -------------------------------------------------------------------------------- /lib/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryohey/wavelet/HEAD/lib/package.json -------------------------------------------------------------------------------- /lib/rollup.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryohey/wavelet/HEAD/lib/rollup.config.js -------------------------------------------------------------------------------- /lib/src/@types/string-to-arraybuffer.d.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryohey/wavelet/HEAD/lib/src/@types/string-to-arraybuffer.d.ts -------------------------------------------------------------------------------- /lib/src/@types/webaudioapi.d.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryohey/wavelet/HEAD/lib/src/@types/webaudioapi.d.ts -------------------------------------------------------------------------------- /lib/src/SynthEvent.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryohey/wavelet/HEAD/lib/src/SynthEvent.ts -------------------------------------------------------------------------------- /lib/src/helper/math.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryohey/wavelet/HEAD/lib/src/helper/math.ts -------------------------------------------------------------------------------- /lib/src/index.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryohey/wavelet/HEAD/lib/src/index.test.ts -------------------------------------------------------------------------------- /lib/src/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryohey/wavelet/HEAD/lib/src/index.ts -------------------------------------------------------------------------------- /lib/src/processor/AmplitudeEnvelope.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryohey/wavelet/HEAD/lib/src/processor/AmplitudeEnvelope.ts -------------------------------------------------------------------------------- /lib/src/processor/LFO.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryohey/wavelet/HEAD/lib/src/processor/LFO.ts -------------------------------------------------------------------------------- /lib/src/processor/SampleTable.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryohey/wavelet/HEAD/lib/src/processor/SampleTable.ts -------------------------------------------------------------------------------- /lib/src/processor/SynthEventHandler.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryohey/wavelet/HEAD/lib/src/processor/SynthEventHandler.ts -------------------------------------------------------------------------------- /lib/src/processor/SynthEventScheduler.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryohey/wavelet/HEAD/lib/src/processor/SynthEventScheduler.test.ts -------------------------------------------------------------------------------- /lib/src/processor/SynthEventScheduler.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryohey/wavelet/HEAD/lib/src/processor/SynthEventScheduler.ts -------------------------------------------------------------------------------- /lib/src/processor/SynthProcessor.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryohey/wavelet/HEAD/lib/src/processor/SynthProcessor.ts -------------------------------------------------------------------------------- /lib/src/processor/SynthProcessorCore.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryohey/wavelet/HEAD/lib/src/processor/SynthProcessorCore.ts -------------------------------------------------------------------------------- /lib/src/processor/WavetableOscillator.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryohey/wavelet/HEAD/lib/src/processor/WavetableOscillator.ts -------------------------------------------------------------------------------- /lib/src/processor/insertSorted.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryohey/wavelet/HEAD/lib/src/processor/insertSorted.ts -------------------------------------------------------------------------------- /lib/src/processor/logger.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryohey/wavelet/HEAD/lib/src/processor/logger.ts -------------------------------------------------------------------------------- /lib/src/processor/processor.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryohey/wavelet/HEAD/lib/src/processor/processor.ts -------------------------------------------------------------------------------- /lib/src/renderer/FastSleep.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryohey/wavelet/HEAD/lib/src/renderer/FastSleep.ts -------------------------------------------------------------------------------- /lib/src/renderer/conversion.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryohey/wavelet/HEAD/lib/src/renderer/conversion.ts -------------------------------------------------------------------------------- /lib/src/renderer/message.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryohey/wavelet/HEAD/lib/src/renderer/message.ts -------------------------------------------------------------------------------- /lib/src/renderer/renderAudio.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryohey/wavelet/HEAD/lib/src/renderer/renderAudio.ts -------------------------------------------------------------------------------- /lib/src/renderer/rendererWorker.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryohey/wavelet/HEAD/lib/src/renderer/rendererWorker.ts -------------------------------------------------------------------------------- /lib/src/soundfont/getInstrumentZones.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryohey/wavelet/HEAD/lib/src/soundfont/getInstrumentZones.ts -------------------------------------------------------------------------------- /lib/src/soundfont/getPresetZones.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryohey/wavelet/HEAD/lib/src/soundfont/getPresetZones.ts -------------------------------------------------------------------------------- /lib/src/soundfont/loader.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryohey/wavelet/HEAD/lib/src/soundfont/loader.ts -------------------------------------------------------------------------------- /lib/src/types.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryohey/wavelet/HEAD/lib/src/types.ts -------------------------------------------------------------------------------- /lib/tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryohey/wavelet/HEAD/lib/tsconfig.json -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ryohey/wavelet/HEAD/package.json --------------------------------------------------------------------------------