CLI: audio playback now using a newly developed Audio I/O package, which is based on 3 separate N-API addons (Windows, macOS and Linux). Each addon targets the native OS audio interface for the platform (MME for Windows, Core Audio for macOS and ALSA for Linux). Please report any audio playback issue you encounter! For example: no sound, distorted audio, crashes or other issues. It's likely they can be fixed relatively easily
CLI: new option --player to set audio player. Use --player=sox to switch back to the old player, if needed
Audio playback: when using the new player, now supports keyboard navigation with left arrow (1 second back), right arrow (1 second forward) and space bar (pause or resume)
DTW: now allows to set a relative window duration (calculated based on the total audio duration) by passing a percentage value like dtw.windowDuration=15%. On the API, this value should be passed as a string like '15%'
DTW: improve log messages
Synthesis: show total processing time
PCM format conversions: simplify operations for more efficient runtime
onnxruntime-node: updated to version 20.0.0
speex-resampler-wasm: updated to latest code and enable SIMD in Emscripten build. Improves sample rate conversion speed
rubberband-wasm: updated Rubberband to version 4.0.0
Fixes
Enable reading and writing files larger than 2 GiB
Workaround Node.js issue with dealing with Buffer objects larger than 4 GiB, by abandoning buffers and using Uint8Arrays instead
Fix minor issue with 24-bit sample conversion
Espeak: don't set voice if it is the same as the last voice set
CLI: better parsing union typed options
Fix some missing log messages
Behavioral changes:
Noise reduction (rnnoise and nsnet): resample denoised audio back to original sample rate
Source separation (mdx-net): resample output audio back to original sample rate
Denoising: use quality 0 when converting to the processing sample rate
API: now returns Uint8Arrays for audio buffers, instead of Node.js Buffer objects
Internal
Removed all internal usage of Node.js buffers, streams, and string processing methods, and replaced with portable JavaScript types and APIs like Uint8Array and TextEncoder/TextDecoder
Separated all file system operations to a dedicated module
All WASM packages now updated and recompiled to use ESM modules
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Bumps echogarden from 1.8.7 to 2.0.0.
Release notes
Sourced from echogarden's releases.
Commits
733467c
Update docs0a8c5ee
Increment version to 2.0.0. Update dependencies.043ed76
Update text encodings81b6d72
Update options schemab39c2dc
Updateonnxruntime-node
version in type9a11f48
Update audio-io method and type names51cf460
Rename variables6ee1297
Simplify PCM format conversionsc105286
Add new native audio player. Add audio navigation with the new player. Add CL...96407c8
AddPostprocess
log messageDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show