Code Monkey home page Code Monkey logo

Comments (12)

Artrajz avatar Artrajz commented on August 22, 2024

你好,我注意到你使用了2023.4.7的更新,请问config.py更新了吗?
另外我看你的日志第二次启动后是没有报错的,可以单独测试下api是否正常工作。

from vits-simple-api.

K1nako0 avatar K1nako0 commented on August 22, 2024

你好,我注意到你使用了2023.4.7的更新,请问config.py更新了吗? 另外我看你的日志第二次启动后是没有报错的,可以单独测试下api是否正常工作。

已更新config.py

QQ截图20230408132907

QQ截图20230408133025

QQ截图20230408133144

日志显示语音转换完成,但就是发不出去,是chatgpt端那边的问题吗?

from vits-simple-api.

Artrajz avatar Artrajz commented on August 22, 2024

你可以在浏览器输入http://127.0.0.1:23456/voice?text=合成的文本验证是否有返回音频文件,并试听这个音频文件是否正常,如果正常说明不是api的问题

from vits-simple-api.

Artrajz avatar Artrajz commented on August 22, 2024

你这个问题其实我也遇到过,感觉是qq网络故障,电脑上语音显示感叹号,而手机上正常

from vits-simple-api.

K1nako0 avatar K1nako0 commented on August 22, 2024

你可以在浏览器输入http://127.0.0.1:23456/voice?text=合成的文本验证是否有返回音频文件,并试听这个音频文件是否正常,如果正常说明不是api的问题

moegoe_1 | ERROR:app:Exception on /voice [GET]
moegoe_1 | Traceback (most recent call last):
moegoe_1 | File "/usr/local/lib/python3.9/site-packages/flask/app.py", line 2528, in wsgi_app
moegoe_1 | response = self.full_dispatch_request()
moegoe_1 | File "/usr/local/lib/python3.9/site-packages/flask/app.py", line 1825, in full_dispatch_request
moegoe_1 | rv = self.handle_user_exception(e)
moegoe_1 | File "/usr/local/lib/python3.9/site-packages/flask/app.py", line 1823, in full_dispatch_request
moegoe_1 | rv = self.dispatch_request()
moegoe_1 | File "/usr/local/lib/python3.9/site-packages/flask/app.py", line 1799, in dispatch_request
moegoe_1 | return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args)
moegoe_1 | File "/app/app.py", line 51, in voice_api
moegoe_1 | speaker_id = int(request.args.get("id", app.config["ID"]))
moegoe_1 | KeyError: 'ID'
moegoe_1 | INFO:werkzeug: - - [08/Apr/2023 06:10:29] "GET /voice?text=你好啊 HTTP/1.1" 500 -
moegoe_1 | ERROR:app:Exception on /voice [GET]
moegoe_1 | Traceback (most recent call last):
moegoe_1 | File "/usr/local/lib/python3.9/site-packages/flask/app.py", line 2528, in wsgi_app
moegoe_1 | response = self.full_dispatch_request()
moegoe_1 | File "/usr/local/lib/python3.9/site-packages/flask/app.py", line 1825, in full_dispatch_request
moegoe_1 | rv = self.handle_user_exception(e)
moegoe_1 | File "/usr/local/lib/python3.9/site-packages/flask/app.py", line 1823, in full_dispatch_request
moegoe_1 | rv = self.dispatch_request()
moegoe_1 | File "/usr/local/lib/python3.9/site-packages/flask/app.py", line 1799, in dispatch_request
moegoe_1 | return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args)
moegoe_1 | File "/app/app.py", line 51, in voice_api
moegoe_1 | speaker_id = int(request.args.get("id", app.config["ID"]))
moegoe_1 | KeyError: 'ID'
moegoe_1 | INFO:werkzeug: - - [08/Apr/2023 06:11:40] "GET /voice?text=123 HTTP/1.1" 500 -

看起来是api的问题?也没有返回音频文件

from vits-simple-api.

Artrajz avatar Artrajz commented on August 22, 2024

贴一下你的配置文件

from vits-simple-api.

