#!/usr/bin/python3
# -*- coding: utf-8 -*-
import argparse
import shutil

from gradio_client import Client, handle_file


# language1 = "英语"
# language2 = "English"
# language1 = "西班牙语"
# language2 = "Spanish"
language1 = "日语"
language2 = "Japanese"
# language1 = "葡萄牙语"
# language2 = "Portuguese"
# language1 = "韩语"
# language2 = "Korean"
# language1 = "阿拉伯语"
# language2 = "Arabic"
# language1 = "中国台湾"
# language2 = "Chinese"


def get_args():
    parser = argparse.ArgumentParser()
    parser.add_argument(
        "--text",
        # default="thirty-three dollars and seventy-two cents",
        # default="treinta y tres euros con setenta y dos céntimos",
        default="33.72円",
        # default="33.72 درهم",
        # default="三十三元七角两分",
        type=str,
    )
    parser.add_argument(
        "--reference",
        default=rf"E:\牛信文档\语音克隆\多语种语音克隆\money_num\{language1}\{language2}_1.wav",
        type=str,
    )
    parser.add_argument(
        "--output_file",
        default=rf"E:\牛信文档\语音克隆\多语种语音克隆\money_num\{language1}\xtts_v2_{language2.lower()}_2.wav",
        type=str,
    )
    args = parser.parse_args()
    return args


def main():
    args = get_args()

    client = Client("https://coqui-xtts.hf.space/--replicas/o7bhl/")

    _, synthesised_audio, _, _ = client.predict(
        args.text,
        # "en",
        # "es",
        "ja",
        # "pt",
        # "ko",
        # "ar",
        # "zh-cn",
        args.reference,
        args.reference,
        False, False, True, True,
        fn_index=1
    )

    shutil.move(
        synthesised_audio,
        args.output_file
    )
    return


if __name__ == '__main__':
    main()