bugfix
This commit is contained in:
parent
9b29337ec4
commit
288900d128
14
app/t.py
Normal file
14
app/t.py
Normal file
@ -0,0 +1,14 @@
|
||||
import ChatTTS
|
||||
import torch
|
||||
import torchaudio
|
||||
|
||||
chat = ChatTTS.Chat()
|
||||
chat.load(compile=False) # Set to True for better performance
|
||||
|
||||
texts = ["PUT YOUR 1st TEXT HERE", "PUT YOUR 2nd TEXT HERE"]
|
||||
|
||||
wavs = chat.infer(texts)
|
||||
|
||||
for i in range(len(wavs)):
|
||||
torchaudio.save(f"basic_output{i}.wav", torch.from_numpy(wavs[i]).unsqueeze(0), 24000)
|
||||
|
57
app/tts.py
Normal file
57
app/tts.py
Normal file
@ -0,0 +1,57 @@
|
||||
import os, sys
|
||||
import argparse
|
||||
from appPublic.log import MyLogger, info, debug, warning
|
||||
from appPublic.folderUtils import ProgramPath
|
||||
from appPublic.jsonConfig import getConfig
|
||||
from appPublic.registerfunction import RegisterFunction
|
||||
from appPublic.worker import awaitify
|
||||
from ahserver.configuredServer import ConfiguredServer
|
||||
from ahserver.serverenv import ServerEnv
|
||||
from io import BytesIO
|
||||
|
||||
import ChatTTS
|
||||
__version__ = '0.0.1'
|
||||
|
||||
class TTS:
|
||||
def __init__(self):
|
||||
self.engine = ChatTTS.Chat()
|
||||
self.engine.load(compile=True)
|
||||
|
||||
def _generate(request, **kw):
|
||||
params_kw = kw.get('params_kw')
|
||||
text = params_kw.get('prompt')
|
||||
wavs = self.engine.refer(text)
|
||||
f = BytesIO()
|
||||
torchaudio.save(f, touch.from_numpy(wavs[0]).unsqueeze(0), 24000)
|
||||
f.seek(0,0)
|
||||
return f.read()
|
||||
|
||||
generate = awaitify(_generate)
|
||||
|
||||
if __name__ == '__main__':
|
||||
parser = argparse.ArgumentParser(prog="tts")
|
||||
parser.add_argument('-w', '--workdir')
|
||||
parser.add_argument('-p', '--port')
|
||||
args = parser.parse_args()
|
||||
print(args)
|
||||
workdir = args.workdir or os.getcwd()
|
||||
p = ProgramPath()
|
||||
config = getConfig(workdir, NS={'workdir':workdir, 'ProgramPath':p})
|
||||
if config.logger:
|
||||
logger = MyLogger(config.logger.name or 'tts',
|
||||
levelname=config.logger.levelname or 'debug',
|
||||
logfile=config.logger.logfile or None)
|
||||
else:
|
||||
logger = MyLogger('sage', levelname='debug')
|
||||
|
||||
info(f'========tts version={__version__}========')
|
||||
# server = ConfiguredServer(auth_klass=MyAuthAPI, workdir=workdir)
|
||||
server = ConfiguredServer(workdir=workdir)
|
||||
tts = TTS()
|
||||
rf = RegisterFunction()
|
||||
rf.register('generate', tts.generate)
|
||||
info(f'{rf.registKW=}')
|
||||
port = args.port or config.website.port or 8080
|
||||
port = int(port)
|
||||
server.run(port=port)
|
||||
|
71
conf/config.json
Executable file
71
conf/config.json
Executable file
@ -0,0 +1,71 @@
|
||||
{
|
||||
"logger":{
|
||||
"name":"tts",
|
||||
"levelname":"info",
|
||||
"logfile":"$[workdir]$/logs/tts.log"
|
||||
},
|
||||
"definitions":{
|
||||
"whisper_model":"/d/ymq/osc/models/whisper/large-v3.pt"
|
||||
},
|
||||
"filesroot":"$[workdir]$/files",
|
||||
"website":{
|
||||
"paths":[
|
||||
["$[workdir]$/wwwroot",""]
|
||||
],
|
||||
"client_max_size":10000,
|
||||
"host":"0.0.0.0",
|
||||
"port":9092,
|
||||
"coding":"utf-8",
|
||||
"ssl_gg":{
|
||||
"crtfile":"$[workdir]$/conf/www.bsppo.com.pem",
|
||||
"keyfile":"$[workdir]$/conf/www.bsppo.com.key"
|
||||
},
|
||||
"indexes":[
|
||||
"index.html",
|
||||
"index.tmpl",
|
||||
"index.ui",
|
||||
"index.dspy",
|
||||
"index.md"
|
||||
],
|
||||
"startswiths":[
|
||||
{
|
||||
"leading":"/generate",
|
||||
"registerfunction":"generate"
|
||||
}
|
||||
],
|
||||
"processors":[
|
||||
[".ws","ws"],
|
||||
[".xterm","xterm"],
|
||||
[".proxy","proxy"],
|
||||
[".llm", "llm"],
|
||||
[".llms", "llms"],
|
||||
[".llma", "llma"],
|
||||
[".xlsxds","xlsxds"],
|
||||
[".sqlds","sqlds"],
|
||||
[".tmpl.js","tmpl"],
|
||||
[".tmpl.css","tmpl"],
|
||||
[".html.tmpl","tmpl"],
|
||||
[".bcrud", "bricks_crud"],
|
||||
[".tmpl","tmpl"],
|
||||
[".bui","bui"],
|
||||
[".ui","bui"],
|
||||
[".dspy","dspy"],
|
||||
[".md","md"]
|
||||
],
|
||||
"rsakey":{
|
||||
"privatekey":"$[workdir]$/conf/rsa_private_key.pem",
|
||||
"publickey":"$[workdir]$/conf/rsa_public_key.pem"
|
||||
},
|
||||
"session_max_time":3000,
|
||||
"session_issue_time":2500,
|
||||
"session_redis_oops":{
|
||||
"url":"redis://127.0.0.1:6379"
|
||||
}
|
||||
},
|
||||
"langMapping":{
|
||||
"zh-Hans-CN":"zh-cn",
|
||||
"zh-CN":"zh-cn",
|
||||
"en-us":"en",
|
||||
"en-US":"en"
|
||||
}
|
||||
}
|
0
logs/README.md
Normal file
0
logs/README.md
Normal file
4
tts
Normal file
4
tts
Normal file
@ -0,0 +1,4 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
source py3/bin/activate
|
||||
python app/tts.py >> tts.out
|
0
wwwroot/index.html
Normal file
0
wwwroot/index.html
Normal file
Loading…
Reference in New Issue
Block a user