speechbrain.dataio.legacy 模块

SpeechBrain Extended CSV 兼容性。

摘要

CSVItem

Legacy Extended CSV 数据项三元组

ExtendedCSVDataset

DynamicItemDataset 的 Extended CSV 兼容性。

函数

load_sb_extended_csv

加载 SB Extended CSV 并格式化字符串值。

read_pkl

此函数读取以 pkl 格式存储的 Tensor。

参考

class speechbrain.dataio.legacy.CSVItem(data, format, opts)

基类: tuple

Legacy Extended CSV 数据项三元组

data

字段 0 的别名

format

字段 1 的别名

opts

字段 2 的别名

class speechbrain.dataio.legacy.ExtendedCSVDataset(csvpath, replacements={}, sorting='original', min_duration=0, max_duration=36000, dynamic_items=[], output_keys=[])[source]

基类: DynamicItemDataset

DynamicItemDataset 的 Extended CSV 兼容性。

使用 SpeechBrain Extended CSV 数据格式,CSV 必须包含 ‘ID’ 和 ‘duration’ 字段。

其余字段以三元组形式出现:<name>, <name>_format, <name>_opts

这些会在字典中添加一个 <name>_sb_data 项。此外,还会创建一个基本的 DynamicItem(参见 DynamicItemDataset),用于加载 _sb_data 项。

支持使用 $to_replace 进行类似 Bash 的字符串替换。

注意

从旧版接口映射

  • csv_file -> csvpath

  • sentence_sorting -> sorting,并且不支持 “random”,请使用例如 make_dataloader(..., shuffle = (sorting=="random"))

  • avoid_if_shorter_than -> min_duration

  • avoid_if_longer_than -> max_duration

  • csv_read -> output_keys,如果你想要 ID,则添加 “id” 作为键

参数:
  • csvpath (str, path) – Extended CSV 的路径。

  • replacements (dict) – 用于类似 Bash 的 $-前缀替换,例如 {"data_folder": "/home/speechbrain/data"},它会将 $data_folder/utt1.wav 转换为 /home/speechbrain/data/utt1.wav

  • sorting ({"original", "ascending", "descending"}) – 保持 CSV 原始顺序,或按时长升序或降序排序。

  • min_duration (float, int) – 最小时长(秒)。丢弃其他条目。

  • max_duration (float, int) – 最大时长(秒)。丢弃其他条目。

  • dynamic_items (list) –

    获取示例时生成的额外动态项配置。DynamicItems 列表或带有键的字典

    func: <callable> # To be called
    takes: <list> # key or list of keys of args this takes
    provides: key # key or list of keys that this provides
    

    注意:为每个 CSV 数据三元组自动添加一个动态项

  • output_keys (list, None) – 要生成的输出键列表。你可以引用 CSV 数据三元组的名称。例如,如果 CSV 包含:wav,wav_format,wav_opts,则 Dataset 会有一个可用的动态项输出,其键为 "wav" 注意:如果为 None,则读取所有现有项。

speechbrain.dataio.legacy.load_sb_extended_csv(csv_path, replacements={})[source]

加载 SB Extended CSV 并格式化字符串值。

使用 SpeechBrain Extended CSV 数据格式,CSV 必须包含 ‘ID’ 和 ‘duration’ 字段。

其余字段以三元组形式出现:<name>, <name>_format, <name>_opts

这些会在字典中添加一个 <name>_sb_data 项。此外,还会创建一个基本的 DynamicItem(参见 DynamicItemDataset),用于加载 _sb_data 项。

支持使用 $to_replace 进行类似 Bash 的字符串替换。

此格式有其限制,但允许某些任务通过 CSV 指定加载方式。

参数:
  • csv_path (str) – CSV 文件路径。

  • replacements (dict) – 可选字典:例如 {"data_folder": "/home/speechbrain/data"}。这用于递归地格式化数据中的所有字符串值。

返回值:

  • dict – 应用替换后的 CSV 数据。

  • list – 要添加到 DynamicItemDataset 中的 DynamicItems 列表。

speechbrain.dataio.legacy.read_pkl(file, data_options={}, lab2ind=None)[source]

此函数读取以 pkl 格式存储的 Tensor。

参数:
  • file (str) – 要读取的文件路径。

  • data_options (dict, optional) – 包含读取器选项的字典。

  • lab2ind (dict, optional) – 标签到整数索引的映射。

返回值:

包含读取信号的数组。

返回类型:

numpy.array