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.5.1 (2025-01-03)¶
Added: support for Python 3.13
Changed: when converting a non wav, flac, ogg, or mp3 file to wav, its sampling rate is first inspected and then enforced during conversion
Fixed: reading of opus files with their correct sampling rate
Removed: support for Python 3.8
Version 1.5.0 (2024-07-26)¶
Added:
audiofile.has_video(), which probes withmediainfoif a file contains video. ReturnsFalsewithout probing for WAV, FLAC, MP3, and OGG files
Version 1.4.0 (2024-01-30)¶
Added:
audiofile.write()can now create MP3 filesChanged:
audiofiledoes now usesoundfileto read MP3 files (2x speed increase), and to access metadata of MP3 files (up to 1000x speed increase)Changed: depend on
soundfile>=0.12.1Changed: updated benchmark pages in documentation to latest versions of tested libraries
Fixed: depend on
audmath>=1.3.0
Version 1.3.2 (2023-12-05)¶
Added: support for Python 3.12
Version 1.3.1 (2023-11-29)¶
Added:
pedalboardto the benchmark section of the documentationChanged: use Python 3.10 when benchmarking different libraries
Fixed: avoid deprecation warning by replacing
pkg_resourcesinternally withimportlib.metadataRemoved:
aubiofrom the benchmark section of the documentation
Version 1.3.0 (2023-07-12)¶
Changed: evenly round
offsetanddurationafter converting to samples inaudiofile.read()andaudiofile.convert_to_wav()for SND filesFix:
offsetanddurationnow behave the same independent of the incoming file format
Version 1.2.1 (2023-02-13)¶
Fixed: missing
pytestrequirement indocs/requirements.txt
Version 1.2.0 (2023-02-13)¶
Added:
normalizeargument toaudiofile.convert_to_wav()Added:
bit_depthargument toaudiofile.convert_to_wav()Added:
overwriteargument toaudiofile.convert_to_wav()Added: examples to the API documentation
Added: example how to use
audresample.resample()andaudresample.remix()in the API documentation ofaudiofile.read()Added: the arguments
durationandoffsetofaudiofile.read()andaudiofile.convert_to_wav()can be specified in different units or samples and most other formats supported byaudmath.duration_in_seconds()Added: the arguments
durationandoffsetofaudiofile.read()andaudiofile.convert_to_wav()support negative valuesChanged: if no output path is provided to
audiofile.convert_to_wav(), it is derived from the input path by replacing the file extension with'wav'Fixed: ensure
audiofile.convert_to_wav()creates identical result as callingaudiofile.read()followed byaudiofile.write()Fixed: support for non WAV, FLAC, OGG files like MKA or MP4 on Windows network shares
Version 1.1.1 (2022-12-22)¶
Added: support for Python 3.11
Added: support for Python 3.10
Changed: split API documentation into sub-pages for each function
Removed: dependency on
pysox
Version 1.1.0 (2022-04-14)¶
Changed: use
ffmpegormediainfoifsoxbinary is missing instead of raising an errorChanged: improve
FileNotFoundErrormessage whenffmpegormediainfoare required, but not installedFixed: always raise
RuntimeErrorfor broken files or missing filesFixed: mention expected
FileNotFoundErrorwhenffmpegormediainfoare required, but not installedFixed: use
soundfilefor converting WAV, FLAC, OGG files withaudiofile.convert_to_wav()
Version 1.0.3 (2022-01-03)¶
Removed: Python 3.6 support
Version 1.0.2 (2021-12-06)¶
Fixed: raise
RuntimeErrorfor broken or empty non SND files
Version 1.0.1 (2021-10-28)¶
Fixed:
audiofile.duration()returns now0.0for an empty WAV file with wrong file extension instead ofNone
Version 1.0.0 (2021-08-05)¶
Added: support for Python 3.9
Added: tests for Windows
Added: tests for macOS
Added:
sloppyargument toaudiofile.duration()for faster processing of non SND formatsChanged:
audiofile.write()raisesRuntimeErrorinstead ofSystemExitChanged: added
sloppy=Trueresults when accessing metadata of MP3 and MP4 files in the benchmarksRemoved: deprecated precision argument from
audiofile.write()
Version 0.4.3 (2021-07-30)¶
Fixed: make
dtypekeyword argument available inaudiofile.read()
Version 0.4.2 (2021-04-26)¶
Fixed: allow for
duration=0.0inaudiofile.read()
Version 0.4.1 (2020-12-17)¶
Added:
bit_depthto usage section of documentationFixed: handling of file names that include
~or..by usingaudeer.safe_path
Version 0.4.0 (2020-11-26)¶
Added
audiofile.bit_depth()which returns bit depth of WAV and FLAC filesAdded:
bit_depthargument toaudiofile.write()Deprecated:
precisionargument ofaudiofile.write(), usebit_depthinstead
Version 0.3.4 (2020-10-29)¶
Fixed: several typos in the documentation
Version 0.3.3 (2020-10-29)¶
Added: more tests to increase code coverage to 100%
Added: link to benchmark page in README
Changed: tests now require 100% code coverage
Version 0.3.2 (2020-10-29)¶
Added: benchmark results page in docs
Fixed: multi-line release changelogs on Github
Fixed: copy-button for bash examples
Version 0.3.1 (2020-10-27)¶
Fixed: missing dependencies for publishing documentation
Version 0.3.0 (2020-10-27)¶
Changed: use
audiofile.corestructure under the hoodChanged: use Github Actions for tests
Changed: use Github Actions for automatic publishing
Changed: host documentation as Github pages
Removed: support for Python 2.7
Version 0.2.4 (2020-08-31)¶
Fixed:
CHANGELOGformat for PyPI server
Version 0.2.3 (2020-08-31)¶
Fixed: catch
SoxiErrorinaudiofile.read()Fixed: test for more advanced audio files like OPUS, AMR, …
Version 0.2.2 (2019-10-04)¶
Changed: switch to keep a changelog format
Changed: define package in
setup.cfg
Version 0.2.1 (2019-05-02)¶
Fixed: module only package
Version 0.2.0 (2019-05-02)¶
Changed: improve documentation
Changed: switch to single
audiofile.pymoduleFixed: skip tests if download fails
Version 0.1.3 (2019-03-27)¶
Fixed: metadata samples and duration for MP3 files
Version 0.1.2 (2019-03-25)¶
Fixed: metadata for pypi.org
Version 0.1.1 (2019-03-25)¶
Fixed: license statement in PyPI package
Version 0.1.0 (2019-03-25)¶
Added: First public release