Metadata-Version: 2.1
Name: mayavoz
Version: 0.0.1
Summary: Deep learning toolkit for speech enhancement
Home-page: 
Author: Shahul Es
Author-email: shahules786@gmail.com
License: mit
Platform: Linux
Platform: Mac
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: MIT License
Classifier: Natural Language :: English
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Topic :: Scientific/Engineering
Requires-Python: >=3.8
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: boto3 (>=1.24.86)
Requires-Dist: huggingface-hub (>=0.10.0)
Requires-Dist: hydra-core (>=1.2.0)
Requires-Dist: joblib (>=1.2.0)
Requires-Dist: librosa (>=0.9.2)
Requires-Dist: mlflow (>=1.28.0)
Requires-Dist: numpy (>=1.23.3)
Requires-Dist: pesq (==0.0.4)
Requires-Dist: protobuf (>=3.19.6)
Requires-Dist: pystoi (==0.3.3)
Requires-Dist: pytest-lazy-fixture (>=0.6.3)
Requires-Dist: pytorch-lightning (>=1.7.7)
Requires-Dist: scikit-learn (>=1.1.2)
Requires-Dist: scipy (>=1.9.1)
Requires-Dist: soundfile (>=0.11.0)
Requires-Dist: torch (>=1.12.1)
Requires-Dist: torch-audiomentations (==0.11.0)
Requires-Dist: torchaudio (>=0.12.1)
Requires-Dist: tqdm (>=4.64.1)
Provides-Extra: cli
Requires-Dist: hydra-core (<=1.2,>=1.1) ; extra == 'cli'
Provides-Extra: dev
Requires-Dist: pre-commit (>=2.20.0) ; extra == 'dev'
Requires-Dist: black (>=22.8.0) ; extra == 'dev'
Requires-Dist: flake8 (>=5.0.4) ; extra == 'dev'
Provides-Extra: testing
Requires-Dist: pytest (>=7.1.3) ; extra == 'testing'
Requires-Dist: pytest-cov (>=4.0.0) ; extra == 'testing'

<p align="center">
  <img src="https://user-images.githubusercontent.com/25312635/195514652-e4526cd1-1177-48e9-a80d-c8bfdb95d35f.png" />
</p>

![GitHub Workflow Status](https://img.shields.io/github/workflow/status/shahules786/enhancer/Enhancer)
![GitHub](https://img.shields.io/github/license/shahules786/enhancer)
![GitHub issues](https://img.shields.io/github/issues/shahules786/enhancer?logo=GitHub)
![GitHub Repo stars](https://img.shields.io/github/stars/shahules786/enhancer?style=social)
![GitHub all releases](https://img.shields.io/github/downloads/shahules786/enhancer/total)

mayavoz is a Pytorch-based opensource toolkit for speech enhancement. It is designed to save time for audio researchers. Is provides easy to use pretrained audio enhancement models and facilitates highly customisable model training.

| **[Quick Start](#quick-start-fire)** | **[Installation](#installation)** | **[Tutorials](https://github.com/shahules786/enhancer/tree/main/notebooks)** | **[Available Recipes](#recipes)** | **[Demo](#demo)**
## Key features :key:

* Various pretrained models nicely integrated with huggingface 	:hugs: that users can select and use without any hastle.
* :package: Ability to train and validation your own custom speech enhancement models with just under 10 lines of code!
* :magic_wand: A command line tool that facilitates training of highly customisable speech enhacement models from the terminal itself!
* :zap: Supports multi-gpu training integrated with Pytorch Lightning.


## Demo

Noisy audio followed by enhanced audio.

https://user-images.githubusercontent.com/25312635/203756185-737557f4-6e21-4146-aa2c-95da69d0de4c.mp4



## Quick Start :fire:
``` python
from mayavoz.models import Mayamodel

model = Mayamodel.from_pretrained("shahules786/mayavoz-waveunet-valentini-28spk")
model.enhance("noisy_audio.wav")
```

## Recipes

| Model     | Dataset      | STOI    | PESQ  | URL                           |
| :---:     |  :---:       | :---:   | :---: | :---:                         |
| WaveUnet  | Valentini-28spk   | 0.836   | 2.78  |  shahules786/mayavoz-waveunet-valentini-28spk      |
| Demucs    | Valentini-28spk   | 0.961   | 2.56  |  shahules786/mayavoz-demucs-valentini-28spk       |
| DCCRN     | Valentini-28spk   | 0.724   | 2.55  |  shahules786/mayavoz-dccrn-valentini-28spk         |
| Demucs     | MS-SNSD-20hrs  | 0.56 | 1.26  | shahules786/mayavoz-demucs-ms-snsd-20       |

Test scores are based on respective test set associated with train dataset.

**See [tutorials](/notebooks/) to train your custom model**

## Installation
Only Python 3.8+ is officially supported (though it might work with Python 3.7)

- With Pypi
```
pip install mayavoz
```

- With conda

```
conda env create -f environment.yml
conda activate mayavoz
```

- From source code
```
git clone url
cd mayavoz
pip install -e .
```

## Support

For commercial enquiries and scientific consulting, please [contact me](https://shahules786.github.io/).

### Acknowledgements
Sincere gratitude to [AMPLYFI](https://amplyfi.com/) for supporting this project.
