speechbrain.inference.speaker 模块
指定用于说话人识别模块的推理接口。
- Authors:
阿库·罗赫 2021
彼得·普兰廷加 2021
洛伦·卢戈斯奇 2020
Mirco Ravanelli 2020
Titouan Parcollet 2021
阿卜杜勒·赫巴 2021
安德烈亚斯·诺茨 2022, 2023
Pooneh Mousavi 2023
Sylvain de Langen 2023
阿德尔·穆门 2023
普拉迪亚·坎达尔卡 2023
摘要
类:
一个即用型的说话人识别模型。 |
参考
- class speechbrain.inference.speaker.SpeakerRecognition(*args, **kwargs)[source]
基础类:
EncoderClassifier一个现成的说话人识别模型。它可以用于通过verify_batch()执行说话人验证。
Example
>>> import torchaudio >>> from speechbrain.inference.speaker import SpeakerRecognition >>> # Model is downloaded from the speechbrain HuggingFace repo >>> tmpdir = getfixture("tmpdir") >>> verification = SpeakerRecognition.from_hparams( ... source="speechbrain/spkrec-ecapa-voxceleb", ... savedir=tmpdir, ... )
>>> # Perform verification >>> signal, fs = torchaudio.load("tests/samples/single-mic/example1.wav") >>> signal2, fs = torchaudio.load("tests/samples/single-mic/example2.flac") >>> score, prediction = verification.verify_batch(signal, signal2)
- MODULES_NEEDED = ['compute_features', 'mean_var_norm', 'embedding_model', 'mean_var_norm_emb']
- verify_batch(wavs1, wavs2, wav1_lens=None, wav2_lens=None, threshold=0.25)[source]
使用余弦距离执行说话人验证。
它返回分数和决策(0 表示不同的说话者,1 表示相同的说话者)。
- Parameters:
wavs1 (Torch.Tensor) – 包含语音波形1的torch.Tensor(批次,时间)。 确保采样率为fs=16000 Hz。
wavs2 (Torch.Tensor) – 包含语音波形2的torch.Tensor(批次,时间)。 确保采样率为fs=16000 Hz。
wav1_lens (Torch.Tensor) – 包含每个句子相对长度的torch.Tensor 在长度中(例如,[0.8 0.6 1.0])
wav2_lens (Torch.Tensor) – 包含每个句子相对长度的torch.Tensor 在长度中(例如,[0.8 0.6 1.0])
threshold (Float) – 应用于余弦距离的阈值,用于决定说话者是不同(0)还是相同(1)。
- Returns:
score – 与二进制验证输出相关的分数(余弦距离)。
prediction – 如果输入的两个信号来自同一个说话者,则预测为1,否则为0。