speechbrain.inference.encoders 模块
指定语音和音频编码器的推理接口。
- 作者
Aku Rouhe 2021
Peter Plantinga 2021
Loren Lugosch 2020
Mirco Ravanelli 2020
Titouan Parcollet 2021
Abdel Heba 2021
Andreas Nautsch 2022, 2023
Pooneh Mousavi 2023
Sylvain de Langen 2023
Adel Moumen 2023
Pradnya Kandarkar 2023
摘要
类
专为 Zero-Shot 多说话人 TTS 模型创建的 MelSpectrogramEncoder 类。 |
|
一个即用型 waveformEncoder 模型 |
参考
- class speechbrain.inference.encoders.WaveformEncoder(modules=None, hparams=None, run_opts=None, freeze_params=True)[source]
基类:
Pretrained
一个即用型 waveformEncoder 模型
可用于封装不同的嵌入模型,例如 SSL 模型 (wav2vec2) 或说话人模型 (Xvector) 等。提供了两个函数:encode_batch 和 encode_file。它们分别用于直接从音频文件或音频张量批次中获取嵌入。
给定的 YAML 必须包含 *_NEEDED[] 列表中指定的字段。
- 参数:
Pretrained (参见)
示例
>>> from speechbrain.inference.encoders import WaveformEncoder >>> tmpdir = getfixture("tmpdir") >>> ssl_model = WaveformEncoder.from_hparams( ... source="speechbrain/ssl-wav2vec2-base-libri", ... savedir=tmpdir, ... ) >>> ssl_model.encode_file("samples/audio_samples/example_fr.wav")
- MODULES_NEEDED = ['encoder']
- class speechbrain.inference.encoders.MelSpectrogramEncoder(modules=None, hparams=None, run_opts=None, freeze_params=True)[source]
基类:
Pretrained
专为 Zero-Shot 多说话人 TTS 模型创建的 MelSpectrogramEncoder 类。
这是为使用 PyTorch MelSpectrogram 转换的说话人编码器模型而设计的,以与当前 TTS 流水线兼容。
此类可用于编码单个波形、单个 Mel 频谱图或 Mel 频谱图批次。
- 参数:
Pretrained (参见)
示例
>>> import torchaudio >>> from speechbrain.inference.encoders import MelSpectrogramEncoder >>> # Model is downloaded from the speechbrain HuggingFace repo >>> tmpdir = getfixture("tmpdir") >>> encoder = MelSpectrogramEncoder.from_hparams( ... source="speechbrain/tts-ecapa-voxceleb", ... savedir=tmpdir, ... )
>>> # Compute embedding from a waveform (sample_rate must match the sample rate of the encoder) >>> signal, fs = torchaudio.load("tests/samples/single-mic/example1.wav") >>> spk_emb = encoder.encode_waveform(signal)
>>> # Compute embedding from a mel-spectrogram (sample_rate must match the sample rate of the ecoder) >>> mel_spec = encoder.mel_spectogram(audio=signal) >>> spk_emb = encoder.encode_mel_spectrogram(mel_spec)
>>> # Compute embeddings for a batch of mel-spectrograms >>> spk_embs = encoder.encode_mel_spectrogram_batch(mel_spec)
- MODULES_NEEDED = ['normalizer', 'embedding_model']
- mel_spectogram(audio)[source]
计算原始音频信号的 Mel 频谱图
- 参数:
audio (torch.tensor) – 输入音频信号
- 返回:
mel – Mel 频谱图
- 返回类型:
torch.Tensor
- encode_waveform(wav)[source]
编码单个波形
- 参数:
wav (torch.Tensor) – 波形
- 返回:
encoder_out – 输入波形的说话人嵌入
- 返回类型:
torch.Tensor