43 lines
2.0 KiB
Python
43 lines
2.0 KiB
Python
import os
|
|
|
|
|
|
# 制作CN-Celeb数据集列表
|
|
# 下载地址:https://openslr.trmal.net/resources/82/cn-celeb_v2.tar.gz
|
|
# 下载并解压到dataset目录,解压命令:tar -zxvf cn-celeb_v2.tar.gz
|
|
def create_cn_celeb(list_path, data_path='dataset/'):
|
|
f_train = open(list_path, 'w', encoding='utf-8')
|
|
data_dir = os.path.join(data_path, 'CN-Celeb_flac/data/')
|
|
dirs = sorted(os.listdir(data_dir))
|
|
for label, d in enumerate(dirs):
|
|
# 跳过测试集
|
|
if label >= 800:continue
|
|
for file in os.listdir(os.path.join(data_dir, d)):
|
|
sound_path = os.path.join(data_dir, d, file).replace('\\', '/')
|
|
f_train.write(f'{sound_path}\t{label}\n')
|
|
f_train.close()
|
|
|
|
|
|
# 制作CN-Celeb2数据集列表,如果是Windows,请跳过这个数据集
|
|
# 下载分包1地址:https://openslr.trmal.net/resources/82/cn-celeb2_v2.tar.gzaa
|
|
# 下载分包2地址:https://openslr.trmal.net/resources/82/cn-celeb2_v2.tar.gzab
|
|
# 下载分包3地址:https://openslr.trmal.net/resources/82/cn-celeb2_v2.tar.gzac
|
|
# 下载并解压到dataset目录,合并压缩包命令:cat cn-celeb2_v2.tar.gza* > cn-celeb2_v2.tar.gz,解压命令:tar -zxvf cn-celeb2_v2.tar.gz
|
|
def create_cn_celeb2(list_path, data_path='dataset/'):
|
|
data_dir = os.path.join(data_path, 'CN-Celeb2_flac/data/')
|
|
if not os.path.exists(data_dir):
|
|
print('CN-Celeb2数据集不存在,请先下载并解压到dataset目录,目前忽略,你也可继续正常训练')
|
|
return
|
|
f_train = open(list_path, 'a', encoding='utf-8')
|
|
dirs = sorted(os.listdir(data_dir))
|
|
last_label = 800
|
|
for label, d in enumerate(dirs):
|
|
for file in os.listdir(os.path.join(data_dir, d)):
|
|
sound_path = os.path.join(data_dir, d, file).replace('\\', '/')
|
|
f_train.write(f'{sound_path}\t{label + last_label}\n')
|
|
f_train.close()
|
|
|
|
|
|
if __name__ == '__main__':
|
|
create_cn_celeb(list_path='dataset/train_list.txt', data_path='dataset')
|
|
create_cn_celeb2(list_path='dataset/train_list.txt', data_path='dataset')
|