speechbrain.lobes.models.discrete.wavtokenizer 模块
该模块支持集成预训练的WavTokenizer。
请注意,您需要 pip 安装 git+https://github.com/Tomiinek/WavTokenizer 才能使用此模块。
仓库: https://github.com/jishengpeng/WavTokenizer/ 论文: https://arxiv.org/abs/2408.16532
- Authors
Pooneh Mousavi 2024
摘要
类:
该模块支持集成预训练的WavTokenizer模型,这是一种用于音频语言建模的具有单一码本的离散编解码模型。 |
参考
- class speechbrain.lobes.models.discrete.wavtokenizer.WavTokenizer(source, save_path=None, config='wavtokenizer_smalldata_frame40_3s_nq1_code4096_dim512_kmeans200_attn.yaml', checkpoint='WavTokenizer_small_600_24k_4096.ckpt', sample_rate=24000, freeze=True)[source]
基础:
Module该模块支持集成预训练的WavTokenizer模型,这是一种用于音频语言建模的具有单码本的离散编解码模型。
- Source paper:
你需要 pip 安装
git+https://github.com/Tomiinek/WavTokenizer来使用这个模块。该代码改编自官方的WavTokenizer仓库: https://github.com/jishengpeng/WavTokenizer/
- Parameters:
Example
>>> model_hub = "novateur/WavTokenizer" >>> save_path = "savedir" >>> config="wavtokenizer_smalldata_frame40_3s_nq1_code4096_dim512_kmeans200_attn.yaml" >>> checkpoint="WavTokenizer_small_600_24k_4096.ckpt" >>> model = WavTokenizer(model_hub, save_path,config=config,checkpoint=checkpoint) >>> audio = torch.randn(4, 48000) >>> length = torch.tensor([1.0, .5, .75, 1.0]) >>> tokens, embs= model.encode(audio) >>> tokens.shape torch.Size([4, 1, 80]) >>> embs.shape torch.Size([4, 80, 512]) >>> rec = model.decode(tokens) >>> rec.shape torch.Size([4, 48000])
- forward(inputs)[source]
将输入音频编码为令牌和嵌入,并从令牌解码音频
- Parameters:
inputs (torch.Tensor) – 一个 (Batch x Samples) 的音频张量
- Returns:
tokens (torch.Tensor) – 一个 (Batch x Tokens x Heads) 的音频令牌张量
emb (torch.Tensor) – 来自模型量化器的原始向量嵌入
audio (torch.Tensor) – 重构的音频