From c125b71f36feb0fc327b61c9a0a880056c8bd6f6 Mon Sep 17 00:00:00 2001 From: Julian Weber Date: Thu, 22 Apr 2021 15:14:24 +0200 Subject: [PATCH 1/4] fix windows support --- TTS/utils/audio.py | 23 ++++++++++++++++------- 1 file changed, 16 insertions(+), 7 deletions(-) diff --git a/TTS/utils/audio.py b/TTS/utils/audio.py index ed2dca77..b9a02942 100644 --- a/TTS/utils/audio.py +++ b/TTS/utils/audio.py @@ -103,11 +103,10 @@ class AudioProcessor(object): self.do_sound_norm = do_sound_norm self.stats_path = stats_path # setup exp_func for db to amp conversion - exec(f"self.log_func = {log_func}") # pylint: disable=exec-used - if self.log_func.__name__ == "log": - self.exp_func = np.exp - elif self.log_func.__name__ == "log10": - self.exp_func = lambda x: 10 ** x + if log_func == "np.log": + self.base = np.e + elif log_func == "np.log10": + self.base = 10 else: raise ValueError(" [!] unknown `log_func` value.") # setup stft parameters @@ -246,11 +245,11 @@ class AudioProcessor(object): ### DB and AMP conversion ### # pylint: disable=no-self-use def _amp_to_db(self, x): - return self.spec_gain * self.log_func(np.maximum(1e-5, x)) + return self.spec_gain * log_(np.maximum(1e-5, x), self.base) # pylint: disable=no-self-use def _db_to_amp(self, x): - return self.exp_func(x / self.spec_gain) + return exp_(x / self.spec_gain, self.base) ### Preemphasis ### def apply_preemphasis(self, x): @@ -429,3 +428,13 @@ class AudioProcessor(object): @staticmethod def dequantize(x, bits): return 2 * x / (2 ** bits - 1) - 1 + +def log_(x, base): + if base == 10: + return np.log(x) + return np.log10(x) + +def exp_(x, base): + if base == np.e: + return np.exp(x) + return base ** x From 355e1f47abf5c678e881a9b09afe0365565ce710 Mon Sep 17 00:00:00 2001 From: Julian Weber Date: Thu, 22 Apr 2021 15:50:29 +0200 Subject: [PATCH 2/4] fix dumb mistake --- TTS/utils/audio.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/TTS/utils/audio.py b/TTS/utils/audio.py index b9a02942..1d7b7034 100644 --- a/TTS/utils/audio.py +++ b/TTS/utils/audio.py @@ -51,7 +51,7 @@ class AudioProcessor(object): sample_rate=None, resample=False, num_mels=None, - log_func="np.log10", + log_func="np.log", min_level_db=None, frame_shift_ms=None, frame_length_ms=None, @@ -431,10 +431,10 @@ class AudioProcessor(object): def log_(x, base): if base == 10: - return np.log(x) - return np.log10(x) + return np.log10(x) + return np.log(x) def exp_(x, base): - if base == np.e: - return np.exp(x) - return base ** x + if base == 10: + return np.power(10, x) + return np.exp(x) From a26498181bce50f6172f9c4aaf7394e61de76670 Mon Sep 17 00:00:00 2001 From: WeberJulian Date: Thu, 22 Apr 2021 16:10:17 +0200 Subject: [PATCH 3/4] Change back the default value --- TTS/utils/audio.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/TTS/utils/audio.py b/TTS/utils/audio.py index 1d7b7034..154f1c53 100644 --- a/TTS/utils/audio.py +++ b/TTS/utils/audio.py @@ -51,7 +51,7 @@ class AudioProcessor(object): sample_rate=None, resample=False, num_mels=None, - log_func="np.log", + log_func="np.log10", min_level_db=None, frame_shift_ms=None, frame_length_ms=None, From 4205284f92fc1bcab6a89f647ffc9db0a332d94d Mon Sep 17 00:00:00 2001 From: WeberJulian Date: Fri, 23 Apr 2021 10:09:55 +0200 Subject: [PATCH 4/4] Change name of the functions --- TTS/utils/audio.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/TTS/utils/audio.py b/TTS/utils/audio.py index 154f1c53..c476065d 100644 --- a/TTS/utils/audio.py +++ b/TTS/utils/audio.py @@ -245,11 +245,11 @@ class AudioProcessor(object): ### DB and AMP conversion ### # pylint: disable=no-self-use def _amp_to_db(self, x): - return self.spec_gain * log_(np.maximum(1e-5, x), self.base) + return self.spec_gain * _log(np.maximum(1e-5, x), self.base) # pylint: disable=no-self-use def _db_to_amp(self, x): - return exp_(x / self.spec_gain, self.base) + return _exp(x / self.spec_gain, self.base) ### Preemphasis ### def apply_preemphasis(self, x): @@ -429,12 +429,12 @@ class AudioProcessor(object): def dequantize(x, bits): return 2 * x / (2 ** bits - 1) - 1 -def log_(x, base): +def _log(x, base): if base == 10: return np.log10(x) return np.log(x) -def exp_(x, base): +def _exp(x, base): if base == 10: return np.power(10, x) return np.exp(x)