Skip to content

feat: Migrate to Nx monorepo, refactor to TypeScript, and add audio-worklet integration#37

Merged
cutterbl merged 7 commits intomasterfrom
feat/nxAndTypescript
Mar 9, 2026
Merged

feat: Migrate to Nx monorepo, refactor to TypeScript, and add audio-worklet integration#37
cutterbl merged 7 commits intomasterfrom
feat/nxAndTypescript

Conversation

@cutterbl
Copy link
Copy Markdown
Owner

@cutterbl cutterbl commented Mar 9, 2026

BREAKING CHANGE:

  • Convert legacy soundtouchjs repo to Nx monorepo structure
  • Rename package from soundtouchjs to @soundtouchjs/core (ESM only)
  • Refactor all source code to strict TypeScript, ES2024, and ESNext modules
  • Remove all CommonJS and legacy build artifacts

Features and improvements:

  • Add @soundtouchjs/audio-worklet package with AudioWorkletProcessor and SoundTouchNode
  • Implement AudioParam-based control for pitch, tempo, rate, pitchSemitones, and playbackRate
  • Processor auto-compensates pitch for playbackRate; key switching via pitchSemitones
  • Demo app rewritten with dual-mode (AudioBuffer and Audio Element), code snippet display, and UI improvements
  • Update documentation for new API, key switching, and usage patterns
  • Update and expand unit tests for new features
  • Update root README and package READMEs for v0.4.0 release

cutterbl added 7 commits March 6, 2026 15:08
BREAKING CHANGE:
This refactors SoundtouchJS to Typescript, exporting
the same bits and necessary types. This also changes
the package name to `@soundtouchjs/core`.
…oWorklet

- Add @soundtouchjs/audio-worklet package with SoundTouchNode and bundled processor
- AudioParam-based parameter control (pitch, tempo, rate, pitchSemitones)
- Pre-bundled processor file with @soundtouchjs/core inlined (~23 KB)
- Update demo app with dual-mode support (AudioBuffer and Audio Element)
- Drive tempo via source playbackRate, SoundTouch handles pitch correction
- Add publishConfig for public npm access on both scoped packages
- Split CI pipeline: test on PR, release on push to master
- Skip release job on version bump commits
- Add README files for both published packages
- Update root README for monorepo structure
@cutterbl cutterbl merged commit 55eab3c into master Mar 9, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant