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:internally) – 估計/減少,以便偵測到所需音訊的開始。此選項設定初始雜訊估計的時間。(預設值: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"]] >>> )
- 參考文獻