Skip to main content

Collection of utilities in the department of communications engineering of the UPB

Project description

Paderbox: A collection of utilities for audio / speech processing

Build Status

Azure DevOps tests

Azure DevOps coverage

MIT License

This repository started in late 2014 as an internal development repository for the Communications Engineering Group at Paderborn University, Germany.

Over the years it emerged to a collection of IO helper, feature extraction modules and numerous smaller tools adding functionality to Numpy, Pandas, and others.

The main purpose here is to limit code duplication across our other public repositories.

We ensured that most functions/ classes contain Python Docstrings such that automatic tooltips for most functions are supported.

It was deliberately decided against a lengthy documentation: most emphasis is put on the Python Docstrings and code readability itself.

Examples

Without going through all functions, we here select two examples which demonstrate why we rely on this very implementation.

Short-time Fourier transform

The Short-time Fourier transform (STFT) is a widely used feature extraction method when dealing with time series such as audio/ speech.

Most repositories, including Deep Learning frameworks such as TensorFlow, provide an STFT implementation.

However, it is rarely seen, that these implementations allow an exact reconstruction when applying the STFT followed by an inverse STFT.

Two important issues often overseen are:

  • How do I need to calculate the biorthogonal reconstruction window when using any STFT window function?

  • How much padding depeding on STFT window length, DFT length, and shift is needed to compensate for fade-in, fade-out, and uneven signal length?

Our STFT implementation addresses aforementioned issues, can operate on any number of independent dimensions and is already battle tested in our publications on audio/ speech since 2015.

Numerous STFT tests ensure that the code remains stable and in particular test for the aforementioned problems.

Fast access to the IPython audio player

The function paderbox.play.play() is a somewhat elaborated wrapper around IPython.display.Audio.

A single function allows to play audio from the waveform, from the STFT signal, and from file.

It therefore serves as a great tool within Jupyter Notebooks and helps for quick inspection of simulation results.

Installation

Install it from PyPI with pip

pip install paderbox[all]

The [all] flag is optional and indicates to install all dependencies.

Remove it, when you want to have the minimal dependencies.

Alternatively, you can clone this repository and install it as follows

git clone https://github.com/fgnt/paderbox.git

cd paderbox

pip install --editable .[all]

How to cite?

There is no clear way how to cite this repository for research.

However, we would be grateful for direct imports from this repository if you use, e.g., the STFT.

We are also fine when you copy the code as long as it remains visible where you copied the code from.

If you use one of our other repositories relying on this work we would be thankful if you respect citation hints for that repository.

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

paderbox-0.0.5.tar.gz (196.8 kB view details)

Uploaded Source

Built Distributions

paderbox-0.0.5-cp39-cp39-win_amd64.whl (201.6 kB view details)

Uploaded CPython 3.9 Windows x86-64

paderbox-0.0.5-cp39-cp39-win32.whl (198.8 kB view details)

Uploaded CPython 3.9 Windows x86

paderbox-0.0.5-cp38-cp38-win_amd64.whl (201.5 kB view details)

Uploaded CPython 3.8 Windows x86-64

paderbox-0.0.5-cp38-cp38-win32.whl (198.9 kB view details)

Uploaded CPython 3.8 Windows x86

paderbox-0.0.5-cp37-cp37m-win_amd64.whl (201.3 kB view details)

Uploaded CPython 3.7m Windows x86-64

paderbox-0.0.5-cp37-cp37m-win32.whl (198.5 kB view details)

Uploaded CPython 3.7m Windows x86

paderbox-0.0.5-cp36-cp36m-win_amd64.whl (204.2 kB view details)

Uploaded CPython 3.6m Windows x86-64

paderbox-0.0.5-cp36-cp36m-win32.whl (200.4 kB view details)

Uploaded CPython 3.6m Windows x86

File details

Details for the file paderbox-0.0.5.tar.gz.

File metadata

  • Download URL: paderbox-0.0.5.tar.gz
  • Upload date:
  • Size: 196.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.0 CPython/3.8.5

File hashes

Hashes for paderbox-0.0.5.tar.gz
Algorithm Hash digest
SHA256 3f33a9161e201b929d6f06559f13a5e2ab54fe3bbe6d10109f18c6603f845e8d
MD5 0c34cba3539a55da0931f7008b610a89
BLAKE2b-256 62707b04b287a3575dc9fa3557a10f0acdea9538c41d3c8d8a8ede6d84215ace

See more details on using hashes here.

File details

Details for the file paderbox-0.0.5-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: paderbox-0.0.5-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 201.6 kB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.0 CPython/3.8.5

File hashes

Hashes for paderbox-0.0.5-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 21afc5f22114f1373ffd186c9207e9b06ed38b36ac7136aacfcc5bd58951181d
MD5 a6cb6bce7103afab7b49a3783dce3d67
BLAKE2b-256 92630e5c1c57a3476e5ef889aadd4d3aea721efe88eb70d549efb9c3ad297172

See more details on using hashes here.

File details

Details for the file paderbox-0.0.5-cp39-cp39-win32.whl.

