AI driven sound removal.
This is a prototype of AI driven software that aims to block unwanted noises from input audio signals. In this case, we aim to dampen the sound of crying babies from an input signal.
This prototype's training data consists of audio files from both the DonateACry audio corpus for positive samples and the ESC-50 Dataset for both positive and negative samples.
(Note: Ownership transferred from personal to school account on 11/20/2020 due to workflow limitations.)
- Apple Silicon machine
- Git
- Poetry
- Recommended: BlackHole
- This is a virtual audio driver that allows for routing of computer audio output as input. Download this if you wish to filter computer audio using BabyBash.
BabyBash is currently only available on Apple Silicon machines.
Run the following command in your terminal to download Poetry:
pip install poetry
Run the following command in your terminal to ensure Git is installed:
git --version
Similarly, run the following command to ensure Poetry is installed:
poetry --version
If both of these commands return a version number, you are good to go!
Begin by navigating to the directory you wish to clone the repository into.
In the following example, BabyBash will be installed into the Downloads folder:
cd ~/Downloads
Next, clone the repository to this folder:
git clone https://github.com/caitcrowe/BabyBash
After cloning the repository, navigate into the BabyBash directory:
cd BabyBash
(Note: You can safely delete the data directory in the cloned repository to save disk space if you do not plan on training new models.)
Run the following commands to create and activate the Poetry environment:
poetry install
poetry shell
Now you can run the program! Simply run the following command:
(Note: Please read the warning below before running BabyBash.)
python babybash
WARNING: Be sure not to pick an input device that can hear your output to avoid LOUD feedback loops!
After installing and running BabyBash, babies will be filtered out of the input audio stream, and the filtered audio will output to the selected output device. To stop filtering, simply close the program.
If you wish to filter computer audio, provided you have installed BlackHole (or a similar program), set your computer's output device to BlackHole (this prevents your "clean" computer audio from being audible alongside the filtered audio). Then, set the input device in BabyBash to BlackHole (this feeds your computer output into BabyBash). You can now play audio from your computer and it will be filtered by BabyBash!
- Overview
- Architecture
- Design
- Testing & CI
- Developer Guidelines
- (TODO: Complete
dev_guidelines.md)
- (TODO: Complete