Skip to main content

Fast reading of all kind of audio files

Project description

Test status code coverage audiofile's documentation audiofile's supported Python versions audiofile's MIT license

The Python package audiofile handles all kind of audio files with a focus on reading speed.

It can read and request information on channels, duration, number of samples and sampling rate for all files that are supported by ffmpeg, sox, and mediainfo. In addition, it can write WAV, FLAC, and OGG files.

Have a look at the installation and usage instructions as a starting point.

Code example for reading a file:

import audiofile

signal, sampling_rate = audiofile.read('signal.wav')

Under the hood it uses soundfile to read the audio files, converting non-supported formats first to WAV files. The same approach is applied when requesting duration for formats that need to be decoded to ensure that duration and number of samples match.

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.0.0 (2021-08-05)

  • Added: support for Python 3.9

  • Added: tests for Windows

  • Added: tests for macOS

  • Added: sloppy argument to audiofile.duration() for faster processing of non SND formats

  • Changed: audiofile.write() raises RuntimeError instead of SystemExit

  • Changed: added sloppy=True results when accessing metadata of MP3 and MP4 files in the benchmarks

  • Removed: deprecated precision argument from audiofile.write()

Version 0.4.3 (2021-07-30)

  • Fixed: make dtype keyword argument available in audiofile.read()

Version 0.4.2 (2021-04-26)

  • Fixed: allow for duration=0.0 in audiofile.read()

Version 0.4.1 (2020-12-17)

  • Added: bit_depth to usage section of documentation

  • Fixed: handling of file names that include ~ or ..

    by using audeer.safe_path

Version 0.4.0 (2020-11-26)

  • Added audiofile.bit_depth() which returns bit depth of WAV and FLAC files

  • Added: bit_depth argument to audiofile.write()

  • Deprecated: precision argument of audiofile.write(), use bit_depth instead

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.core structure under the hood

  • Changed: 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: CHANGELOG format for PyPI server

Version 0.2.3 (2020-08-31)

  • Fixed: catch SoxiError in audiofile.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.py module

  • Fixed: 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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

audiofile-1.0.0.tar.gz (1.0 MB view details)

Uploaded Source

Built Distribution

audiofile-1.0.0-py3-none-any.whl (9.9 kB view details)

Uploaded Python 3

File details

Details for the file audiofile-1.0.0.tar.gz.

File metadata

  • Download URL: audiofile-1.0.0.tar.gz
  • Upload date:
  • Size: 1.0 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.6.3 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.0 CPython/3.9.6

File hashes

Hashes for audiofile-1.0.0.tar.gz
Algorithm Hash digest
SHA256 487020590318bf430e551f17549b5bd1d7adaa3576adba6f20d4eb8a17e02bf4
MD5 869c20b30a916ec8ee6ba322a08dc800
BLAKE2b-256 188fc6b63b700906b1761ac578920608ef8ad8d4f23cc4807f79ab89b41f1f79

See more details on using hashes here.

File details

Details for the file audiofile-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: audiofile-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 9.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.6.3 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.0 CPython/3.9.6

File hashes

Hashes for audiofile-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 6593989a56addf93668150eb2e1bb0242fa6dc85dab29d1ad42dbc9992775f8c
MD5 fb2039d3d355d8c9331d49eda543e862
BLAKE2b-256 75d9f27d400095ffb3e6d794262671762808d4b09469f0c48a1653a904d278c1

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page