Spaces:
Running
Running
| import argparse | |
| import os | |
| import json | |
| def validate_sampling_rate(value): | |
| valid_sampling = [ | |
| "32000", | |
| "40000", | |
| "48000", | |
| ] | |
| if value in valid_sampling: | |
| return value | |
| else: | |
| raise argparse.ArgumentTypeError( | |
| f"Invalid sampling_rate. Please choose from {valid_sampling} not {value}" | |
| ) | |
| def validate_f0up_key(value): | |
| f0up_key = int(value) | |
| if -24 <= f0up_key <= 24: | |
| return f0up_key | |
| else: | |
| raise argparse.ArgumentTypeError(f"f0up_key must be in the range of -24 to +24") | |
| def validate_true_false(value): | |
| valid_tf = [ | |
| "True", | |
| "False", | |
| ] | |
| if value in valid_tf: | |
| return value | |
| else: | |
| raise argparse.ArgumentTypeError( | |
| f"Invalid true_false. Please choose from {valid_tf} not {value}" | |
| ) | |
| def validate_f0method(value): | |
| valid_f0methods = [ | |
| "pm", | |
| "dio", | |
| "crepe", | |
| "crepe-tiny", | |
| "harvest", | |
| "rmvpe", | |
| ] | |
| if value in valid_f0methods: | |
| return value | |
| else: | |
| raise argparse.ArgumentTypeError( | |
| f"Invalid f0method. Please choose from {valid_f0methods} not {value}" | |
| ) | |
| def validate_tts_voices(value): | |
| json_path = os.path.join("rvc", "lib", "tools", "tts_voices.json") | |
| with open(json_path, 'r') as file: | |
| tts_voices_data = json.load(file) | |
| # Extrae los valores de "ShortName" del JSON | |
| short_names = [voice.get("ShortName", "") for voice in tts_voices_data] | |
| if value in short_names: | |
| return value | |
| else: | |
| raise argparse.ArgumentTypeError( | |
| f"Invalid voice. Please choose from {short_names} not {value}" | |
| ) |