Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

PySoundTool

PySoundTool is an experimental framework for exploring sound as well as machine learning in the context of sound.

Binder License PyPI pyversions

Documentation

For examples and to navigate the code, see the documentation.

About

Note: as is, PySoundTool is not yet a stable framework, meaning changes might periodically be made without extreme focus on backwards compatibility.

Those who might find this useful:

  • speech and sound enthusiasts
  • digital signal processing / mathematics / physics / acoustics enthusiasts
  • deep learning enthusiasts
  • researchers
  • linguists
  • psycholinguists

The main goal of PySoundTool is to provide the code and functionality with more context via visualization, research, and mathematics. Most of the resources used to build the functionality stems from publicly available research and datasets. (For a list of open datasets, see my ever growing collection.)

As it covers quite a large range, from audio file conversion to implementation of trained neural networks, the purpose of PySoundTool is not to be the perfect implementation of all functions (although that is also a goal :P ), but rather a peak into how they can be implemented, hopefully offering others a foundation for trying out different ways of implementation (feature extraction, building neural networks, etc.).

This project is still in the beginning stages and has a lot of room for growth, especially with contributers having a background / knowlege in data science, computer science, machine and deep learning, physics, acoustics, or dsp. Contributers from other backgrounds are also welcome! If you'd like PySoundTool to do something it doesn't, try making it or create an issue.

Installation

Clone this repository. Set the working directory where you clone this repository.

Start a virtual environment:

$ python3 -m venv env

or, to better control your python version:

$ virtualenv -p python3.6 env

Then activate the environment

$ source env/bin/activate
(env)..$

Then install necessary installations via pip:

(env)..$ pip install -r requirements.txt

Examples

You can explore example code via:

  • Binder (albeit limited as some packages - librosa, soundfile - cannot be loaded into online environments)
  • locally on your machine via Jupyter Notebook
  • examples in the documentation.

Binder

Click on the Binder badge at the top of this README (it might take a while to load) and venture into the folder binder_notebooks.

Locally via Jupyter Notebook:

Install and run jupyter notebook:

(env)..$ pip install notebook
(env)..$ jupyter notebook

Venture into the folder jupyter_notebooks and have a go!

Example datasets

If you would like to play around with various types of sound, check out my repo containing mini datasets of sound, ranging from speech to noise. They are very small so don't expect much as it comes to training neural networks. These example datasets are used in some of the documentation examples.

Testing

If you want to run the tests for PySoundTool, they currently use audiofiles available in the example datasets repo, mentioned above. Also, see tests_requirements.txt. The packages located there will need to be installed via:

(env)..$ pip install -r tests_requirements.txt

About the Author

I studied clinical linguistics for my master's which introduced me to the inspiring world of open source software, python programming, and the beauty of acoustics. My interests broadened from academic experimental design to the development of tools for identifiying speech irregularities and beyond. Through this I discovered a bit of a missing niche in the Python community: a high-level sound tool for filtering, analysis, and deep learning that also offers context to its functionality. You can read more about me and my projects on my blog.

The Beginnings of PySoundTool

This project stemmed from the Prototype Fund project NoIze which was presented at PyConDE / PyData Berlin in 2019. This fork broadens the application of the software from smart noise filtering to general sound analysis, filtering, visualization, preparation, etc. Therefore the name has been adapted to more general sound functionality.

Metadata

Release files for pysoundtool 0.1.0a1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pysoundtool 0.1.0a1
File Size Uploaded Provenance
pysoundtool-0.1.0a1.tar.gz 2.9 MB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for pysoundtool 0.1.0a1
File Interpreter ABI Platform
pysoundtool-0.1.0a1-py2.py3-none-any.whl Python 3, Python 2 none any Details

Total release size: 3.0 MB

Release files / pysoundtool-0.1.0a1.tar.gz

Download URL pysoundtool-0.1.0a1.tar.gz
Size 2.9 MB
Tags Source
SHA-256 checksum
How to use checksums
b419fecc30680ddd675d258698e5653bbc443dd504e840e7c8a3952f5e26e9a8
BLAKE2b-256 checksum
How to use checksums
9c0cc57ee43f6ab5d449e65fd2dba3d471d4a7d4020e59cfb0e3d03953991996
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.2.0 pkginfo/1.5.0.1 requests/2.23.0 setuptools/47.3.1 requests-toolbelt/0.9.1 tqdm/4.47.0 CPython/3.6.9

Release files / pysoundtool-0.1.0a1-py2.py3-none-any.whl

Download URL pysoundtool-0.1.0a1-py2.py3-none-any.whl
Size 110.7 kB
Tags Python 2 Python 3
SHA-256 checksum
How to use checksums
71f3ea777724539d8f9375feb0aeadc0e4181c6f2961013317a60f9895612842
BLAKE2b-256 checksum
How to use checksums
836e0aed67361ed89e5cc4f109ee2c80996564de885e2eaff49c4bfe29451fa6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.2.0 pkginfo/1.5.0.1 requests/2.23.0 setuptools/47.3.1 requests-toolbelt/0.9.1 tqdm/4.47.0 CPython/3.6.9

Security for pysoundtool 0.1.0a1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release
Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page