File size: 1,482 Bytes
4401a6e
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
import argparse
import sys
import os

def main():
    parser = argparse.ArgumentParser(description="Entrenamiento RVC por Consola")
    parser.add_argument("--audio", required=True, help="Ruta al archivo de audio (WAV/MP3)")
    parser.add_argument("--name", required=True, help="Nombre del modelo (sin espacios)")
    parser.add_argument("--epochs", type=int, default=100, help="Número de epochs (defecto: 100)")
    parser.add_argument("--batch_size", type=int, default=8, help="Tamaño de lote (defecto: 8 para L4)")
    parser.add_argument("--f0_method", type=str, default="rmvpe", choices=["rmvpe", "crepe", "fcpe"], help="Método F0")
    parser.add_argument("--save_every", type=int, default=10, help="Guardar checkpoint cada X epochs")

    args = parser.parse_args()

    # Import locally
    from pipeline.rvc_training import train_rvc_model

    print(f"\n🚀 Iniciando entrenamiento por consola para el modelo: {args.name}")
    print(f"📊 Parámetros: Epochs={args.epochs}, Batch={args.batch_size}, F0={args.f0_method}\n")

    status, download_path = train_rvc_model(
        audio_path=args.audio,
        model_name=args.name,
        epochs=args.epochs,
        batch_size=args.batch_size,
        f0_method=args.f0_method,
        save_every=args.save_every,
        progress=None
    )

    print("\n✅ ESTADO FINAL:")
    print(status)
    if download_path:
        print(f"📁 Archivo generado en: {download_path}")

if __name__ == "__main__":
    main()