HoneyTian's picture
first commit
a8c8d73
#!/usr/bin/python3
# -*- coding: utf-8 -*-
import argparse
import os.path
import librosa
import numpy as np
from scipy.io import wavfile
from project_settings import project_path
def get_args():
parser = argparse.ArgumentParser()
parser.add_argument(
"--filename",
default=(project_path / "data/voice_clone_audio/e2_tts/audio_0_3_clone_from_audio_0_2.wav").as_posix(),
type=str,
)
parser.add_argument(
"--output_file",
default="temp.wav",
type=str,
)
parser.add_argument("--speed", default=1.1, type=float)
args = parser.parse_args()
return args
def main():
args = get_args()
signal, sample_rate = librosa.load(args.filename, sr=None)
signal_ = librosa.effects.time_stretch(signal, rate=args.speed)
# max_wave_value = 32768.0
max_wave_value = 1 << 15
signal_ = signal_ * max_wave_value
signal_ = np.array(signal_, dtype=np.int16)
wavfile.write(
filename=args.output_file,
rate=sample_rate,
data=signal_
)
return
if __name__ == "__main__":
main()