https://github.com/fgnt/paderbox

Paderbox: A collection of utilities for audio / speech processing

https://github.com/fgnt/paderbox

Science Score: 44.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Committers with academic emails
    15 of 37 committers (40.5%) from academic institutions
  • Institutional organization owner
    Organization fgnt has institutional domain (nt.uni-paderborn.de)
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (12.9%) to scientific vocabulary

Keywords

audio speech toolbox

Keywords from Contributors

dereverberation enhancement signal-processing asr der wer
Last synced: 4 months ago · JSON representation

Repository

Paderbox: A collection of utilities for audio / speech processing

Basic Info
Statistics
  • Stars: 41
  • Watchers: 10
  • Forks: 127
  • Open Issues: 6
  • Releases: 0
Topics
audio speech toolbox
Created about 6 years ago · Last pushed 7 months ago
Metadata Files
Readme License

README.md

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 bash 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 bash 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.

Owner

  • Name: Department of Communications Engineering University of Paderborn
  • Login: fgnt
  • Kind: organization
  • Location: Paderborn, Germany

GitHub Events

Total
  • Watch event: 2
  • Push event: 4
  • Pull request review event: 2
  • Pull request event: 6
Last Year
  • Watch event: 2
  • Push event: 4
  • Pull request review event: 2
  • Pull request event: 6

Committers

Last synced: 5 months ago

All Time
  • Total Commits: 2,477
  • Total Committers: 37
  • Avg Commits per committer: 66.946
  • Development Distribution Score (DDS): 0.706
Past Year
  • Commits: 14
  • Committers: 3
  • Avg Commits per committer: 4.667
  • Development Distribution Score (DDS): 0.357
Top Committers
Name Email Commits
Christoph Boeddeker c****j@m****e 729
Lukas Drude m****l@l****e 458
Jahn Heymann h****n@n****e 324
neumann t****n@m****e 190
Janek Ebbers e****s@n****e 168
jensheit h****r@n****e 153
mkuhlmann m****l@m****e 79
Thomas Glarner t****r@m****e 68
raphaelk r****k@m****e 50
Prerna Arora a****a@n****e 42
Oliver Walter w****r@n****e 34
Alexander Werning a****g@m****e 33
Wilhelm Kirchgaessner w****k@m****e 23
danielha d****r@g****e 16
Tobias Cord-Landwehr c****d@m****e 13
TCord 4****d@u****m 12
deegen m****n@m****e 11
fgnt contributor c****r@n****e 10
jensheit 3****t@u****m 10
Patrick Hanebrink p****e@m****e 8
Roman Spring r****g@m****e 7
Christoph Boeddeker b****r@u****m 6
Michael Kuhlmann k****n@n****e 6
Reinhold Haeb-Umbach h****b@n****e 4
TCord c****d@n****e 4
FrederikRautenberg 6****g@u****m 3
jflick j****k@m****e 3
Frederik Rautenberg r****g@n****e 2
Jakob Kienegger 1****r@u****m 2
mdeegen 8****n@u****m 2
and 7 more...

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 7
  • Total pull requests: 99
  • Average time to close issues: 8 days
  • Average time to close pull requests: 14 days
  • Total issue authors: 6
  • Total pull request authors: 15
  • Average comments per issue: 2.29
  • Average comments per pull request: 0.79
  • Merged pull requests: 90
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 0
  • Pull requests: 4
  • Average time to close issues: N/A
  • Average time to close pull requests: about 1 month
  • Issue authors: 0
  • Pull request authors: 2
  • Average comments per issue: 0
  • Average comments per pull request: 0.0
  • Merged pull requests: 4
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • boeddeker (2)
  • alexanderwerning (1)
  • vsoch (1)
  • fetdou (1)
  • mpariente (1)
  • miguelfs (1)
Pull Request Authors
  • boeddeker (37)
  • thequilo (26)
  • JanekEbb (9)
  • jensheit (8)
  • alexanderwerning (4)
  • jkienegger (4)
  • TCord (4)
  • mdeegen (3)
  • michael-kuhlmann (2)
  • FrederikRautenberg (2)
  • schmalen (2)
  • sibange (1)
  • tobvogel (1)
  • haeb (1)
Top Labels
Issue Labels
Pull Request Labels

Packages

  • Total packages: 1
  • Total downloads:
    • pypi 3,329 last-month
  • Total dependent packages: 0
  • Total dependent repositories: 2
  • Total versions: 8
  • Total maintainers: 3
pypi.org: paderbox

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

  • Versions: 8
  • Dependent Packages: 0
  • Dependent Repositories: 2
  • Downloads: 3,329 Last month
Rankings
Forks count: 4.3%
Dependent packages count: 10.1%
Stargazers count: 10.8%
Dependent repos count: 11.5%
Average: 11.6%
Downloads: 21.4%
Maintainers (3)
Last synced: 5 months ago

Dependencies

.github/workflows/tests.yml actions
  • actions/checkout v2 composite
  • actions/setup-python v2 composite
.github/workflows/tests_windows.yml actions
  • actions/checkout v2 composite
  • actions/setup-python v2 composite
.github/workflows/wheels_windows.yml actions
  • actions/checkout v2 composite
  • actions/setup-python v2 composite
  • actions/upload-artifact v2 composite
setup.py pypi
  • cached_property *
  • dataclasses *
  • numpy *
  • python-magic *
  • scipy *
  • soundfile *