在Google Colab训练WaveGAN时无法检测音频文件的问题求助
解决WaveGAN训练时“未找到音频文件”的问题
错误信息
Traceback (most recent call last): File "/content/wavegan/train_wavegan.py", line 668, in <module> raise Exception('Did not find any audio files in specified directory') Exception: Did not find any audio files in specified directory
可能的原因及排查步骤
1. 数据集路径指定错误
Colab挂载Google Drive后,文件路径为/content/drive/MyDrive/[你的文件夹名],如果训练命令中用了相对路径(比如./speech_commands)或路径拼写错误,程序会找不到文件。
- 排查:在Colab单元格执行
!find /content/drive/MyDrive/[你的数据集文件夹] -name "*.wav",确认能列出所有WAV文件。如果无结果,说明路径写错了。
2. 代码未递归遍历子目录
Speech Commands数据集的WAV文件按类别存放在子文件夹(如yes/、no/),但WaveGAN默认文件查找逻辑可能只遍历指定目录的一级目录,不会深入子文件夹。
- 排查:打开
train_wavegan.py找到第668行附近的文件查找代码。如果是glob.glob(os.path.join(data_dir, '*.wav')),修改为glob.glob(os.path.join(data_dir, '**', '*.wav'), recursive=True),开启递归查找。
3. 文件扩展名不匹配
代码可能只识别小写.wav扩展名,若数据集中存在.WAV大写后缀的文件,会被忽略。
- 排查:执行
!find /content/drive/MyDrive/[你的数据集文件夹] -name "*.WAV",如果有结果,批量重命名为小写:!rename 's/\.WAV$/.wav/' /content/drive/MyDrive/[你的数据集文件夹]/**/*.WAV
4. Drive挂载权限问题
若挂载Drive时未正确授权,程序无法读取文件夹内的文件。
- 排查:执行
!ls /content/drive/MyDrive/[你的数据集文件夹],若提示权限错误,重新执行挂载命令:
并在弹出的授权窗口完成验证。from google.colab import drive drive.mount('/content/drive')
5. 文件过滤规则限制
WaveGAN可能会过滤不符合要求的音频文件(如采样率、长度不匹配训练配置),导致被判定为“无音频文件”。
- 排查:查看
train_wavegan.py中对音频文件的验证逻辑,确认你的数据集文件符合代码要求的采样率(默认16kHz)、长度等参数。
内容的提问来源于stack exchange,提问作者strictlybusiness002
相关产品推荐
相关产品推荐

