GPT-SoVITS icon indicating copy to clipboard operation
GPT-SoVITS copied to clipboard

error when try to inference api.py

Open JeavanCode opened this issue 1 year ago • 1 comments

INFO: Started server process [16956] INFO: Waiting for application startup. INFO: Application startup complete. INFO: Uvicorn running on http://127.0.0.1:9880 (Press CTRL+C to quit) INFO: 127.0.0.1:50341 - "GET / HTTP/1.1" 500 Internal Server Error ERROR: Exception in ASGI application

INFO: 127.0.0.1:50342 - "GET /favicon.ico HTTP/1.1" 404 Not Found

我该如何在代码中调用api,输入文字并输出音频文件?虽然出了问题没成功运行api.py,但是貌似最终也是出一个webui,在里面输入文字,请问现在有输入文字输出音频文件的函数接口嘛?或者您告诉我在哪里找到这个函数,因为我猜在做webui的时候这个功能一定会被调用。谢谢!

JeavanCode avatar Feb 20 '24 08:02 JeavanCode

这个响应没问题啊。正常调用即可。 404是浏览器请求icon的错误返回。

api的调用方法在文件里面有写的清楚: 原文在此

api.py usage

python api.py -dr "123.wav" -dt "一二三。" -dl "zh"

执行参数:

-s - SoVITS模型路径, 可在 config.py 中指定 -g - GPT模型路径, 可在 config.py 中指定

调用请求缺少参考音频时使用 -dr - 默认参考音频路径 -dt - 默认参考音频文本 -dl - 默认参考音频语种, "中文","英文","日文","zh","en","ja"

-d - 推理设备, "cuda","cpu","mps" -a - 绑定地址, 默认"127.0.0.1" -p - 绑定端口, 默认9880, 可在 config.py 中指定 -fp - 覆盖 config.py 使用全精度 -hp - 覆盖 config.py 使用半精度

-hb - cnhubert路径 -b - bert路径

调用:

推理

endpoint: /

使用执行参数指定的参考音频: GET: http://127.0.0.1:9880?text=先帝创业未半而中道崩殂,今天下三分,益州疲弊,此诚危急存亡之秋也。&text_language=zh POST:

{
    "text": "先帝创业未半而中道崩殂,今天下三分,益州疲弊,此诚危急存亡之秋也。",
    "text_language": "zh"
}

手动指定当次推理所使用的参考音频: GET: http://127.0.0.1:9880?refer_wav_path=123.wav&prompt_text=一二三。&prompt_language=zh&text=先帝创业未半而中道崩殂,今天下三分,益州疲弊,此诚危急存亡之秋也。&text_language=zh POST:

{
    "refer_wav_path": "123.wav",
    "prompt_text": "一二三。",
    "prompt_language": "zh",
    "text": "先帝创业未半而中道崩殂,今天下三分,益州疲弊,此诚危急存亡之秋也。",
    "text_language": "zh"
}

RESP: 成功: 直接返回 wav 音频流, http code 200 失败: 返回包含错误信息的 json, http code 400

更换默认参考音频

endpoint: /change_refer

key与推理端一样

GET: http://127.0.0.1:9880/change_refer?refer_wav_path=123.wav&prompt_text=一二三。&prompt_language=zh POST:

{
    "refer_wav_path": "123.wav",
    "prompt_text": "一二三。",
    "prompt_language": "zh"
}

RESP: 成功: json, http code 200 失败: json, 400

命令控制

endpoint: /control

command: "restart": 重新运行 "exit": 结束运行

GET: http://127.0.0.1:9880/control?command=restart POST:

{
    "command": "restart"
}

RESP: 无

ben0oil1 avatar Feb 21 '24 10:02 ben0oil1