重要提示

您正在查看 NeMo 2.0 文档。此版本对 API 和新库 NeMo Run 进行了重大更改。我们目前正在将 NeMo 1.0 的所有功能移植到 2.0。有关先前版本或 2.0 中尚不可用的功能的文档,请参阅 NeMo 24.07 文档

NeMo 说话人日志 API#

模型类#

Mixins#

class nemo.collections.asr.parts.mixins.DiarizationMixin#

基类: VerificationMixin

abstract diarize(
paths2audio_files: List[str],
batch_size: int = 1,
) List[str]#

获取音频文件路径并返回说话人标签 :param paths2audio_files: 要转录的音频片段的路径

返回值:

说话人标签

class nemo.collections.asr.parts.mixins.diarization.SpkDiarizationMixin#

基类: ABC

可进行日志记录的模型的抽象类。

创建模板函数 diarize(),该函数提供了一个接口来执行音频张量或文件路径的转录。

以下抽象类必须由子类实现

  • _setup_diarize_dataloader():

    设置用于日志记录的数据加载器。接收来自 _diarize_input_manifest_processing() 的输出。

  • _diarize_forward():

    实现模型的自定义前向传递,以返回由 _diarize_output_processing() 处理的输出。

  • _diarize_output_processing():

    实现模型输出的后处理,以将结果返回给用户。结果可以是对象列表、对象列表的列表、对象元组、对象列表的元组或对象列表的字典。

abstract _diarize_forward(batch: Any)#

执行模型的自定义前向传递以返回由 _diarize_output_processing() 处理的输出的内部函数。此函数由 diarize()diarize_generator() 调用以执行模型的前向传递。

参数:

batch – 来自数据加载器的一批输入数据,用于执行模型的前向传递。

返回值:

_diarize_output_processing() 处理的模型输出。

_diarize_input_manifest_processing(
audio_files: List[str],
temp_dir: str,
diarcfg: DiarizeConfig,
) Dict[str, Any]#

处理输入音频文件路径并返回数据加载器的配置字典的内部函数。

参数:
  • audio_files – 音频文件的字符串文件路径列表。

  • temp_dir – 用于存储中间文件的临时目录。

  • diarcfg – 日志记录配置数据类。如果需要,子类可以将其更改为不同的数据类。

返回值:

用于设置日志记录的数据加载器的配置字典。

_diarize_input_processing(
audio,
diarcfg: DiarizeConfig,
)#

处理输入音频数据并返回 DataLoader 的内部函数。此函数由 diarize()diarize_generator() 调用,以设置用于日志记录的输入数据。

参数:
  • audio – 类型为 GenericDiarizationType

  • diarcfg – 日志记录配置数据类。如果需要,子类可以将其更改为不同的数据类。

返回值:

用于迭代输入音频数据的 DataLoader 对象。

_diarize_on_begin(
audio: str | List[str],
diarcfg: DiarizeConfig,
)#

设置模型以进行日志记录的内部函数。在此处执行所有设置和预检查。

参数:
  • audio (Union[str, List[str]]) – 类型为 GenericDiarizationType

  • diarcfg (DiarizeConfig) – DiarizeConfig 的实例。

_diarize_on_end(
diarcfg: DiarizeConfig,
)#

在转录后拆卸模型的内部函数。在此处执行所有拆卸和后检查。

参数:

diarcfg – 日志记录配置数据类。如果需要,子类可以将其更改为不同的数据类。

abstract _diarize_output_processing(
outputs,
uniq_ids,
diarcfg: DiarizeConfig,
) List[Any] | List[List[Any]] | Tuple[Any] | Tuple[List[Any]]#

处理模型输出以将结果返回给用户的内部函数。此函数由 diarize()diarize_generator() 调用以处理模型输出。

参数:
  • outputs – 由 _diarize_forward() 处理的模型输出。

  • uniq_ids – 批处理中唯一记录标识符的列表

  • diarcfg – 日志记录配置数据类。如果需要,子类可以将其更改为不同的数据类。

返回值:

输出可以是对象列表、对象列表的列表、对象元组、对象列表的元组。其类型在 GenericDiarizationType 中定义。

_input_audio_to_rttm_processing(
audio_files: List[str],
) List[Dict[str, str | float]]#

如果 audio 是音频文件路径列表,则生成清单样式字典。

参数:

audio_files – 音频文件路径列表。

返回值:

audio_rttm_map_dict 清单样式字典的列表。

abstract _setup_diarize_dataloader(
config: Dict,
) torch.utils.data.DataLoader#

设置用于日志记录的数据加载器的内部函数。此函数由 diarize()diarize_generator() 调用,以设置用于日志记录的输入数据。

参数:

config – 用于设置日志记录的数据加载器的配置字典。它可以由 _diarize_input_manifest_processing() 生成。

返回值:

用于迭代输入音频数据的 DataLoader 对象。

diarize(
audio: str | List[str] | numpy.ndarray | torch.utils.data.DataLoader,
batch_size: int = 1,
include_tensor_outputs: bool = False,
postprocessing_yaml: str | None = None,
num_workers: int = 1,
verbose: bool = False,
override_config: DiarizeConfig | None = None,
**config_kwargs,
) List[Any] | List[List[Any]] | Tuple[Any] | Tuple[List[Any]]#

获取音频文件路径并返回说话人标签

diarize_generator(
audio,
override_config: DiarizeConfig | None,
)#

diarize 函数的生成器版本。