K1nako0 avatar K1nako0 commented on August 22, 2024
import os
import sys

JSON_AS_ASCII = False
MAX_CONTENT_LENGTH = 5242880

# 端口
PORT = 23457
# 项目的绝对路径
ABS_PATH = os.path.join(os.path.dirname(os.path.realpath(sys.argv[0])))
# 上传文件的临时路径,非必要不要动
UPLOAD_FOLDER = ABS_PATH + "/upload"
# 音频转换的临时缓存路径,非必要不要动
CACHE_PATH = ABS_PATH + "/cache"

'''
vits模型路径填写方法,MODEL_LIST中的每一行是
[ABS_PATH+"/Model/{模型文件夹}/{.pth模型}", ABS_PATH+"/Model/{模型文件夹}/config.json"],
也可以写相对路径或绝对路径,由于windows和linux路径写法不同,用上面的写法或绝对路径最稳妥
示例:
MODEL_LIST = [
    #VITS
    [ABS_PATH+"/Model/Nene_Nanami_Rong_Tang/1374_epochs.pth", ABS_PATH+"/Model/Nene_Nanami_Rong_Tang/config.json"],
    [ABS_PATH+"/Model/Zero_no_tsukaima/1158_epochs.pth", ABS_PATH+"/Model/Zero_no_tsukaima/config.json"],
    [ABS_PATH+"/Model/g/G_953000.pth", ABS_PATH+"/Model/g/config.json"],
    #HuBert-VITS
    [ABS_PATH+"/Model/louise/360_epochs.pth", ABS_PATH+"/Model/louise/config.json", ABS_PATH+"/Model/louise/hubert-soft-0d54a1f4.pt"],
]
'''
# 模型加载列表
MODEL_LIST = [
    [ABS_PATH+"/Model/g/1374_epochs.pth", ABS_PATH+"/Model/g/config.json"],
]

"""以下选项是修改VITS GET方法 [不指定参数]时的默认值 非必要不要动"""
# 默认模式选项
DEFAULT_MODE = 0

if DEFAULT_MODE == 0:
    """默认选项 自定义默认参数"""
    # GET 默认音色id
    ID = 0
    # GET 默认音频格式 可选wav,ogg,silk
    FORMAT = "wav"
    # GET 默认语言
    LANG = "AUTO"
    # GET 默认语音长度,相当于调节语速,该数值越大语速越慢
    LENGTH = 1
    # GET 默认噪声
    NOISE = 0.667
    # GET 默认噪声偏差
    NOISEW = 0.8
elif DEFAULT_MODE == 1:
    """进阶选项 为每个音色自定义一套默认参数 有一定编程基础再用"""
    # vits有多少个音色
    nums_id = 4
    # GET 默认音色id
    ID = 0
    # GET 默认音频格式 可选wav,ogg,silk
    FORMAT = ["wav" for i in range(nums_id)]
    # GET 默认语言
    LANG = ["AUTO" for i in range(nums_id)]
    # GET 默认语音长度,相当于调节语速,该数值越大语速越慢
    LENGTH = [1 for i in range(nums_id)]
    # GET 默认噪声
    NOISE = [0.667 for i in range(nums_id)]
    # GET 默认噪声偏差
    NOISEW = [0.8 for i in range(nums_id)]
    """然后单独修改某个id的参数 自由发挥你的编程技术"""
    LANG[1] = "zh"
    NOISE[0], NOISE[1], NOISE[2] = 0.4, 0.4, 0.4
    NOISEW[0], NOISEW[1], NOISEW[2] = 0.4, 0.4, 0.4

from vits-simple-api.

Artrajz avatar Artrajz commented on August 22, 2024

你的报错中说找不到配置文件中的ID,但是配置文件也是对的,感觉不应该有问题

from vits-simple-api.

Artrajz avatar Artrajz commented on August 22, 2024

试试将配置文件改成

import os
import sys

JSON_AS_ASCII = False
MAX_CONTENT_LENGTH = 5242880

