Package: pysoundtool
PySoundToolPySoundTool is an experimental framework for exploring sound as well as machine learning in the context of sound.DocumentationFor examples and to navigate the code, see thedocumentation.AboutNote: 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 enthusiastsdigital signal processing / mathematics / physics / acoustics enthusiastsdeep learning enthusiastsresearcherslinguistspsycholinguistsThe 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 growingcollection.)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 theycanbe 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.InstallationClone this repository. Set the working directory where you clone this repository.Start a virtual environment:$ python3 -m venv envor, to better control your python version:$ virtualenv -p python3.6 envThen activate the environment$ source env/bin/activate
(env)..$Then install necessary installations via pip:(env)..$ pip install -r requirements.txtExamplesYou 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 Notebookexamplesin the documentation.BinderClick on the Binder badge at the top of this README (it might take a while to load) and venture into the folderbinder_notebooks.Locally via Jupyter Notebook:Install and run jupyter notebook:(env)..$ pip install notebook
(env)..$ jupyter notebookVenture into the folderjupyter_notebooksand have a go!Example datasetsIf you would like to play around with various types of sound, check out myrepocontaining 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 documentationexamples.TestingIf you want to run the tests for PySoundTool, they currently useaudiofiles availablein the example datasets repo, mentioned above. Also, seetests_requirements.txt. The packages located there will need to be installed via:(env)..$ pip install -r tests_requirements.txtAbout the AuthorI 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,anddeep learning that also offers context to its functionality. You can read more about me and my projects on myblog.The Beginnings of PySoundToolThis project stemmed from the Prototype Fund projectNoIzewhich waspresentedat 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.