| 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}") |
|
|