# 端口
PORT = 23457
# 项目的绝对路径
ABS_PATH = os.path.join(os.path.dirname(os.path.realpath(sys.argv[0])))
# 上传文件的临时路径,非必要不要动
UPLOAD_FOLDER = ABS_PATH + "/upload"
# 音频转换的临时缓存路径,非必要不要动
CACHE_PATH = ABS_PATH + "/cache"

'''
vits模型路径填写方法,MODEL_LIST中的每一行是
[ABS_PATH+"/Model/{模型文件夹}/{.pth模型}", ABS_PATH+"/Model/{模型文件夹}/config.json"],
也可以写相对路径或绝对路径,由于windows和linux路径写法不同,用上面的写法或绝对路径最稳妥
示例:
MODEL_LIST = [
    #VITS
    [ABS_PATH+"/Model/Nene_Nanami_Rong_Tang/1374_epochs.pth", ABS_PATH+"/Model/Nene_Nanami_Rong_Tang/config.json"],
    [ABS_PATH+"/Model/Zero_no_tsukaima/1158_epochs.pth", ABS_PATH+"/Model/Zero_no_tsukaima/config.json"],
    [ABS_PATH+"/Model/g/G_953000.pth", ABS_PATH+"/Model/g/config.json"],
    #HuBert-VITS
    [ABS_PATH+"/Model/louise/360_epochs.pth", ABS_PATH+"/Model/louise/config.json", ABS_PATH+"/Model/louise/hubert-soft-0d54a1f4.pt"],
]
'''
# 模型加载列表
MODEL_LIST = [
    [ABS_PATH+"/Model/g/1374_epochs.pth", ABS_PATH+"/Model/g/config.json"],
]

"""以下选项是修改VITS GET方法 [不指定参数]时的默认值 非必要不要动"""
# 默认模式选项
DEFAULT_MODE = 0

# GET 默认音色id
ID = 0
# GET 默认音频格式 可选wav,ogg,silk
FORMAT = "wav"
# GET 默认语言
LANG = "AUTO"
# GET 默认语音长度,相当于调节语速,该数值越大语速越慢
LENGTH = 1
# GET 默认噪声
NOISE = 0.667
# GET 默认噪声偏差
NOISEW = 0.8

if DEFAULT_MODE == 0:
    """默认选项 自定义默认参数"""
    # GET 默认音色id
    ID = 0
    # GET 默认音频格式 可选wav,ogg,silk
    FORMAT = "wav"
    # GET 默认语言
    LANG = "AUTO"
    # GET 默认语音长度,相当于调节语速,该数值越大语速越慢
    LENGTH = 1
    # GET 默认噪声
    NOISE = 0.667
    # GET 默认噪声偏差
    NOISEW = 0.8
elif DEFAULT_MODE == 1:
    """进阶选项 为每个音色自定义一套默认参数 有一定编程基础再用"""
    # vits有多少个音色
    nums_id = 4
    # GET 默认音色id
    ID = 0
    # GET 默认音频格式 可选wav,ogg,silk
    FORMAT = ["wav" for i in range(nums_id)]
    # GET 默认语言
    LANG = ["AUTO" for i in range(nums_id)]
    # GET 默认语音长度,相当于调节语速,该数值越大语速越慢
    LENGTH = [1 for i in range(nums_id)]
    # GET 默认噪声
    NOISE = [0.667 for i in range(nums_id)]
    # GET 默认噪声偏差
    NOISEW = [0.8 for i in range(nums_id)]
    """然后单独修改某个id的参数 自由发挥你的编程技术"""
    LANG[1] = "zh"
    NOISE[0], NOISE[1], NOISE[2] = 0.4, 0.4, 0.4
    NOISEW[0], NOISEW[1], NOISEW[2] = 0.4, 0.4, 0.4

from vits-simple-api.

K1nako0 avatar K1nako0 commented on August 22, 2024

试试将配置文件改成

import os
import sys

JSON_AS_ASCII = False
MAX_CONTENT_LENGTH = 5242880

