Spaces:
Running
Running
#!/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() | |