Paraworks / vits_with_chatgpt-gpt3

MIT License
390 stars 52 forks source link

MB-iSTFT-VITS 和 one_step 在生成音频时报错 #2

Closed remi-guan closed 1 year ago

remi-guan commented 1 year ago

根据 README,我在 Linux (Ubuntu 20.04 Python 3.8) 和 Windows 11 (Python 3.7.3) 在努力解决了各种依赖和编译问题后,正常运行 one_step.py。但是在游戏端发起请求时只能收到文字内容,在转换音频的代码部分报错如下:

image

我的 Linux 系统和 Windows 系统都是这个同样的错误。请问是怎么回事呀?

我的操作流程是:

  1. 按照 README 执行所有步骤。并安装其他依赖(pip install flask)。没有用 conda 或 venv,都是直接装到全局。
  2. 复制 one_step.py 到 MB-iSTFT-VITS 目录下。
  3. 修改配置,见下文。
  4. cd 进去并运行。

one_step.py 内容如下,我只贴上我改动过的地方。除了此文件之外其他所有文件均无任何修改。

#using nene, you can find it in the /MB-iSTFT-VITS/tree/main/configs
#### 直接修改了这个路径 ####
hps = utils.get_hparams_from_file("configs/ljs_mb_istft_vits.json")
net_g = SynthesizerTrn(
    len(symbols),
    hps.data.filter_length // 2 + 1,
    hps.train.segment_size // hps.data.hop_length,
    **hps.model)
_ = net_g.eval()
#### 从这个链接下载的文件,就放在了当前文件夹里 ####
#https://huggingface.co/innnky/mb-vits-models/resolve/main/tempbest.pth
_ = utils.load_checkpoint("tempbest.pth", net_g, None)
import time
#Editing your setting here
def friend_chat(text):
  call_name = "her name"
  openai.api_key = "********************************************"
remi-guan commented 1 year ago

虽然也想尝试一下 vites 和 inference_api.py 这个方案,但是我没有用过 vites,不太熟悉 #导入config文件#导入模型文件 那部分该如何填写。如果这个问题在这个方案里没事的话还望赐教!

Paraworks commented 1 year ago

这个应该是环境的问题,参照inference_ms.ipynb看看能不能运行普通的tts,不行的话就创建一个虚拟环境试一试。vits和MB-iSTFT-VITS 的环境实际上是相通的,直接试一试vits也许可以成

Paraworks commented 1 year ago

我用全局也遇到了这个报错

remi-guan commented 1 year ago

@Paraworks 好!非常感谢!想请问创建虚拟环境您这边用的是什么方案呢?

另外我在想,如果 one_step 是给人直接体验一下用的,会不会发一个 Google Colab 会更方便呀?配合 cloudflared tunnel 这种免费的内网穿透可以直接用的,当 api 给 game 端访问应该是最方便的方案,比本机装一套会轻松很多。毕竟我自己装的时候踩了好多坑,包括:

我希望可以有一个 Google Colab 的版本可以无忧一键部署这些东西,只要填一个 token、改后端地址就行了。

Paraworks commented 1 year ago

windows端可以安装一个anaconda。linux安装宝塔面板,现在全局环境上设置好cmake和ffmpeg,之后直接用python项目管理器部署。宝塔面板里的python项目管理器会直接根据requirements安装需要的包,没安装成功的慢慢补就好。我在huggingface放了一个,这个是可以直接部署的。

Paraworks commented 1 year ago

torch版本其实关系不大,windows端我是torch1.8.1+cu111。linux服务器是1.13.1

remi-guan commented 1 year ago

OK 谢谢!我这就去试试!

remi-guan commented 1 year ago

但是 huggingface 的好像只能直接生成音频,应该没办法对接具有 Live2D 的游戏端?

Paraworks commented 1 year ago

没找到可以白嫖的方法,而且速度连MB-iSTFT-VITS都救不了。colab启动一次还是太麻烦了,那还不如直接用另一个up的方法直接本地推理。

remi-guan commented 1 year ago

嗯……我先试试解决目前这个问题。看起来好像,inference_ms 也会报同一个错误。

image

然后我是 Linux 上有 anaconda,启动了环境之后并没有解决这个问题。。可能是我之前装的包导致的问题?我正在删了之前的东西然后开一个 venv 试一下。或者等我有空在 Windows 上看看。

然后 vits 的话…… inference_api.py 我不会配置 QAQ

remi-guan commented 1 year ago

不行诶。。都重新弄了一遍,还是寄了。依旧是这个报错。

可以教我怎么配置一下 inference api 我试试嘛

Paraworks commented 1 year ago

inference_api要改28行,建立一个文件夹存储各种生成的文件weight_path = os.path.join(current_work_dir, '/project_file/') 在34行修改config文件路径 hps_ms = utils.get_hparams_fromfile("path/to/config.json") 43行修改模型文件路径: = utils.load_checkpoint("path/to/checkpoint.pth", net_g_ms, None) 这个py文件是对应多说话人的,没法用单人模型

Paraworks commented 1 year ago

inference.ipynb里面的也可以试一试

remi-guan commented 1 year ago

啊咧,那我想体验一下游戏端搭配后端怎么办呀QAQ 只能再想想办法解决 one_step 的问题吗

Paraworks commented 1 year ago

直接下载一个多人模型试试看,先试试看能不能跑通另外一些项目中的jupyter notebook。能跑通基本就可以了