音频切片

更新时间:
复制 MD 格式

音频切片算子用于将长音频按声音或对话轮次分割为多个短片段,仅处理输入数据集中的音频对象,非音频对象将自动忽略。本文介绍音频切片算子的配置方法。

前提条件

  • 当前实例购买非结构化数据功能后,方可使用工作流功能。

  • 已完成工作流的创建,详细创建步骤请参见创建及管理工作流

背景信息

  • 音频切片算子支持处理以下格式文件:mp3、mov、avi、mkv、m4a、wav。

  • 音频切片算子默认分配1Core、4GB资源。

权限说明

Basic项目的项目管理员、开发者、分析师以及拥有数据集-使用权限的自定义项目角色,可在算子的输入和输出数据集中使用该项目下的所有数据集。

操作步骤

  1. Dataphin首页的顶部菜单栏中,选择研发 > 数据研发

  2. 开发页面的顶部菜单栏选择项目

  3. 在左侧导航栏中选择数据处理 > 工作流,在左侧工作流列表中单击目标工作流,打开工作流画布,在左侧算子库中拖动音频切片算子至画布中,并在右侧音频切片面板中配置以下参数。

    参数

    描述

    步骤名称

    输入当前算子名称,支持任意字符,不超过256个字符。

    输入配置

    数据集

    选择需处理的数据集,仅可选择混合数据集。数据集选择完成后还需选择其版本,默认为该数据集正序的第一个版本。

    当前算子作为其他算子的下游时,此处所选数据集通常与上游算子的输出数据集一致。

    输入字段

    待处理音频文件的存储URL,需选择输入数据集中来源字段,仅可选择输入数据集中是否URL参数为的字段。

    过滤条件(非必填)

    使用SQL语法,仅需输入where语句后的过滤条件,支持使用系统全局变量,例如业务日期${bizdate}。

    算子参数配置

    切分方式

    • 按声音切分:按音频中的音量与静音区间切分,与音频内容无关,适用于无背景音的干净音频,存在背景音乐时人声与音乐无法区分,默认为该方式。

      选择按声音切分后,还需配置音量阈值(dB)最小长度(ms)最小间隔(ms)逐帧检测步长(ms)最大静音保留长度(ms)

    • 按对话切分:通过语音识别模型检测人声的起止时间点,按对话轮次切分并区分说话片段与非说话片段,适用于会议、访谈、客服等对话类音频,背景音乐与环境噪声不影响判定。

      选择按对话切分后,还需配置模型对话片段最小时长输出方式

    音量阈值(dB)

    控制静音检测灵敏度,数值越低对静音判断越敏感。可输入-60~-20间的整数,默认为-40。

    说明

    按声音切分方式支持配置此项。

    最小长度(ms)

    每个音频片段的最短时长,可输入1000~10000间的整数,默认为5000。

    说明

    按声音切分方式支持配置此项。

    最小间隔(ms)

    静音段落最小切片长度,可输入100~1000间的整数,默认为300。

    说明

    按声音切分方式支持配置此项。

    逐帧检测步长(ms)

    数值越小精度越高,数值越大速度越快。可输入5~50间的整数,默认为10。

    说明

    按声音切分方式支持配置此项。

    最大静音保留长度(ms)

    当音频中检测到长静音时,需要保留多少静音时间在切开后的片段中。数值越小,切分越精确,越大则有更多的静音过渡。可输入0~2000间的整数,默认为500。

    说明

    按声音切分方式支持配置此项。

    模型

    为当前算子选择所使用的模型,仅可选择智能应用管理 > 模型配置中模型类型包含音频、音频能力包含人声检测已启用的模型。

    说明

    按对话切分方式支持配置此项。

    对话片段最小时长

    单个对话片段的最小时长,单位秒,默认为5秒。短于此时长的片段会与相邻片段合并为连续片段,避免产生无上下文的碎片片段。

    说明

    按对话切分方式支持配置此项。

    输出方式

    • 仅说话片段:仅输出有人说话的片段,可显著减少切片数量与存储占用,默认为该方式。

    • 全部:输出全部片段(包含非说话片段)。

    说明

    按对话切分方式支持配置此项。

    输出配置

    数据集

    可选择一个混合数据集作为输出数据集。数据集选择完成后还需选择其版本,默认为该数据集正序的第一个版本。同时,支持选择来源数据集的其他版本。

    切片文件目录

    前缀固定为所选数据集文件存储的目录,您可输入指定存储的子目录,每一个来源音频文件都需存放在独立的子目录中。

    加载策略

    若所选输出数据集的元数据表中存在主键,则默认选择主键冲突时更新;若不存在主键,则默认选择追加数据。

    • 追加数据:直接向目标表新增追加数据,当主键/约束冲突时,会提示错误。

    • 主键冲突时更新:当主键/约束冲突时,会先删除整行主键重复的旧数据,再插入新数据。

    • 覆盖:先删除目标表的数据,再写入数据。

    字段映射

    音频切片算子将固定输出以下字段:

    • source_file_url:原输入长音频的URL。

    • sequence:序号。

    • file_url:切片后音频文件的URL。

    • audio_id:切片音频文件的唯一ID,用于下游进行唯一识别。

    • start_time:切片在原始音频中的起始时间,单位秒。

    • end_time:切片在原始音频中的终止时间,单位秒。

    在实时工作流和在线工作流中,音频切片算子按1:N模式输出,即单条输入事件将产出多个音频片段,切片结果以audio_slices数组字段承载,可作为ForEach循环算子的遍历来源,将每个音频片段交由下游算子逐个处理,ForEach循环算子的迭代变量默认为audio_slice

    算子输出字段默认映射至输出数据集的同名字段,您也可以手动选择目标字段进行自定义映射。此外,支持将来源数据集的透传字段映射至目标数据集。您可以通过以下方式管理字段映射:

    • 新增输出字段:单击后新增一行空白字段映射关系。

    • 批量映射:单击后可选择批量手动映射、同名映射或同行映射。

    • 删除映射:单击删除图标可删除对应行的字段映射,但算子固定输出字段的映射不支持删除。

  4. 配置完成后,单击画布顶部菜单栏中的保存,保存此次配置。

    单个算子配置完成后,可继续为其选择上游或下游算子来完成完整工作流的配置。