v0.8.0
OpenSoundscape 0.8.0 Release
This release represent a substantial update to opensoundscape, containing new features, bug fixes, and breaking changes to some parts of the API.
New Features:
The notebook New in OpenSoundscape 0.8.0 summarizes many of the new features, with code examples. New features include:
- logging progress of model training and prediction to Weights and Biases
- writing mp3 files (thanks to soundfile 1.1.0)
- training CNNs on long audio files without splitting into clips
- updated Audio metadata reading and writing
- Audio classmethods
noise
andsilence
- Audio method
normalize
- top level imports of most used classes. Eg,
from opensoundscape import Audio, Spectrogram, CNN
- debug preprocessing by asking train() and predict() by passing
raise_errors=True
to raise instead of catch Preprocessing errors - option to keep all intermediate versions of preprocessed sample with
preprocessor.forward(...,trace=True)
- new augmentations in
actions
module: audio_random_gain and audio_add_noise - added support for EfficientNet architecture
- new Audio object properties for
.rms
and.dBFS
Breaking changes:
- Audio.duration is now a property (use
.duration
not.duration()
), as are several Spectrogram attributes that were previously methods - CNN.predict() now only returns one argument, the dataframe of scores. Optionally, return a second argument with invalid samples list. Use
predict_multi_target_labels
orpredict_single_target_labels
from themetrics
module to generate 0/1 outputs from continuous scores. - a few arguments to functions have changed names and order
Merged Pull Requests
- update docs to clarify loading old models by @sammlapp in #572
- update docs to clarify loading old models by @sammlapp in #571
- Handles file with zero annotations by @jatinkhilnani in #593
- Updated
BoxedAnnotations
docstring by @jatinkhilnani in #594 - Minor documentation updates by @sammlapp in #608
- resolves #591 by @sammlapp in #612
- Adds Python 3.9 version to CI and a macos runner. by @louisfh in #595
- #552 Standardize references to 'model' object by @louisfh in #587
- fixes #558 with named args for Spectrogram methods by @louisfh in #585
- Support writing mp3 (soundfile 0.11) by @sammlapp in #613
- resolves #614 - avoid bug in load channels of mono by @sammlapp in #616
- Add WandB logging and Support training on a dataframe of clip labels by @sammlapp in #609
- log top-scoring samples to wandb (resolves #575) by @sammlapp in #619
- Feat 478 efficientnet and refactor cnn_architectures by @sammlapp in #620
- Bump dependencies by @sammlapp in #621
- Feat 569 audio by @sammlapp in #622
- Resolves #563 mps logit not implemented by @sammlapp in #626
- Add mix and concat by @sammlapp in #623
- explicit arguments for scipy.spectrogram by @sammlapp in #627
- use explicit arguments for softmax() by @sammlapp in #629
- add json comment-string metadata support by @sammlapp in #632
- Issue561 - Flat Module Structure in Docs by @syunkova in #638
- add audio_random_gain in actions by @sammlapp in #637
- modify predict to only return score df by @sammlapp in #628
- Audio add noise augmentation by @sammlapp in #639
- Issue 617 clipdf by @sammlapp in #631
- Issue 636 one output node for single-class classification by @sammlapp in #641
- Change default args from lists to tuple by @sammlapp in #644
- Issue543_v2: Use_pretrained is deprecated by @syunkova in #645
- Fixed - preprocess - actions by @jatinkhilnani in #570
- Issue 562 preprocessing raise errors by @louisfh in #646
- Issue_510_annotations by @sammlapp in #647
- Debug/trace feature by @jatinkhilnani in #596
- version 0.8.0 release by @sammlapp in #648
Full Changelog: v0.7.1...v0.8.0