Changelog¶
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
Version 1.1.0 (2026-07-24)¶
Fixed: use strict index hash for caching augmentations. Before, the same cache was used for indices that only differed in their order, and the returned results could be in an incorrect order. This means that caches that were created with an older version will not be reused with this version.
Version 1.0.5 (2026-05-21)¶
Added: support for Python 3.12
Added: support for Python 3.13
Added: support for Python 3.14
Changed: require
audformat>=1.4.2Changed: require
audinterface>=1.3.2Changed: exclude
tests/anddocs/folders from the Python packageFixed: support
pandas>=3.0Removed: support for Python 3.9
Version 1.0.4 (2024-07-08)¶
Fixed: preserve order of segments in index after augmentation with
auglib.Augment.augment()Fixed: ensure transforms work with signals stored in a read-only
numpy.arrayFixed: return correct float types with
numpy>=2.0
Version 1.0.3 (2024-05-14)¶
Fixed: broken links on the landing page of the documentation
Version 1.0.2 (2024-01-30)¶
Fixed:
auglib.transform.PinkNoisewhen applied to signals with odd sample length
Version 1.0.1 (2024-01-26)¶
Fixed: missing audio examples in documentation
Fixed: add missing entries to the changelog of 1.0.0
Version 1.0.0 (2024-01-26)¶
Added: public release
Added: support for MacOS
Added: support for Windows
Added: audio examples and figures to the docstrings of all transforms
Added: depend on
scipyAdded:
sampling_rateas argument to__call__()of transforms that require a sampling rateAdded: support for Python 3.9, 3.10 and 3.11
Added:
auglib.utils.rms_db()Changed:
auglib.Augment.augment()now stores augmented segments as single files in cacheChanged:
auglib.Augment.augment()now usesallow_nat=Truewhen calculating the hash of an index, which is used to store/find augmented files in cacheChanged: depend on
audeer>=2.0.0Changed: convert code base to pure Python
Changed: switch to MIT License
Fixed: support overlapping segments
Fixed: ensure the
durationargument ofauglib.transform.AppendValueandauglib.transform.PrependValueis first observed when calling the transformRemoved:
sounddevicedependencyRemoved:
auglib.AudioBufferRemoved:
auglib.set_exception_handling()
Version 0.12.2 (2023-07-31)¶
Fixed: changes to the correction of
startandendinauglib.Augment.augment()as introduced inauglibv0.12.1
Version 0.12.1 (2023-07-27)¶
Changed: require
audmath >=1.3.0Changed: require
audinterface >=1.0.4Changed: use
audmath.samples()to convert from duration to samplesFixed: add missing “Returns” section to documentation of
auglib.AudioBuffer.from_array()
Version 0.12.0 (2023-04-12)¶
Added:
auglib.transform.FadeChanged: use version 2.0.3 of the
auglibC++ libraryChanged: split API documentation into sub-pages for each function/class
Changed: if
loop_auxisTrueinauglib.transform.Mixtheauxbuffer is now first looped beforeread_pos_auxandread_dur_auxare appliedFixed:
gain_base_dbinauglib.transform.Mixwas not applied to all samples of thebasebuffer starting at the length of theauxbuffer and ending atread_dur_aux
Version 0.11.2 (2022-12-08)¶
Changed: require
audobject >=0.7.6Fixed: missing
unitattribute inauglib.transform.BabbleNoise
Version 0.11.1 (2022-10-17)¶
Fixed:
preserve_levelargument was missing forauglib.transform.BabbleNoiseandauglib.transform.PrependValue
Version 0.11.0 (2022-10-13)¶
Added:
auglib.transform.BabbleNoiseAdded:
auglib.transform.PrependAdded:
auglib.transform.PrependValueAdded:
auglib.transform.ResampleAdded:
auglib.transform.ShiftAdded:
snr_dbargument toauglib.transform.Mixauglib.transform.PinkNoise,auglib.transform.Tone,auglib.transform.WhiteNoiseGaussian,auglib.transform.WhiteNoiseUniformto specify the signal-to-noise ratio between the incoming and added signalAdded:
end_posandfill_postoauglib.transform.Trimto allow any kind of cropping, zero padding, and signal repetitionAdded:
preserve_levelargument to all transforms. IfTrueit ensures that the transformed signal has the same root-mean-square value as the incoming signalAdded:
auglib.AudioBuffer.rms()andauglib.AudioBuffer.rms_db()Added:
sampling_rateargument toauglib.AudioBuffer.write()Added: Noise with fixed SNR example in the documentation
Added: Band-Pass Filtered Noise example in the documentation
Changed: allow a transform object as input for the
auxargument in transforms that have this argumentChanged:
auglib.transform.Trimno longer supports providing astart_posthat is larger than the buffer lengthChanged:
auglib.transform.Trimwith argumentfill="loop"no longer loops the whole input signal, but only the trimmed version specified bystart_posand/orend_pos. For cycling through a signal useauglib.transform.ShiftinsteadChanged: raise
ValueErrorifsampling_rateargument is not greater than zero or not an integerChanged: serializing a transform that contains a buffer as
auxargument will raise aValueErrorChanged: when applied to an input signal
auglib.transform.Functionraises aRuntimeErrorif it would result in an empty augmented signalChanged: depend on
audformat>=0.15.2Fixed:
read_dur_auxinauglib.transform.Appenddoes now allow to beNone
Version 0.10.5 (2022-06-15)¶
Added: pitch shift example
Added: constant pitch examples
Fixed: correct examples for
pedalboard>=0.4.0
Version 0.10.4 (2022-01-26)¶
Changed: depend on
audformat>=0.13.0Fixed: do not sort augmented index
Version 0.10.3 (2022-01-21)¶
Fixed: Ci job for Python package publication
Version 0.10.2 (2022-01-21)¶
Changed: use
audinterface>=0.8.0
Version 0.10.1 (2021-12-30)¶
Changed: use Python 3.8 as default Python version
Version 0.10.0 (2021-11-17)¶
Changed:
Augment.augment()caches augmented indexFixed:
Augment.augment()supports transforms that change the segment lengthFixed:
Augment.augment()supports index with relative file names
Version 0.9.0 (2021-10-25)¶
Added:
auglib.transform.FunctionAdded: Examples section to Getting Started part of the documentation
Added: External Solutions section to Getting Started part of the documentation
Added:
auglib.observe.BaseAdded:
auglib.observe.BoolAdded:
auglib.observe.FloatNormAdded:
auglib.observe.FloatUniAdded:
auglib.observe.IntUniAdded:
auglib.observe.ListAdded:
auglib.observe.observeAdded:
num_repeatargument toauglib.transform.MixAdded:
auglib.seed()Added:
auglib.transform.BaseAdded:
auglib.TimeAdded:
fillargument toauglib.transform.TrimAdded:
auglib.transform.MaskAdded:
seedargument toauglib.AugmentAdded: documentation on how to implement a transform under
auglib.transformAdded: documentation on how to implement an observable under
auglib.observeAdded:
auglib.AudioBuffer.durationAdded: multi-channel support for
auglib.AugmentChanged:
auglib.AudioBuffer.to_array()returns 2d arrayChanged: hide
AudioBuffer.dataandAudioBuffer.objChanged: make
sampling_ratea keyword argument inauglib.utils.to_samples()Changed: increase code coverage to 100%
Changed: use short ID for flavor folders in cache
Deprecated:
auglib.IntDeprecated:
auglib.IntListDeprecated:
auglib.FloatDeprecated:
auglib.FloatListDeprecated:
auglib.NumberDeprecated:
auglib.StrDeprecated:
auglib.StrListDeprecated:
auglib.NumpyTransformDeprecated:
auglib.utils.random_seed()Deprecated:
auglib.TransformDeprecated:
auglib.SourceDeprecated:
auglib.source.FromArrayDeprecated:
auglib.source.ReadDeprecated:
auglib.SinkDeprecated:
auglib.sink.PlayDeprecated:
auglib.sink.WriteDeprecated:
auglib.AudioBuffer.play()Removed:
scipydependencyRemoved:
humanfriendlydependencyRemoved:
auglib.transform.FilterDesignRemoved:
auglib.transform.ToneShapeRemoved:
auglib.ExceptionHandlingRemoved:
auglib.LibraryExceptionRemoved:
auglib.LibraryExceptionWarning
Version 0.8.4 (2021-08-04)¶
Changed. Updated underlying binary with latest auglib updates. Main change: ClipByRatio transform does not raise exceptions anymore when the computed threshold is too low.
Version 0.8.3 (2021-07-20)¶
Added: set cache root with
$AUGLIB_CACHE_ROOTChanged: switched from
audatatoaudformat
Version 0.8.2 (2020-12-04)¶
Added:
channelsandmixdownargument toauglib.AugmentChanged:
auglib.Augmentderives fromaudobject.ObjectFixed:
auglib.default_cache_root()usesauglib.Augment.id()Fixed: restore progress bar in all
auglib.Augment.process_*methods
Version 0.8.1 (2020-11-17)¶
Changed: avoid nested progress bar in
auglib.Augment.augment()
Version 0.8.0 (2020-10-29)¶
Added:
auglib.config,auglib.default_cache_root(),auglib.clear_default_cache_root()Changed:
cache_rootargument ofauglib.Augment.augment()defaults toauglib.default_cache_root()
Version 0.7.1 (2020-10-23)¶
Changed: remove outdated example from README
Fixed: remove unused
as_dbargument formauglib.FloatUni
Version 0.7.0 (2020-10-09)¶
Removed: previously deprecated
auglib.AudioModifieris now removed.
Version 0.6.3 (2020-10-09)¶
Changed: Now using the
audobjectpackage to serializeauglib.Transformobjects to YAML.Fixed: Safer guards against the usage of negative time values whenever
auglib.core.utils.to_samplesis called.Fixed: Potential bug when using
auglib.Transform.Trimwith adurationmember greater than the actual input buffer size.
Version 0.6.2 (2020-10-08)¶
Fixed: missing documentation for
auglib.Transform.Trim
Version 0.6.1 (2020-10-08)¶
Added:
auglib.Transform.Trim.Changed:
auglib.Transform.call()made private (changed intoauglib.Transform._call()).
Version 0.6.0 (2020-09-29)¶
Added:
auglib.AugmentChanged: use
audeerhelper functionsChanged: implement usage example with
jupyter-sphinxChanged: mark
auglib.AudioModifieras deprecatedRemoved: tests for
auglib.AudioModifier
Version 0.5.3 (2020-09-29)¶
Added: documentation on supported bit rates to
auglib.transform.AMRNBAdded: link to documentation to Python package
Version 0.5.2 (2020-08-31)¶
Added:
auglib.transform.AMRNB
Version 0.5.1 (2020-07-16)¶
Changed: Avoid automatically enabling the
force_overwriteoption inAudioModifier.apply_on_index. The user is now required to set this manually.
Version 0.5.0 (2020-04-24)¶
Added:
compressDynamicRange: option to restore original peak.
Version 0.4.3 (2020-04-14)¶
Fixed: Replace
utils.mk_dirswithaudeer.mkdir(improve thread-safety)
Version 0.4.1 (2020-04-09)¶
Added:
IntListandFloatListas companions toStrList.Fixed:
FloatNormnow provided with class members.
Version 0.4.0 (2020-03-04)¶
Added: transform
BandStop
Version 0.3.8 (2020-02-27)¶
Fixed:
FloatNormproperly draws from truncated distribution
Version 0.3.7 (2020-02-26)¶
Added: transform
CompressDynamicRangeChanged: remove support for Python 3.5
Changed: publish package in ci-job
Version 0.3.5 (2020-02-04)¶
Changed: allow random filter order
Version 0.3.4 (2020-01-16)¶
Changed: allow random filter order
Version 0.3.3 (2020-01-15)¶
Added:
BoolandBoolRandclassChanged: copyright years
Version 0.3.2 (2019-12-09)¶
Fixed: update release instructions to avoid obsolete files in wheel package
Version 0.3.1 (2019-12-09)¶
Changed: api documentation with toc-tree
Version 0.3.0 (2019-12-09)¶
Added:
AudioModifierinterfaceAdded:
relativeposition argumentChanged: re-structured package
Version 0.2.3 (2019-11-22)¶
Added: unit
relativeto randomize position relative to buffer lengthFixed:
read_pos_durbug in mix function
Version 0.2.2 (2019-11-14)¶
Added: handling of exceptions thrown by c library
Fixed:
read_pos_auxbug in mix function
Version 0.2.1 (2019-11-12)¶
Fixed: dependency to
libSoundTouch.so.1is properly resolved if called outside the root directory
Version 0.2.0 (2019-11-04)¶
Changed: implemented transforms as classes
Version 0.1.5 (2019-10-11)¶
Added:
libSoundTouchshared libraryFixed: high pass filter
Version 0.1.4 (2019-09-30)¶
Changed: rely on typehints in docstring
Version 0.1.3 (2019-09-26)¶
Added:
clip_by_ratio()Changed:
ToneconstructorChanged:
[low,high,band]_pass()argumentsChanged:
clip()arguments
Version 0.1.2 (2019-09-23)¶
Added: add icon
Version 0.1.1 (2019-09-23)¶
Added: advanced usage example
Added:
AudioBuffer.from_file()to read from an audio fileAdded:
AudioBuffer.to_file()to save buffer to a an audio fileChanged:
AudioBuffer.FromArray()toAudioBuffer.from_array()
Version 0.1.0 (2019-09-08)¶
Added: initial release