lenML / ChatTTS-Forge

🍦 ChatTTS-Forge is a project developed around TTS generation model, implementing an API Server and a Gradio-based WebUI.
https://huggingface.co/spaces/lenML/ChatTTS-Forge
GNU Affero General Public License v3.0
650 stars 82 forks source link

上传音色报错[BUG:API] #83

Closed cpken closed 2 months ago

cpken commented 2 months ago

阅读 README.md 和 dependencies.md

检索 issue 和 discussion

检查 Forge 版本

Forge Commit 或者 Tag

Python 版本

3.11

PyTorch 版本

2.3.1+cu121

操作系统信息

ubuntu 22.04.1

BUG 描述

把音色文件新的音色文件移动到 /ChatTTS-Forge-main/data/speakers/ 后,重新运行 webui.py 报错。(错误内容 01) 在浏览器上传音色文件报错。(错误内容 02) 我把相同的音色文件,导入到我本地的 https://github.com/jianchang512/ChatTTS-ui 项目是可以正常使用的。

BUG 端点

复现参数

音色文件来源:https://modelscope.cn/studios/ttwwwaa/ChatTTS_Speaker/summary

期望结果

修复 bug

实际结果

可以正常使用音色文件

错误信息

错误内容 01

Traceback (most recent call last):
  File "/ChatTTS-Forge/webui.py", line 166, in <module>
    process_webui_args(args)
  File "/ChatTTS-Forge/webui.py", line 106, in process_webui_args
    demo = create_interface()
           ^^^^^^^^^^^^^^^^^^
  File "/ChatTTS-Forge/modules/webui/app.py", line 100, in create_interface
    create_tts_interface()
  File "/ChatTTS-Forge/modules/webui/tts_tab.py", line 22, in create_tts_interface
    speaker_names = ["*random"] + [
                                  ^
  File "/ChatTTS-Forge/modules/webui/tts_tab.py", line 23, in <listcomp>
    get_speaker_show_name(speaker) for speaker in speakers
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/ChatTTS-Forge/modules/webui/tts_tab.py", line 18, in get_speaker_show_name
    if spk.gender == "*" or spk.gender == "":
       ^^^^^^^^^^
AttributeError: 'Tensor' object has no attribute 'gender'

错误内容 02

Traceback (most recent call last):
  File "ChatTTS-Forge/venv/lib/python3.11/site-packages/gradio/queueing.py", line 541, in process_events
    response = await route_utils.call_process_api(
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "ChatTTS-Forge/venv/lib/python3.11/site-packages/gradio/route_utils.py", line 276, in call_process_api
    output = await app.get_blocks().process_api(
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "ChatTTS-Forge/venv/lib/python3.11/site-packages/gradio/blocks.py", line 1928, in process_api
    result = await self.call_function(
             ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "ChatTTS-Forge/venv/lib/python3.11/site-packages/gradio/blocks.py", line 1514, in call_function
    prediction = await anyio.to_thread.run_sync(
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "ChatTTS-Forge/venv/lib/python3.11/site-packages/anyio/to_thread.py", line 56, in run_sync
    return await get_async_backend().run_sync_in_worker_thread(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "ChatTTS-Forge/venv/lib/python3.11/site-packages/anyio/_backends/_asyncio.py", line 2177, in run_sync_in_worker_thread
    return await future
           ^^^^^^^^^^^^
  File "ChatTTS-Forge/venv/lib/python3.11/site-packages/anyio/_backends/_asyncio.py", line 859, in run
    result = context.run(func, *args)
             ^^^^^^^^^^^^^^^^^^^^^^^^
  File "ChatTTS-Forge/venv/lib/python3.11/site-packages/gradio/utils.py", line 833, in wrapper
    response = f(*args, **kwargs)
               ^^^^^^^^^^^^^^^^^^
  File "ChatTTS-Forge/modules/webui/speaker/speaker_editor.py", line 127, in spk_file_change
    gr.Textbox(value=spk.gender, interactive=True),
                     ^^^^^^^^^^
AttributeError: 'Tensor' object has no attribute 'gender'
zhzLuke96 commented 2 months ago

暂不兼容,如果有种子值,可尝试用种子创建 speaker.pt