torchaudio.prototype.functional.extend_pitch¶
- torchaudio.prototype.functional.extend_pitch(base: Tensor, pattern: Union[int, List[float], Tensor])[原始碼]¶
將給定的時間序列值與其乘數進行擴充套件。
給定一系列基頻(音高),此函式會追加其泛音(harmonic overtones)或非諧波分音(inharmonic partials)。
- 引數:
base (torch.Tensor) – 基時間序列,例如基頻(Hz)。形狀:(…, 時間, 1)。
pattern (int, python:floats 列表 或 torch.Tensor) –
如果為
int,則表示操作後的音高序列數量。pattern - 1 個音調被新增,從而生成的 Tensor 包含給定序列的最多 pattern 泛音。如果為 float 列表或
torch.Tensor,它必須是一維的,表示基頻的自定義乘數。
- 返回:
振盪器頻率(Hz)。形狀:(…, 時間, num_tones)。
- 返回型別:
Tensor
- 示例
>>> # fundamental frequency >>> f0 = torch.linspace(1, 5, 5).unsqueeze(-1) >>> f0 tensor([[1.], [2.], [3.], [4.], [5.]]) >>> # Add harmonic overtones, up to 3rd. >>> f = extend_pitch(f0, 3) >>> f.shape torch.Size([5, 3]) >>> f tensor([[ 1., 2., 3.], [ 2., 4., 6.], [ 3., 6., 9.], [ 4., 8., 12.], [ 5., 10., 15.]]) >>> # Add custom (inharmonic) partials. >>> f = extend_pitch(f0, torch.tensor([1, 2.1, 3.3, 4.5])) >>> f.shape torch.Size([5, 4]) >>> f tensor([[ 1.0000, 2.1000, 3.3000, 4.5000], [ 2.0000, 4.2000, 6.6000, 9.0000], [ 3.0000, 6.3000, 9.9000, 13.5000], [ 4.0000, 8.4000, 13.2000, 18.0000], [ 5.0000, 10.5000, 16.5000, 22.5000]])
- 使用
extend_pitch的教程