mirror of
https://github.com/babysor/MockingBird.git
synced 2024-03-22 13:11:31 +08:00
b617a87ee4
* Init ppg extractor and ppg2mel * add preprocess and training * FIx known issues * Update __init__.py Allow to gen audio * Fix length issue * Fix bug of preparing fid * Fix sample issues * Add UI usage of PPG-vc
31 lines
676 B
Python
31 lines
676 B
Python
#!/usr/bin/env python3
|
|
# -*- coding: utf-8 -*-
|
|
|
|
# Copyright 2019 Shigeki Karita
|
|
# Apache 2.0 (http://www.apache.org/licenses/LICENSE-2.0)
|
|
|
|
"""Repeat the same layer definition."""
|
|
|
|
import torch
|
|
|
|
|
|
class MultiSequential(torch.nn.Sequential):
|
|
"""Multi-input multi-output torch.nn.Sequential."""
|
|
|
|
def forward(self, *args):
|
|
"""Repeat."""
|
|
for m in self:
|
|
args = m(*args)
|
|
return args
|
|
|
|
|
|
def repeat(N, fn):
|
|
"""Repeat module N times.
|
|
|
|
:param int N: repeat time
|
|
:param function fn: function to generate module
|
|
:return: repeated modules
|
|
:rtype: MultiSequential
|
|
"""
|
|
return MultiSequential(*[fn(n) for n in range(N)])
|