feross / feross/timidity

Fork with AudioWorklet implementation

Open
#16 1 comment 2 reactions 0 assignees View on GitHub
Dominant language
Shell
Stars
403
Forks
44
PR merge metrics
No merged PRs in 30d

Description

Hi, I really like this library, and I have made an attempt to reuse a lot of its bits and create a version that uses [AudioWorkletProcessor](https://developer.mozilla.org/en-US/docs/Web/API/AudioWorkletProcessor/AudioWorkletProcessor) rather than the very deprecated ScriptProcessorNode. Can be found [here](https://github.com/miker2049/timidity).

I need to work on completely copying the api here, with the duration features and events, but it stays pretty close right now otherwise. Most of the original `index.js` is now bundled into a `registerProcessor` for the `AudioWorkletGlobalScope`, and a second interface class `MIDIPlayer` handles all the messy communication with the worklet, as well as instantiating itself from an async static builder.

Some improvements otherwise include dynamically loading the `timidity.cfg` file on building the instance, and simply requiring that the pat folders are found in the same place. Also, a built in build system with rollup is now included.

I am not sure there is PR interest/how active this library is, and this is a pretty big set of changes. But let me know! It is right now working pretty well.

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.