Automatically cleaning, enhancing, segmenting, filtering, and formatting a dataset to fine tune or train a voice model.
Python
49
133 commits
updated Sep 15, 2025
Curating datasets is extremely time consuming and tedious. I needed a way to automate this process as much as possible. Automatic Audio Dataset Maker is a tool designed to automate the creation and curation of high-quality audio datasets, primarily for training text-to-speech models.
-NOTE: Theres a package conflict on windows machines with pesq/brouhaha. I suggest using WSL/Linux instead. Switching from conda to UV. I suggest you do the same.
huggingface-cli loginpython adm_main.py --config config.yaml
-or-
Run python adm_main.py and follow the prompts in the terminal
Example to run without config.yaml:
IIEleven11MyRepositoryNamenSteve10
=======python adm_main.py --config config.yaml - If you set tight thresholds and the data was too heavily filtered you can turn on the refilter option in the config.yaml. This will skip the transcription and audio analysis steps.
- The tools folder contains several scripts you can use. Things like denoising, converting a parquet to wavs/csv, etc.
- Step 1 (transcription) using local whisperASR.
This process will filter out any data it deems as not suitable for training. I suggest doing any denoising or editing of the audio before hand.
- You can choose to skip the transcription step if you have your own.
- Analyzing and computing the audio metrics can be a bit GPU intensive. My RTX 3090 can handle a few hours of data without a problem. I could see less capable hardware failing during this step.
- You will end up with .parquet file/s containing a **curated** dataset including audio data. This will be saved locally in the FILTERED_PARQUET folder.
(BUG the filtered parquet pushed to the hub is wrong. Just use the parquets in the filtered folder until I can get around to fixing it.)
- There us a script in the tools folder ```convert_dataspeech.py``` you can input the correct paths and run it to automatically convert the parquet file/s into metadata and get the wavs in a folder.
- You can choose to skip the transcription step if you have your own.
lacombe-etal-2024-dataspeech, author = {Yoach Lacombe and Vaibhav Srivastav and Sanchit Gandhi}, title = {Data-Speech}, year = {2024}, publisher = {GitHub}, journal = {GitHub repository}, how published = {\url{https://github.com/ylacombe/dataspeech}}
lyth2024natural, title={Natural language guidance of high-fidelity text-to-speech with synthetic annotations}, author={Dan Lyth and Simon King}, year={2024}, eprint={2402.01912}, archivePrefix={arXiv}, primaryClass={cs.SD}
133 commits
Python
83.2%
Jupyter Notebook
12.2%
Shell
4.5%
Automatically cleaning, enhancing, segmenting, filtering, and formatting a dataset to fine tune or train a voice model.
Python
49
133 commits
updated Sep 15, 2025
Curating datasets is extremely time consuming and tedious. I needed a way to automate this process as much as possible. Automatic Audio Dataset Maker is a tool designed to automate the creation and curation of high-quality audio datasets, primarily for training text-to-speech models.
-NOTE: Theres a package conflict on windows machines with pesq/brouhaha. I suggest using WSL/Linux instead. Switching from conda to UV. I suggest you do the same.
huggingface-cli loginpython adm_main.py --config config.yaml
-or-
Run python adm_main.py and follow the prompts in the terminal
Example to run without config.yaml:
IIEleven11MyRepositoryNamenSteve10
=======python adm_main.py --config config.yaml - If you set tight thresholds and the data was too heavily filtered you can turn on the refilter option in the config.yaml. This will skip the transcription and audio analysis steps.
- The tools folder contains several scripts you can use. Things like denoising, converting a parquet to wavs/csv, etc.
- Step 1 (transcription) using local whisperASR.
This process will filter out any data it deems as not suitable for training. I suggest doing any denoising or editing of the audio before hand.
- You can choose to skip the transcription step if you have your own.
- Analyzing and computing the audio metrics can be a bit GPU intensive. My RTX 3090 can handle a few hours of data without a problem. I could see less capable hardware failing during this step.
- You will end up with .parquet file/s containing a **curated** dataset including audio data. This will be saved locally in the FILTERED_PARQUET folder.
(BUG the filtered parquet pushed to the hub is wrong. Just use the parquets in the filtered folder until I can get around to fixing it.)
- There us a script in the tools folder ```convert_dataspeech.py``` you can input the correct paths and run it to automatically convert the parquet file/s into metadata and get the wavs in a folder.
- You can choose to skip the transcription step if you have your own.
lacombe-etal-2024-dataspeech, author = {Yoach Lacombe and Vaibhav Srivastav and Sanchit Gandhi}, title = {Data-Speech}, year = {2024}, publisher = {GitHub}, journal = {GitHub repository}, how published = {\url{https://github.com/ylacombe/dataspeech}}
lyth2024natural, title={Natural language guidance of high-fidelity text-to-speech with synthetic annotations}, author={Dan Lyth and Simon King}, year={2024}, eprint={2402.01912}, archivePrefix={arXiv}, primaryClass={cs.SD}
133 commits
Python
83.2%
Jupyter Notebook
12.2%
Shell
4.5%