[index-tts]我觉得合成速度不太理想

2025-11-11 965 views
6

(base) root@VM-0-80-ubuntu:/workspace/index-tts# python sendflask.py {'audio_url': '/outputs/spk_1742982706.wav', 'status': 'success', '字数': 70, '耗时': 38.229} (base) root@VM-0-80-ubuntu:/workspace/index-tts# python sendflask.py {'audio_url': '/outputs/spk_1742982758.wav', 'status': 'success', '字数': 70, '耗时': 89.507} (base) root@VM-0-80-ubuntu:/workspace/index-tts#

import os import time from flask import Flask, request, jsonify, send_from_directory from indextts.infer import IndexTTS import torch

app = Flask(name)

tts = IndexTTS(model_dir="checkpoints", cfg_path="checkpoints/config.yaml")

os.makedirs("outputs", exist_ok=True)

@app.route("/infer", methods=["POST"]) def infer(): data = request.json voice = data.get("voice") text = data.get("text")

if not voice or not text:
    return jsonify({"error": "缺少 voice 或 text"}), 400

output_filename = f"spk_{int(time.time())}.wav"
output_path = os.path.join("outputs", output_filename)

text_length = len(text)  
start_time = time.time() 

try:

    with torch.cuda.amp.autocast():
        tts.infer(voice, text, output_path)

    end_time = time.time()  
    synth_time = round(end_time - start_time, 3) 

    return jsonify({
        "status": "success",
        "audio_url": f"/outputs/{output_filename}",
        "字数": text_length,
        "耗时": synth_time
    })
except Exception as e:
    return jsonify({"error": str(e)}), 500

@app.route("/outputs/", methods=["GET"]) def get_audio(filename): return send_from_directory("outputs", filename)

if name == "main": app.run(host="0.0.0.0", port=5000)

回答

6

是的,比论文里介绍的慢好多。

7

我感觉速度不如F5-TTS,F5-TTS大约两三秒(3090),不知道有什么办法能否解决 :)

3

这个直接在deepspeed inference里面打开fp16,以及flash attention(sdpa) 会快2-3倍的,大家可以试试

8

这个直接在deepspeed inference里面打开fp16,以及flash attention(sdpa) 会快2-3倍的,大家可以试试

具体怎么操作,我是这样子启用 deepspeed indextts/infer.py

self.gpt.post_init_gpt2_config(use_deepspeed=True, kv_cache=False, half=False)

设置后,启动 webui.py 报错:

conda_env/index-tts/lib/python3.10/site-packages/torch/utils/cpp_extension.py", line 2225, in _run_ninja_build
    raise RuntimeError(message) from e
RuntimeError: Error building extension 'transformer_inference'
PyTorch 2.6.0 cuda 12.6 python 3.10 ubantu 22.04.5 LTE deepspeed 0.16.5

请问怎么解决?

5

这个直接在deepspeed inference里面打开fp16,以及flash attention(sdpa) 会快2-3倍的,大家可以试试

具体怎么操作,我是这样子启用 deepspeed indextts/infer.py

self.gpt.post_init_gpt2_config(use_deepspeed=True, kv_cache=False, half=False) 设置后,启动 webui.py 报错:

conda_env/index-tts/lib/python3.10/site-packages/torch/utils/cpp_extension.py", line 2225, in _run_ninja_build
    raise RuntimeError(message) from e
RuntimeError: Error building extension 'transformer_inference'
PyTorch 2.6.0 cuda 12.6 python 3.10 ubantu 22.04.5 LTE deepspeed 0.16.5

请问怎么解决?

你这个应该是缺少C++编译器,装一下build-essential

6

这个直接在deepspeed inference里面打开fp16,以及flash attention(sdpa) 会快2-3倍的,大家可以试试

启用deepspeed inference确实加速了,但是开启fp16会报错。

5

这个直接在deepspeed inference里面打开fp16,以及flash attention(sdpa) 会快2-3倍的,大家可以试试

具体怎么操作,我是这样子启用 deepspeed indextts/infer.py self.gpt.post_init_gpt2_config(use_deepspeed=True, kv_cache=False, half=False) 设置后,启动 webui.py 报错:

conda_env/index-tts/lib/python3.10/site-packages/torch/utils/cpp_extension.py", line 2225, in _run_ninja_build
    raise RuntimeError(message) from e
RuntimeError: Error building extension 'transformer_inference'
PyTorch 2.6.0 cuda 12.6 python 3.10 ubantu 22.04.5 LTE deepspeed 0.16.5

请问怎么解决?

你这个应该是缺少C++编译器,装一下build-essential

早装过了

5

这个直接在deepspeed inference里面打开fp16,以及flash attention(sdpa) 会快2-3倍的,大家可以试试

启用deepspeed inference确实加速了,但是开启fp16会报错。

我也遇到了同样的问题

4

切换分支到 amp-deepspeed-fp16 就可以了。。。

4

请问通过fp16加速后,能到什么速度啊?rtf?

4

切换分支到 amp-deepspeed-fp16 并没有发现有明显速度提升的样子

6

flash attention(sdpa) 这个咋开启的? @index-tts

5

这个直接在deepspeed inference里面打开fp16,以及flash attention(sdpa) 会快2-3倍的,大家可以试试 你连requirement里面都没写这些包。。。。。