修改FishSpeech的webui.py直接运行,以及对新版本vit的一些疑惑

项目需要音色克隆,修改webui.py直接运行。

在主函数部分修改如下:

if __name__ == "__main__":
    args = parse_args()
    args.precision = torch.half if args.half else torch.bfloat16

    logger.info("Loading Llama model...")
    llama_queue = launch_thread_safe_queue(
        config_name=args.llama_config_name,
        checkpoint_path=args.llama_checkpoint_path,
        device=args.device,
        precision=args.precision,
        max_length=args.max_length,
        compile=args.compile,
    )
    llama_tokenizer = AutoTokenizer.from_pretrained(args.tokenizer)
    logger.info("Llama model loaded, loading VQ-GAN model...")

    decoder_model = load_decoder_model(
        config_name=args.decoder_config_name,
        checkpoint_path=args.decoder_checkpoint_path,
        device=args.device,
    )

    logger.info("Decoder model loaded, warming up...")

    # Dry run to check if the model is loaded correctly and avoid the first-time latency
    list(
        inference(
            text="李白字太白,号青莲居士,是中国唐代最伟大的诗人之一,被誉为“诗仙”。",
            enable_reference_audio= True,
            reference_audio="/root/autodl-tmp/fishspeech_v10/clipped_audio.wav",
            reference_text="",
            max_new_tokens=1024,
            chunk_length=150,
            top_p=0.7,
            repetition_penalty=1.5,
            temperature=0.7,
            speaker=None,
        )
    )

    # logger.info("Warming up done, launching the web UI...")

    # app = build_app()
    # app.launch(show_api=True)

主要是注释掉build_app()

如果需要换decoder模型记得修改权重路径,这里我用的就是vqgan

def parse_args():
    parser = ArgumentParser()
    parser.add_argument(
        "--llama-checkpoint-path",
        type=Path,
        default="checkpoints/text2semantic-sft-large-v1.1-4k.pth",
    )
    parser.add_argument(
        "--llama-config-name", type=str, default="dual_ar_2_codebook_large"
    )
    parser.add_argument(
        "--decoder-checkpoint-path",
        type=Path,
        default="checkpoints/vq-gan-group-fsq-2x1024.pth",
    )
    parser.add_argument("--decoder-config-name", type=str, default="vqgan_pretrain")
    parser.add_argument("--tokenizer", type=str, default="fishaudio/fish-speech-1")
    parser.add_argument("--device", type=str, default="cuda")
    parser.add_argument("--half", action="store_true")
    parser.add_argument("--max-length", type=int, default=2048)
    parser.add_argument("--compile", action="store_true")
    parser.add_argument("--max-gradio-length", type=int, default=0)

    return parser.parse_args()

如果需要修改为最新的vit只需要修改上述代码的如下部分:

    parser.add_argument(
        "--decoder-checkpoint-path",
        type=Path,
        default="checkpoints/vits_decoder_v1.1.ckpt",
    )

以及

parser.add_argument("--decoder-config-name", type=str, default="vits_decoder_pretrain")

上述两个修改分别对应权重和配置文件。

另外发现如果不训练直接推理使用vit,声音有点二次元的味道(目前我复现感觉是这样),并且有时候会出现女生变男生(可能是参数没调好?),感觉还是vqgan更接近于正常人的声音,我猜测是训练的数据集使用了大量的虚拟人物的声音(原神什么的叭)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值