# 端口
PORT = 23457
# 项目的绝对路径
ABS_PATH = os.path.join(os.path.dirname(os.path.realpath(sys.argv[0])))
# 上传文件的临时路径,非必要不要动
UPLOAD_FOLDER = ABS_PATH + "/upload"
# 音频转换的临时缓存路径,非必要不要动
CACHE_PATH = ABS_PATH + "/cache"

'''
vits模型路径填写方法,MODEL_LIST中的每一行是
[ABS_PATH+"/Model/{模型文件夹}/{.pth模型}", ABS_PATH+"/Model/{模型文件夹}/config.json"],
也可以写相对路径或绝对路径,由于windows和linux路径写法不同,用上面的写法或绝对路径最稳妥
示例:
MODEL_LIST = [
    #VITS
    [ABS_PATH+"/Model/Nene_Nanami_Rong_Tang/1374_epochs.pth", ABS_PATH+"/Model/Nene_Nanami_Rong_Tang/config.json"],
    [ABS_PATH+"/Model/Zero_no_tsukaima/1158_epochs.pth", ABS_PATH+"/Model/Zero_no_tsukaima/config.json"],
    [ABS_PATH+"/Model/g/G_953000.pth", ABS_PATH+"/Model/g/config.json"],
    #HuBert-VITS
    [ABS_PATH+"/Model/louise/360_epochs.pth", ABS_PATH+"/Model/louise/config.json", ABS_PATH+"/Model/louise/hubert-soft-0d54a1f4.pt"],
]
'''
# 模型加载列表
MODEL_LIST = [
    [ABS_PATH+"/Model/g/1374_epochs.pth", ABS_PATH+"/Model/g/config.json"],
]

"""以下选项是修改VITS GET方法 [不指定参数]时的默认值 非必要不要动"""
# 默认模式选项
DEFAULT_MODE = 0

# GET 默认音色id
ID = 0
# GET 默认音频格式 可选wav,ogg,silk
FORMAT = "wav"
# GET 默认语言
LANG = "AUTO"
# GET 默认语音长度,相当于调节语速,该数值越大语速越慢
LENGTH = 1
# GET 默认噪声
NOISE = 0.667
# GET 默认噪声偏差
NOISEW = 0.8

if DEFAULT_MODE == 0:
    """默认选项 自定义默认参数"""
    # GET 默认音色id
    ID = 0
    # GET 默认音频格式 可选wav,ogg,silk
    FORMAT = "wav"
    # GET 默认语言
    LANG = "AUTO"
    # GET 默认语音长度,相当于调节语速,该数值越大语速越慢
    LENGTH = 1
    # GET 默认噪声
    NOISE = 0.667
    # GET 默认噪声偏差
    NOISEW = 0.8
elif DEFAULT_MODE == 1:
    """进阶选项 为每个音色自定义一套默认参数 有一定编程基础再用"""
    # vits有多少个音色
    nums_id = 4
    # GET 默认音色id
    ID = 0
    # GET 默认音频格式 可选wav,ogg,silk
    FORMAT = ["wav" for i in range(nums_id)]
    # GET 默认语言
    LANG = ["AUTO" for i in range(nums_id)]
    # GET 默认语音长度,相当于调节语速,该数值越大语速越慢
    LENGTH = [1 for i in range(nums_id)]
    # GET 默认噪声
    NOISE = [0.667 for i in range(nums_id)]
    # GET 默认噪声偏差
    NOISEW = [0.8 for i in range(nums_id)]
    """然后单独修改某个id的参数 自由发挥你的编程技术"""
    LANG[1] = "zh"
    NOISE[0], NOISE[1], NOISE[2] = 0.4, 0.4, 0.4
    NOISEW[0], NOISEW[1], NOISEW[2] = 0.4, 0.4, 0.4

更改配置文件后可以生成音频文件并且是正常的,但QQ上传的语音还是有感叹号

from vits-simple-api.

Artrajz avatar Artrajz commented on August 22, 2024

那这个我就不清楚了,抱歉

from vits-simple-api.

K1nako0 avatar K1nako0 commented on August 22, 2024

那这个我就不清楚了,抱歉

没事,谢谢大佬的解答,辛苦了

from vits-simple-api.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.