以下为稳定的公共接口。完整签名以源码 docstring 为准。
| 名称 | 说明 |
|---|---|
stft(x, n_fft=512, hop_length=None, window="hann", center=True) |
短时傅里叶变换 |
istft(spec, n_fft=None, hop_length=None, window="hann", center=True, length=None) |
逆变换 |
ideal_binary_mask(sources) |
理想二值掩蔽 IBM |
ideal_ratio_mask(sources) |
理想比值掩蔽 IRM |
wiener_mask(sources) |
维纳型(功率比)掩蔽 |
phase_sensitive_mask(sources, mixture=None, clip=(0,1)) |
相位敏感掩蔽 PSM |
complex_ratio_mask(sources, mixture=None) |
复数比值掩蔽 cIRM |
reconstruct_waveforms(mixture, mask, ...) |
掩蔽作用 + 逆 STFT |
si_sdr(estimate, reference) |
SI-SDR(dB) |
si_sdr_improvement(estimate, reference, mixture) |
SI-SDRi(dB) |
snr(estimate, reference) |
尺度相关 SNR(dB) |
bss_eval_sources(estimate, references) |
返回 BSSMetrics(sdr, sir, sar) |
evaluate_separation(estimates, references, mixture=None) |
置换感知整体评估 |
resolve_permutation(estimates, references, metric, maximize=True) |
最优置换求解 |
OracleTFMaskSeparator(references, mask="irm", ...) |
oracle 时频掩蔽分离器 |
mix_sources(sources, snr_db=None) |
按目标 SNR 混合,返回 Mixture |
stft, istft, get_window, check_cola, frame_signal, overlap_add, num_frames
上述掩蔽函数 + apply_mask, reconstruct_waveforms, REAL_MASKS, available_masks
resolve_permutation, reorder, pairwise_matrix, PITResult,
hungarian, all_permutations, best_permutation_bruteforce, score_all_permutations
si_sdr, si_sdr_improvement, snr, bss_eval_sources, BSSMetrics,
evaluate_separation, EvaluationReport
tone, harmonic, chirp, white_noise, mix_sources, Mixture
torch_si_sdr(estimate, reference), pit_sisdr_loss(estimates, references)
read_wav(path) -> (data, sample_rate), write_wav(path, data, sample_rate=16000)
Mixture(mixture, sources)SeparationResult(sources, sample_rate)—— 属性n_sourcesPITResult(permutation, score, pairwise)BSSMetrics(sdr, sir, sar)EvaluationReport(permutation, si_sdr, si_sdri, sdr, sir, sar, extra)—— 属性mean_si_sdr,mean_si_sdri