torchaudio.models¶
models 子包包含用于解决常见音频任务的模型定义。
ConvTasNet 公司¶
-
类(num_sources:int = 2,enc_kernel_size:int = 16,enc_num_feats:int = 512,msk_kernel_size:int = 3,msk_num_feats:int = 128,msk_num_hidden_feats:int = 512,msk_num_layers:int = 8,msk_num_stacks:int = 3)[来源]
torchaudio.models.
ConvTasNet
¶ Conv-TasNet:全卷积时域音频分离网络
- 参数
num_sources (int) – 要拆分的源数。
enc_kernel_size (int) – 编码器/解码器的卷积核大小 <L>。
enc_num_feats (int) – 传递给掩码生成器的特征维度 <N>。
msk_kernel_size (int) - 掩码生成器的卷积核大小 <P>。
msk_num_feats (int) - 掩码生成器中 conv 块的输入/输出特征维度,<B, Sc>。
msk_num_hidden_feats (int) - 掩码生成器的 conv 块的内部特征维度 <H>。
msk_num_layers (int) – 蒙版生成器的一个 conv 块中的层数 <X>。
msk_num_stacks (int) - 掩码生成器 <R> 的 conv 块的数量。
注意
此实现对应于论文中的 “non-causal” 设置。
- 参考:
Conv-TasNet:超越理想的时频幅度掩码,实现语音分离
罗、伊和梅斯加拉尼、尼玛
-
forward
(输入:Torch。Tensor) → torch 的 Tensor 中。张量[来源]¶ 执行源分离。生成音频源波形。
- 参数
input (Torch.Tensor) – 形状为 [batch, channel==1, frames] 的 3D Tensor
- 返回
形状为 [batch, channel==num_sources, frames] 的 3D 张量
- 返回类型
Wav2字母¶
-
类(num_classes:int = 40,input_type:str = '波形',num_features:int = 1)[来源]
torchaudio.models.
Wav2Letter
¶ Wav2Letter 的 Wav2Letter 模型架构,Wav2Letter,一种基于 ConvNet 的端到端语音识别系统。
\(\text{padding} = \frac{\text{ceil}(\text{kernel} - \text{stride})}{2}\)
- 参数
-
forward
(x:Torch。Tensor) → torch 的 Tensor 中。张量[来源]¶ - 参数
x (Torch。Tensor) - 维度 (batch_size, num_features, input_length) 的张量。
- 返回
维度 (batch_size, number_of_classes, input_length) 的预测因子张量。
- 返回类型
张肌
WaveRNN¶
-
类(upsample_scales:List[int],n_classes:int,hop_length:int,n_res_block:int = 10,n_rnn:int = 512,n_fc:int = 512,kernel_size:int = 5,n_freq:int = 128,n_hidden:int = 128,n_output:int = 128)[源]
torchaudio.models.
WaveRNN
¶ 基于 fatchord 实现的 WaveRNN 模型。
最初的实现是在 “Efficient Neural Audio Synthesis” 中引入的。 waveform 和 spectrogram 的 input channels 必须为 1。upsample_scales 的乘积必须等于 hop_length。
- 参数
upsample_scales – 上采样比例列表。
n_classes – 输出类的数量。
hop_length – 连续帧开始之间的样本数。
n_res_block – 堆栈中 ResBlock 的数量。(默认:
10
)n_rnn – RNN 层的维度。(默认:
512
)n_fc – 全连接层的维度。(默认:
512
)kernel_size – 第一个 Conv1d 层中的内核大小数。(默认:
5
)n_freq – 频谱图中的区间数。(默认:
128
)n_hidden – resblock 的隐藏维度数。(默认:
128
)n_output – MelresNet 的输出维度数。(默认:
128
)
- 例
>>> wavernn = WaveRNN(upsample_scales=[5,5,8], n_classes=512, hop_length=200) >>> waveform, sample_rate = torchaudio.load(file) >>> # waveform shape: (n_batch, n_channel, (n_time - kernel_size + 1) * hop_length) >>> specgram = MelSpectrogram(sample_rate)(waveform) # shape: (n_batch, n_channel, n_freq, n_time) >>> output = wavernn(waveform, specgram) >>> # output shape: (n_batch, n_channel, (n_time - kernel_size + 1) * hop_length, n_classes)