mirror of https://github.com/coqui-ai/TTS.git
update mulaw decoder
This commit is contained in:
parent
f096f1052f
commit
127a6b68e0
|
@ -218,25 +218,22 @@ class AudioProcessor(object):
|
||||||
return librosa.effects.trim(
|
return librosa.effects.trim(
|
||||||
wav, top_db=40, frame_length=1024, hop_length=256)[0]
|
wav, top_db=40, frame_length=1024, hop_length=256)[0]
|
||||||
|
|
||||||
# WaveRNN repo specific functions
|
@staticmethod
|
||||||
# def mulaw_encode(self, wav, qc):
|
def mulaw_encode(wav, qc):
|
||||||
# mu = qc - 1
|
mu = 2 ** qc - 1
|
||||||
# wav_abs = np.minimum(np.abs(wav), 1.0)
|
# wav_abs = np.minimum(np.abs(wav), 1.0)
|
||||||
# magnitude = np.log(1 + mu * wav_abs) / np.log(1. + mu)
|
signal = np.sign(wav) * np.log(1 + mu * np.abs(wav)) / np.log(1. + mu)
|
||||||
# signal = np.sign(wav) * magnitude
|
# Quantize signal to the specified number of levels.
|
||||||
# # Quantize signal to the specified number of levels.
|
signal = (signal + 1) / 2 * mu + 0.5
|
||||||
# signal = (signal + 1) / 2 * mu + 0.5
|
return np.floor(signal,)
|
||||||
# return signal.astype(np.int32)
|
|
||||||
|
|
||||||
# def mulaw_decode(self, wav, qc):
|
@staticmethod
|
||||||
# """Recovers waveform from quantized values."""
|
def mulaw_decode(wav, qc):
|
||||||
# mu = qc - 1
|
"""Recovers waveform from quantized values."""
|
||||||
# # Map values back to [-1, 1].
|
mu = 2 ** qc - 1
|
||||||
# casted = wav.astype(np.float32)
|
mu = mu - 1
|
||||||
# signal = 2 * (casted / mu) - 1
|
signal = np.sign(wav) / mu * ((1 + mu) ** np.abs(wav) - 1)
|
||||||
# # Perform inverse of mu-law transformation.
|
return signal
|
||||||
# magnitude = (1 / mu) * ((1 + mu) ** abs(signal) - 1)
|
|
||||||
# return np.sign(signal) * magnitude
|
|
||||||
|
|
||||||
def load_wav(self, filename, encode=False):
|
def load_wav(self, filename, encode=False):
|
||||||
x, sr = sf.read(filename)
|
x, sr = sf.read(filename)
|
||||||
|
|
Loading…
Reference in New Issue