1. asrt_config.json 配置文件格式标准

ASRT配置文件使用json格式。

1.1 参数字段说明

字段名 说明
dict_filename 用于指定 dict.txt 文件的文件路径,可以用相对路径,也可用绝对路径,与操作系统通用路径标准写法保持一致。
dataset 用于配置数据集,数据集类型分为train dev test 三种。
name 用于指定数据集名称,主要为了方便记忆,增加可读性,不影响使用该数据集训练和评估模型性能。
data_list 用于指定记录数据集wav文件列表的文件的路径。
data_path 用于指定下载的数据集存放路径。
label_list 用于指定该数据集拼音标签文件路径。

1.2 结构格式说明

使用json格式,配置样例参照:https://github.com/nl8590687/ASRT_SpeechRecognition/blob/master/asrt_config.json

格式说明:

{
    "dict_filename": <字典文件名>,
    "dataset": { // 数据集配置
        "train": [ // 训练集数据配置
            { // 数据集1
                "name": <数据集名称(不允许重复)>,
                "data_list": <数据列表文件路径>,
                "data_path": <数据集所在的上级路径>,
                "label_list": <数据标签文件路径>
            },
            { // 数据集2
                "name": <数据集名称(不允许重复)>,
                "data_list": <数据列表文件路径>,
                "data_path": <数据集所在的上级路径>,
                "label_list": <数据标签文件路径>
            },
            ……
        ],
        "dev": [ // 开发集数据配置
            <同上>
        ],
        "test": [ // 测试集数据配置
            <同上>
        ]
    }
}

1.3 文件路径问题

默认的配置路径是为Linux系统使用的,而且请注意是 /data/speech_data/ 而不是 data/speech_data/,如果不懂二者有什么区别请先去学习Linux基础知识
如果是Windows系统的话,请自行在配置文件中改成Windows的文件目录形式,例如D:/speech_data/D:\\speech_data\\,其他同理,默认的路径配置不适用于Windows系统下,切记。

不过相对路径是通用的,与系统无关,请懂行的朋友根据自己的实际操作来更改,默认情况下这个路径不会存在的。

1.4 配置样例

以Linux系统为例,一个样例配置文件内容如下:

{
    "dict_filename": "dict.txt",

    "dataset":{
        "train":[
            {
                "name": "thchs30_train",
                "data_list": "datalist/thchs30/train.wav.lst",
                "data_path": "/data/speech_data",
                "label_list": "datalist/thchs30/train.syllable.txt"
            },
            {
                "name": "stcmds_train",
                "data_list": "datalist/st-cmds/train.wav.txt",
                "data_path": "/data/speech_data",
                "label_list": "datalist/st-cmds/train.syllable.txt"
            }
        ],

        "dev":[
            {
                "name": "thchs30_dev",
                "data_list": "datalist/thchs30/cv.wav.lst",
                "data_path": "/data/speech_data",
                "label_list": "datalist/thchs30/cv.syllable.txt"
            },
            {
                "name": "stcmds_dev",
                "data_list": "datalist/st-cmds/dev.wav.txt",
                "data_path": "/data/speech_data",
                "label_list": "datalist/st-cmds/dev.syllable.txt"
            }
        ],

        "test":[
            {
                "name": "thchs30_test",
                "data_list": "datalist/thchs30/test.wav.lst",
                "data_path": "/data/speech_data",
                "label_list": "datalist/thchs30/test.syllable.txt"
            },
            {
                "name": "stcmds_test",
                "data_list": "datalist/st-cmds/test.wav.txt",
                "data_path": "/data/speech_data",
                "label_list": "datalist/st-cmds/test.syllable.txt"
            }
        ]
    }
}

以Windows系统为例,一个样例配置文件内容如下:

{
    "dict_filename": "dict.txt",

    "dataset":{
        "train":[
            {
                "name": "thchs30_train",
                "data_list": "datalist/thchs30/train.wav.lst",
                "data_path": "D:/data/speech_data",
                "label_list": "datalist/thchs30/train.syllable.txt"
            },
            {
                "name": "stcmds_train",
                "data_list": "datalist/st-cmds/train.wav.txt",
                "data_path": "D:/data/speech_data",
                "label_list": "datalist/st-cmds/train.syllable.txt"
            }
        ],

        "dev":[
            {
                "name": "thchs30_dev",
                "data_list": "datalist/thchs30/cv.wav.lst",
                "data_path": "D:/data/speech_data",
                "label_list": "datalist/thchs30/cv.syllable.txt"
            },
            {
                "name": "stcmds_dev",
                "data_list": "datalist/st-cmds/dev.wav.txt",
                "data_path": "D:/data/speech_data",
                "label_list": "datalist/st-cmds/dev.syllable.txt"
            }
        ],

        "test":[
            {
                "name": "thchs30_test",
                "data_list": "datalist/thchs30/test.wav.lst",
                "data_path": "D:/data/speech_data",
                "label_list": "datalist/thchs30/test.syllable.txt"
            },
            {
                "name": "stcmds_test",
                "data_list": "datalist/st-cmds/test.wav.txt",
                "data_path": "D:/data/speech_data",
                "label_list": "datalist/st-cmds/test.syllable.txt"
            }
        ]
    }
}

2. 数据列表文件格式标准

格式标准:

<文件标识1><空格><文件路径><换行符>
<文件标识2><空格><文件路径><换行符>

例如: datalist/thchs30/目录下的 train.wav.lst 文件。

3. 数据标签文件格式标准

使用拼音标签
格式标准:

<文件标识1><空格><拼音1><空格><拼音2><空格><拼音3><换行符>
<文件标识2><空格><拼音1><空格><拼音2><空格><拼音3><换行符>

其中,对于得到该文件用的汉字到拼音转换推荐使用python中的 pypinyin 库来实现。

样例代码:

>>> from pypinyin import pinyin, lazy_pinyin, Style
>>> # 使用 5 标识轻声
>>> lazy_pinyin('衣裳', style=Style.TONE3, neutral_tone_with_five=True)
['yi1', 'shang5']

4. 语音数据集音频文件格式标准

  • 文件格式:wav格式文件,文件名通常以.wav结尾
  • 文件头标记diff文件头
  • 采样频率16 kHz,对应参数为16000
  • 声道数:单声道
  • 采样位宽/字节宽度16 bits的采样位宽, 或2 bytes 样本点的字节宽度(2 bytes * 8 bit/byte = 16 bits), 256 bps 采样比特率 (pcm或raw格式都可以,只要格式正确、能够正常读取到内容即可)。

标准的wave格式音频数据样例文件请参考 数据格式与可用的数据集 页面中所列出的开源语音数据集中的wave格式音频文件。

5. dict.txt字典文件格式标准

普通话汉语拼音字典
格式标准:

<拼音1><\tab><汉字1><汉字2><汉字3><换行符>
<拼音2><\tab><汉字4><汉字5><汉字6><换行符>
作者:AI柠檬  创建时间:2021-12-09 21:34
最后编辑:AI柠檬  更新时间:2024-11-06 22:17