HiFiTTS-2
High-quality English speech dataset at 44kHz. Ideal for TTS and codec training.
More information: HiFiTTS-2 on Hugging Face
mkdir -p ~/datasets/hifitts2
cd ~/datasets/hifitts2
# Download manifest and chapters (replace 44khz with 22khz for lower SR)
wget https://huggingface.co/datasets/nvidia/hifitts-2/resolve/main/44khz/manifest_44khz.json
wget https://huggingface.co/datasets/nvidia/hifitts-2/resolve/main/44khz/chapters_44khz.json
Then install NeMo Speech Data Processor and download the audio:
python /home/NeMo-speech-data-processor/main.py \
--config-path="/home/NeMo-speech-data-processor/dataset_configs/english/hifitts2" \
--config-name="config_44khz.yaml" \
workspace_dir="/home/hifitts2" \
max_workers=8
SparkAudio VoxBox
A merged corpus of 60k+ hours of English and Chinese speech from CommonVoice, GigaSpeech, LibriSpeech, and others.
HuggingFace: SparkAudio/voxbox GitHub: VoxBox
The script below downloads a specific subset (e.g. casia, cremad, emns) by name:
"""
Download a voxbox dataset subset.
Usage:
python download_voxbox_subset.py --subset casia
python download_voxbox_subset.py --subset cremad --download_dir ./downloads
"""
import os
import argparse
from huggingface_hub import login, HfApi, hf_hub_download
from tqdm import tqdm
def download_voxbox_subset(subset_name, repo_id="SparkAudio/voxbox",
download_dir=None, hf_api_key=None):
if download_dir is None:
download_dir = os.path.join(os.environ.get('TMPDIR', './downloads'), 'voxbox_downloads')
os.makedirs(download_dir, exist_ok=True)
if hf_api_key:
login(token=hf_api_key)
api = HfApi()
dataset_info = api.dataset_info(repo_id=repo_id)
all_paths = [s.rfilename for s in dataset_info.siblings]
downloaded_files = []
# Download metadata
metadata_path = f"metadata/{subset_name}.jsonl"
if metadata_path in all_paths:
hf_hub_download(
repo_id=repo_id, repo_type="dataset",
filename=metadata_path, local_dir=download_dir,
local_dir_use_symlinks=False, token=hf_api_key
)
downloaded_files.append(os.path.join(download_dir, metadata_path))
else:
print(f"Metadata not found: {metadata_path}")
available = [p for p in all_paths if p.startswith("metadata/")]
for m in available[:10]:
print(f" - {m}")
# Download audio tar.gz files
audio_tars = [f for f in all_paths
if f.startswith(f"audios/{subset_name}/") and f.endswith(".tar.gz")]
if not audio_tars:
print(f"No audio files found for subset '{subset_name}'")
return downloaded_files
for tar_file in tqdm(audio_tars, desc="Downloading audio"):
hf_hub_download(
repo_id=repo_id, repo_type="dataset",
filename=tar_file, local_dir=download_dir,
local_dir_use_symlinks=False, token=hf_api_key
)
downloaded_files.append(os.path.join(download_dir, tar_file))
print(f"Download complete: {len(downloaded_files)} files in {download_dir}")
return downloaded_files
def main():
parser = argparse.ArgumentParser()
parser.add_argument('--subset', type=str, required=True)
parser.add_argument('--repo_id', type=str, default='SparkAudio/voxbox')
parser.add_argument('--download_dir', type=str, default=None)
parser.add_argument('--hf_api_key', type=str, default=None)
args = parser.parse_args()
if args.hf_api_key is None:
args.hf_api_key = os.environ.get('HF_TOKEN')
download_voxbox_subset(
subset_name=args.subset,
repo_id=args.repo_id,
download_dir=args.download_dir,
hf_api_key=args.hf_api_key
)
if __name__ == "__main__":
main()