Vad¶
- class torchaudio.transforms.Vad(sample_rate: int, trigger_level: float = 7.0, trigger_time: float = 0.25, search_time: float = 1.0, allowed_gap: float = 0.25, pre_trigger_time: float = 0.0, boot_time: float = 0.35, noise_up_time: float = 0.1, noise_down_time: float = 0.01, noise_reduction_amount: float = 1.35, measure_freq: float = 20.0, measure_duration: Optional[float] = None, measure_smooth_time: float = 0.4, hp_filter_freq: float = 50.0, lp_filter_freq: float = 6000.0, hp_lifter_freq: float = 150.0, lp_lifter_freq: float = 2000.0)[源代码]¶
语音活动检测器。与 SoX 实现类似。
尝试从语音录音的末尾去除静音和低沉的背景声音。该算法目前使用简单的倒谱功率测量来检测语音,因此可能会被其他声音(尤其是音乐)所迷惑。
该效果只能从音频的前端进行修剪,因此要从后端进行修剪,还必须使用反向效果。
- 参数
sample_rate (int) – 音频信号的采样率。
trigger_level (float, optional) – 用于触发活动检测的测量级别。这可能需要根据输入音频的噪声水平、信号水平和其他特性进行更改。(默认值: 7.0)
trigger_time (float, optional) – 用于帮助忽略短暂声音的(秒为单位的)时间常数。(默认值: 0.25)
search_time (float, optional) – 用于搜索在检测到的触发点之前包含的较安静/较短声音爆发的音频量(以秒为单位)。(默认值: 1.0)
allowed_gap (float, optional) – 在检测到的触发点之前包含的较安静/较短声音爆发之间的允许间隙(以秒为单位)。(默认值: 0.25)
pre_trigger_time (float, optional) – 在触发点和找到的任何较安静/较短声音爆发之前要保留的音频量(以秒为单位)。(默认值: 0.0)
boot_time (float, optional) 算法(python:内部) – 估计/减少以检测所需音频的开始。此选项设置初始噪声估计的时间。(默认值: 0.35)
noise_up_time (float, optional) – 当噪声水平上升时。(默认值: 0.1)
noise_down_time (float, optional) – 当噪声水平下降时。(默认值: 0.01)
noise_reduction_amount (float, optional) – 检测算法(例如 0、0.5 等)。(默认值: 1.35)
measure_freq (float, optional) – 处理/测量。(默认值: 20.0)
measure_duration – (float 或 None, optional) 测量持续时间。(默认值: 测量周期的两倍;即,带有重叠。)
measure_smooth_time (float, optional) – 频谱测量。(默认值: 0.4)
hp_filter_freq (float, optional) – 在输入到检测器算法时。(默认值: 50.0)
lp_filter_freq (float, optional) – 在输入到检测器算法时。(默认值: 6000.0)
hp_lifter_freq (float, optional) – 在检测器算法中。(默认值: 150.0)
lp_lifter_freq (float, optional) – 在检测器算法中。(默认值: 2000.0)
- 示例
>>> waveform, sample_rate = torchaudio.load("test.wav", normalize=True) >>> waveform_reversed, sample_rate = apply_effects_tensor(waveform, sample_rate, [["reverse"]]) >>> transform = transforms.Vad(sample_rate=sample_rate, trigger_level=7.5) >>> waveform_reversed_front_trim = transform(waveform_reversed) >>> waveform_end_trim, sample_rate = apply_effects_tensor( >>> waveform_reversed_front_trim, sample_rate, [["reverse"]] >>> )
- 参考