File metadata

  • Download URL: paderbox-0.0.5-cp39-cp39-win32.whl
  • Upload date:
  • Size: 198.8 kB
  • Tags: CPython 3.9, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.0 CPython/3.8.5

File hashes

Hashes for paderbox-0.0.5-cp39-cp39-win32.whl
Algorithm Hash digest
SHA256 602b65061a90bea5d375706a1855662ae2a0e08048f670dc78a1df9fba1f07f6
MD5 3d57adebba8c96d717d8c19b993a0ba6
BLAKE2b-256 29b17bdd2ce3762304cfae898fd1ba858dc24ccce165c4a501cc654f49e9b9c6

See more details on using hashes here.

File details

Details for the file paderbox-0.0.5-cp38-cp38-win_amd64.whl.

File metadata

  • Download URL: paderbox-0.0.5-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 201.5 kB
  • Tags: CPython 3.8, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.0 CPython/3.8.5

File hashes

Hashes for paderbox-0.0.5-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 0d09ce48e6ebd33d64aa839c6060e40a22aa85c8b8aa512025506cc46cf5b684
MD5 dbacc7867f36ced7e4ae48956cd4590b
BLAKE2b-256 0a09f113cbb38c2b30c9cf81d1f42855868769de1bd69d9642a297d5fe90b585

See more details on using hashes here.

File details

Details for the file paderbox-0.0.5-cp38-cp38-win32.whl.

File metadata

  • Download URL: paderbox-0.0.5-cp38-cp38-win32.whl
  • Upload date:
  • Size: 198.9 kB
  • Tags: CPython 3.8, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.0 CPython/3.8.5

File hashes

Hashes for paderbox-0.0.5-cp38-cp38-win32.whl
Algorithm Hash digest
SHA256 96c5b309592a804e1a681e5f473f378d67ef1e1d9a798696490f9a2dd284ee7f
MD5 94276e1dbad5ce6de289afae6318f836
BLAKE2b-256 f4de22e37118b6b3a1c4c033f9c0199dcb078f43a9d3839af24e2d7efd88d586

See more details on using hashes here.

File details

Details for the file paderbox-0.0.5-cp37-cp37m-win_amd64.whl.

File metadata

  • Download URL: paderbox-0.0.5-cp37-cp37m-win_amd64.whl
  • Upload date:
  • Size: 201.3 kB
  • Tags: CPython 3.7m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.0 CPython/3.8.5

File hashes

Hashes for paderbox-0.0.5-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 ea3c4e1e690de51d861ae542ca6b2ce7f644425510ab57d868f90846d55ecf23
MD5 661e0ca2ce3ce2282de986d7568fbf74
BLAKE2b-256 aa7ef02f257db95e28ad66642866ef073a784ce8ad1986ad278f1babb5d931cb

See more details on using hashes here.

File details

Details for the file paderbox-0.0.5-cp37-cp37m-win32.whl.

File metadata

  • Download URL: paderbox-0.0.5-cp37-cp37m-win32.whl
  • Upload date:
  • Size: 198.5 kB
  • Tags: CPython 3.7m, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.0 CPython/3.8.5

File hashes

Hashes for paderbox-0.0.5-cp37-cp37m-win32.whl
Algorithm Hash digest
SHA256 92c1a7650cfee74ee1bf071ba77e438e4f10f62194f39f728b426e0eca0b115f
MD5 399ce51538475d6e58f71a606277e30a
BLAKE2b-256 a98a2e29d460a0a7d81cc33e6f1c495121709b4d9060273ff20086bd6d06150d

See more details on using hashes here.

File details

Details for the file paderbox-0.0.5-cp36-cp36m-win_amd64.whl.

File metadata

  • Download URL: paderbox-0.0.5-cp36-cp36m-win_amd64.whl
  • Upload date:
  • Size: 204.2 kB
  • Tags: CPython 3.6m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.0 CPython/3.8.5

File hashes

Hashes for paderbox-0.0.5-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 491ac9a61de8d2a5056cc7d61b802d823e5fdbbed5b7b2ecba2ede94843140ce
MD5 2be97fe800c007fd864028e53c92a75d
BLAKE2b-256 6785f6efb2950f89df3ea80fd5fe456a22e3d330fdc7f8cb1da692d5845fb4bf

See more details on using hashes here.

File details

Details for the file paderbox-0.0.5-cp36-cp36m-win32.whl.

File metadata

  • Download URL: paderbox-0.0.5-cp36-cp36m-win32.whl
  • Upload date:
  • Size: 200.4 kB
  • Tags: CPython 3.6m, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.0 CPython/3.8.5

File hashes

Hashes for paderbox-0.0.5-cp36-cp36m-win32.whl
Algorithm Hash digest
SHA256 e58440285a21ecc8f2eb9c6c2008711feafe35db78a703611b84d98c74ddd386
MD5 026d3fe969d7646459b55052fd112579
BLAKE2b-256 1eb457fd377c82285c0382e5f1e448a56c8a96f7fdd5fe14c8edd85804a16e67

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