数据集:

speech_commands

语言:

en

计算机处理:

monolingual

语言创建人:

crowdsourced

批注创建人:

other

源数据集:

original

预印本库:

arxiv:1804.03209

许可:

cc-by-4.0
英文

SpeechCommands 数据集卡片

数据集概述

这是一组一秒的.wav音频文件,每个文件中包含一个英语单词或背景噪音。这些单词来自一小组命令,并由多个不同的说话者发音。该数据集旨在帮助训练简单的机器学习模型。更详细的信息,请参考 https://arxiv.org/abs/1804.03209

数据集的0.01版本(配置“v0.01”)于2017年8月3日发布,包含64,727个音频文件。

数据集的0.02版本(配置“v0.02”)于2018年4月11日发布,包含105,829个音频文件。

支持的任务和排行榜

  • 关键词检测:该数据集可用于训练和评估关键词检测系统。任务是将话语分类为预定的一组单词,以便检测出预定义的关键词。该任务通常在设备上执行,需要快速响应时间,因此准确性、模型大小和推断时间都至关重要。

语言

SpeechCommands 数据集使用的是英语(BCP-47 en)。

数据集结构

数据实例

核心单词示例( "label" 是一个单词, "is_unknown" 是 False ):

{
  "file": "no/7846fd85_nohash_0.wav", 
  "audio": {
    "path": "no/7846fd85_nohash_0.wav", 
    "array": array([ -0.00021362, -0.00027466, -0.00036621, ...,  0.00079346,
          0.00091553,  0.00079346]), 
    "sampling_rate": 16000
    },
  "label": 1,  # "no"
  "is_unknown": False,
  "speaker_id": "7846fd85",
  "utterance_id": 0
}

辅助单词示例( "label" 是一个单词, "is_unknown" 是 True ):

{
  "file": "tree/8b775397_nohash_0.wav", 
  "audio": {
    "path": "tree/8b775397_nohash_0.wav", 
    "array": array([ -0.00854492, -0.01339722, -0.02026367, ...,  0.00274658,
          0.00335693,  0.0005188]), 
    "sampling_rate": 16000
    },
  "label": 28,  # "tree"
  "is_unknown": True,
  "speaker_id": "1b88bf70",
  "utterance_id": 0
}

背景噪音示例( _silence_ 类):

{
  "file": "_silence_/doing_the_dishes.wav", 
  "audio": {
    "path": "_silence_/doing_the_dishes.wav", 
    "array": array([ 0.        ,  0.        ,  0.        , ..., -0.00592041,
         -0.00405884, -0.00253296]), 
    "sampling_rate": 16000
    }, 
  "label": 30,  # "_silence_"
  "is_unknown": False,
  "speaker_id": "None",
  "utterance_id": 0  # doesn't make sense here
}

数据字段

  • 文件: 原始存档中的相对音频文件名。
  • 音频: 包含相对音频文件名、解码的音频数组和采样率的字典。请注意,当访问音频列时:dataset[0]["audio"],音频会自动解码并重新采样为dataset.features["audio"].sampling_rate。解码和重新采样大量音频可能需要相当长的时间。因此,首先查询样本索引非常重要,在 "audio" 列之前,即 dataset[0]["audio"] 应始终优先于 dataset["audio"][0]。
  • 标签: 音频样本中所发音的单词或背景噪音(_silence_)类。请注意,它是与类名相对应的整数值。
  • is_unknown: 如果单词是辅助单词,则为 True;如果单词是核心单词或 _silence_ 则为 False。
  • speaker_id: 说话者的唯一标识符。如果标签是 _silence_ ,则为 None。
  • utterance_id: 相同说话者的单词话语的递增标识符。

数据划分

该数据集有两个版本(配置):"v0.01" 和 "v0.02"。"v0.02" 包含更多单词(请参考“Source Data”部分了解更多详情)。

train validation test
v0.01 51093 6799 3081
v0.02 84848 9982 4890

请注意,在训练和验证集中,“_silence_”类的示例长度超过1秒。您可以使用以下代码从较长的示例中采样1秒的示例:

def sample_noise(example):
    # Use this function to extract random 1 sec slices of each _silence_ utterance,
    # e.g. inside `torch.utils.data.Dataset.__getitem__()`
    from random import randint

    if example["label"] == "_silence_":
        random_offset = randint(0, len(example["speech"]) - example["sample_rate"] - 1)
        example["speech"] = example["speech"][random_offset : random_offset + example["sample_rate"]]

    return example

数据集创建

策划理由

该数据集的主要目标是提供一种构建和测试能够从一组目标单词中检测出单个单词并将其与背景噪音或不相关的语音区分开的小型模型的方式,并尽量减少错误检测。

源数据

初始数据收集和规范化

音频文件是通过众包方式收集的,请参阅 aiyprojects.withgoogle.com/open_speech_recording 以获取一些用于收集音频的开源代码。目标是收集人们单词命令的示例,而不是对话句子,因此参与者在五分钟时间内逐个单词进行了提示。

在0.01版本中,收录了30个不同的单词:“Yes”,“No”,“Up”,“Down”,“Left”,“Right”,“On”,“Off”,“Stop”,“Go”,“Zero”,“One”,“Two”,“Three”,“Four”,“Five”,“Six”,“Seven”,“Eight”,“Nine”,“Bed”,“Bird”,“Cat”,“Dog”,“Happy”,“House”,“Marvin”,“Sheila”,“Tree”,“Wow”。

在0.02版本中,添加了更多单词:“Backward”,“Forward”,“Follow”,“Learn”,“Visual”。

在两个版本中,其中十个单词按约定用作指令:“Yes”,“No”,“Up”,“Down”,“Left”,“Right”,“On”,“Off”,“Stop”,“Go”。其他单词被视为辅助单词(在当前实现中,通过 "is_unknown" 特征的 True 值标记)。它们的功能是教导模型将核心单词与未识别单词区分开。

_silence_ 标签包含一组较长的音频片段,这些片段要么是录音,要么是噪音的数学模拟。

谁是源语言制作者?

音频文件是通过众包方式收集的。

注释

注释过程

标签是提前准备的单词列表。参与者在五分钟时间内逐个单词进行了提示。

谁是注释员?

[需要更多信息]

个人和敏感信息

数据集包含在线捐赠其声音的人。您同意不尝试确定数据集中说话者的身份。

使用数据的注意事项

数据的社会影响

[需要更多信息]

偏见讨论

[需要更多信息]

其他已知限制

[需要更多信息]

其他信息

数据集策划者

[需要更多信息]

许可信息

知识共享署名4.0许可证(CC-BY-4.0)[ https://creativecommons.org/licenses/by/4.0/legalcode] ]。

引用信息

@article{speechcommandsv2,
   author = { {Warden}, P.},
    title = "{Speech Commands: A Dataset for Limited-Vocabulary Speech Recognition}",
  journal = {ArXiv e-prints},
  archivePrefix = "arXiv",
  eprint = {1804.03209},
  primaryClass = "cs.CL",
  keywords = {Computer Science - Computation and Language, Computer Science - Human-Computer Interaction},
    year = 2018,
    month = apr,
    url = {https://arxiv.org/abs/1804.03209},
}

贡献

感谢 @polinaeterna 添加该数据集。