-
-
Notifications
You must be signed in to change notification settings - Fork 2
Open
Description
With nbswave already being shipped with major, consumer-oriented tools, such as NBSTool and even Note Block Studio itself, it would be wise to think about dropping the ZeroVer versioning scheme and aiming towards a 1.0 release.
This issue aims to compile some features that would be nice to work on before we reach API stability. Not all of them may strictly be present in 1.0.0, but this list should help prioritize the most important ones:
### Tasks
- [ ] #7
- [ ] Don't load all default instruments if they're not used
- [ ] Most of the logic in the `nbs` module is unnecessary and best fitted to [pynbs](https://github.com/OpenNBS/pynbs). Consider cleaning that up and moving things around
- [ ] Add CLI interface for converting songs
- [ ] Replace `print()` calls with proper logging
- [ ] Implement `mix_layers()` interface
- [ ] Implement looping and fade out parameters + song slicing
- [ ] Remove unused parameters from method signatures (such as `bitrate`)
- [ ] Fix typing errors; convert typing syntax to Python 3.10+ (drop support to 3.8-3.9)
- [ ] Implement basic limiter as an option for avoiding clipping instead of normalizing the signal [[article]](https://signalsmith-audio.co.uk/writing/2022/limiter/) [[SO answer]](https://stackoverflow.com/a/376133/9045426)
- [ ] Explore using [Pedalboard](https://github.com/spotify/pedalboard) library for limiter + audio effects (maybe resampling and loading files too?)
- [ ] Work on better documentation on the internals
- [ ] Distribution does not include the vanilla note block sounds. Either include them in the distribution (make sure to include it as an external resource), add the option to download sounds from Mojang, and/or use the NBS default 'Sounds' folder install location as a sensible default (some groundwork has been done here: [Bentroen/MinecraftAssets](https://github.com/Bentroen/MinecraftAssets))
Metadata
Metadata
Assignees
Labels
No labels