重要提示

您正在查看 NeMo 2.0 文档。此版本引入了 API 的重大更改和一个新的库,NeMo Run。我们目前正在将 NeMo 1.0 中的所有功能移植到 2.0。有关先前版本或 2.0 中尚不可用的功能的文档,请参阅 NeMo 24.07 文档

数据集#

HI-MIA#

运行脚本以下载和处理 hi-mia 数据集,以便生成 nemo_asr 支持格式的文件。您应该使用 --data_root 设置 hi-mia 的数据文件夹。这些脚本位于 <nemo_root>/scripts

python get_hi-mia_data.py --data_root=<data directory>

下载和转换后,您的 data 文件夹应包含具有以下文件集的目录:

  • data/<set>/train.json

  • data/<set>/dev.json

  • data/<set>/{set}_all.json

  • data/<set>/utt2spk

所有其他数据集#

这些方法可以应用于任何数据集,以获得类似的训练或推理清单文件。

filelist_to_manifest.py 脚本位于 $<NeMo_root>/scripts/speaker_tasks/ 文件夹中,用于从包含音频文件路径的文本文件生成清单文件。

示例 filelist.txt 文件内容

/data/datasets/voxceleb/data/dev/aac_wav/id00179/Q3G6nMr1ji0/00086.wav
/data/datasets/voxceleb/data/dev/aac_wav/id00806/VjpQLxHQQe4/00302.wav
/data/datasets/voxceleb/data/dev/aac_wav/id01510/k2tzXQXvNPU/00132.wav

此列表文件用于生成清单文件。此脚本具有可选参数,可以将整个清单文件拆分为训练集和开发集,还可以将音频文件分割成更小的片段以进行稳健的训练(对于测试,我们不需要为每个话语创建片段)。

使用示例

python filelist_to_manifest.py --filelist=filelist.txt --id=-3 --out=speaker_manifest.json

这将创建一个包含以下文件内容的清单:.. code-block:: json

{“audio_filepath”: “/data/datasets/voxceleb/data/dev/aac_wav/id00179/Q3G6nMr1ji0/00086.wav”, “offset”: 0, “duration”: 4.16, “label”: “id00179”} {“audio_filepath”: “/data/datasets/voxceleb/data/dev/aac_wav/id00806/VjpQLxHQQe4/00302.wav”, “offset”: 0, “duration”: 12.288, “label”: “id00806”} {“audio_filepath”: “/data/datasets/voxceleb/data/dev/aac_wav/id01510/k2tzXQXvNPU/00132.wav”, “offset”: 0, “duration”: 4.608, “label”: “id01510”}

对于其他可选参数,例如将清单文件拆分为训练集和开发集,以及从每个话语创建片段,请参阅脚本中描述的参数。

Tarred 数据集#

与 ASR 类似,您可以将音频文件打包成 tar 文件,并使用 ASR 数据集类 TarredAudioToSpeechLabelDataset(对应于 AudioToSpeechLabelDataset)来处理这种情况。

如果您想使用 tarred 数据集,请查看 ASR Tarred 数据集