Hiroshiba / become-yukarin

Convert your voice to favorite voice
https://hiroshiba.github.io/blog/became-yuduki-yukari-with-deep-learning-power/
MIT License
576 stars 88 forks source link

become_yukarin/param.pyで指定されているalphaの値 #11

Closed miyasou714 closed 6 years ago

miyasou714 commented 6 years ago

現在、alpha = 0.466と指定されておりますが こちらの値はサンプリング周波数ごとに異なるようです https://github.com/marytts/marytts/blob/master/marytts-builder/src/main/java/marytts/tools/voiceimport/HMMVoiceConfigure.java#L151

pysptkのutil.pyに実装があるようなので可能であれば周波数ごとにalphaを指定するように対応していただけませんでしょうか https://github.com/r9y9/pysptk/blob/5829eba57324bd6a8d1d4badc6b7e31c108ae97e/pysptk/util.py#L140

お手数ですがよろしくお願いします

Hiroshiba commented 6 years ago

ここのことでしょうか? https://github.com/Hiroshiba/become-yukarin/blob/210e8225e4f7c95d6d0c89309b5b1eb20e41e744/become_yukarin/param.py#L13

ここは、sample_rateのあるVoiceParamと、alphaのあるAcousticFeatureParamを分けて定義してしまったので、こんな感じのめんどくさいコードになってしまっています。 気が向いたら、↓みたいにして統合して、alphaを勝手に求めてくれるようにしてみます。

class Param(NamedTuple):
    sample_rate: int = 24000
    top_db: float = None
    pad_second: float = 0.0
    frame_period: int = 5
    order: int = 8
#     alpha: float = 0.466
    f0_estimating_method: str = 'harvest'  # dio / harvest

    @property
    def alpha(self):
        return mcepalpha(self.sample_rate)