from heartlib import HeartMuLaGenPipeline import argparse import torch def parse_args(): parser = argparse.ArgumentParser() parser.add_argument("--model_path", type=str, required=True) parser.add_argument("--version", type=str, default="3B") parser.add_argument("--lyrics", type=str, default="./assets/lyrics.txt") parser.add_argument("--tags", type=str, default="./assets/tags.txt") parser.add_argument("--save_path", type=str, default="./assets/output.mp3") parser.add_argument("--max_audio_length_ms", type=int, default=240_000) parser.add_argument("--topk", type=int, default=50) parser.add_argument("--temperature", type=float, default=1.0) parser.add_argument("--cfg_scale", type=float, default=1.5) return parser.parse_args() if __name__ == "__main__": args = parse_args() pipe = HeartMuLaGenPipeline.from_pretrained( args.model_path, device=torch.device("cuda"), dtype=torch.bfloat16, version=args.version, ) with torch.no_grad(): pipe( { "lyrics": args.lyrics, "tags": args.tags, }, max_audio_length_ms=args.max_audio_length_ms, save_path=args.save_path, topk=args.topk, temperature=args.temperature, cfg_scale=args.cfg_scale, ) print(f"Generated music saved to {args.save_path}")