update information when upload model

This commit is contained in:
wataru 2023-01-28 15:56:56 +09:00
parent eb846bedcc
commit 9a473a07be
8 changed files with 6728 additions and 3172 deletions

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

View File

@ -38,7 +38,7 @@
"postcss-loader": "^7.0.2",
"postcss-nested": "^6.0.0",
"prettier": "^2.8.3",
"rimraf": "^4.1.1",
"rimraf": "^4.1.2",
"style-loader": "^3.3.1",
"ts-loader": "^9.4.2",
"tsconfig-paths": "^4.1.2",
@ -48,7 +48,7 @@
"webpack-dev-server": "^4.11.1"
},
"dependencies": {
"@dannadori/voice-changer-client-js": "^1.0.20",
"@dannadori/voice-changer-client-js": "^1.0.28",
"react": "^18.2.0",
"react-dom": "^18.2.0"
}

File diff suppressed because it is too large Load Diff

View File

@ -1,6 +1,6 @@
{
"name": "@dannadori/voice-changer-client-js",
"version": "1.0.20",
"version": "1.0.28",
"description": "",
"main": "dist/index.js",
"directories": {
@ -26,17 +26,17 @@
"devDependencies": {
"@types/audioworklet": "^0.0.36",
"@types/node": "^18.11.18",
"@types/react": "18.0.26",
"@types/react": "18.0.27",
"@types/react-dom": "18.0.10",
"eslint": "^8.32.0",
"eslint-config-prettier": "^8.6.0",
"eslint-plugin-prettier": "^4.2.1",
"eslint-plugin-react": "^7.32.0",
"eslint-plugin-react": "^7.32.1",
"eslint-webpack-plugin": "^3.2.0",
"npm-run-all": "^4.1.5",
"prettier": "^2.8.3",
"raw-loader": "^4.0.2",
"rimraf": "^4.0.7",
"rimraf": "^4.1.2",
"ts-loader": "^9.4.2",
"typescript": "^4.9.4",
"webpack": "^5.75.0",

View File

@ -135,7 +135,7 @@ export const DefaultVoiceChangerServerSetting: VoiceChangerServerSetting = {
crossFadeOffsetRate: 0.1,
crossFadeEndRate: 0.9,
crossFadeOverlapRate: 0.5,
framework: "PyTorch",
framework: "ONNX",
onnxExecutionProvider: "CPUExecutionProvider"
}

View File

@ -179,10 +179,10 @@ export const useServerSetting = (props: UseServerSettingProps): ServerSettingSta
console.log(progress, end)
})
const serverInfo = await props.voiceChangerClient.loadModel(fileUploadSetting.configFile, fileUploadSetting.pyTorchModel, fileUploadSetting.onnxModel)
console.log(serverInfo)
await props.voiceChangerClient.loadModel(fileUploadSetting.configFile, fileUploadSetting.pyTorchModel, fileUploadSetting.onnxModel)
setUploadProgress(0)
setIsUploading(false)
reloadServerInfo()
}
}, [fileUploadSetting, props.voiceChangerClient])
@ -203,7 +203,6 @@ export const useServerSetting = (props: UseServerSettingProps): ServerSettingSta
framework: res.framework,
onnxExecutionProvider: (!!res.onnxExecutionProvider && res.onnxExecutionProvider.length > 0) ? res.onnxExecutionProvider[0] as OnnxExecutionProvider : DefaultVoiceChangerServerSetting.onnxExecutionProvider
})
}
}, [props.voiceChangerClient])

View File

@ -1,6 +1,7 @@
from const import ERROR_NO_ONNX_SESSION
import torch
import os, traceback
import os
import traceback
import numpy as np
from dataclasses import dataclass, asdict
@ -13,6 +14,7 @@ from voice_changer.TrainerFunctions import TextAudioSpeakerCollate, spectrogram_
providers = ['OpenVINOExecutionProvider', "CUDAExecutionProvider", "DmlExecutionProvider", "CPUExecutionProvider"]
@dataclass
class VocieChangerSettings():
gpu: int = 0
@ -23,7 +25,7 @@ class VocieChangerSettings():
crossFadeOverlapRate: float = 0.9
convertChunkNum: int = 32
minConvertSize: int = 0
framework:str = "PyTorch" # PyTorch or ONNX
framework: str = "ONNX" # PyTorch or ONNX
pyTorchModelFile: str = ""
onnxModelFile: str = ""
configFile: str = ""
@ -32,6 +34,7 @@ class VocieChangerSettings():
floatData = ["crossFadeOffsetRate", "crossFadeEndRate", "crossFadeOverlapRate"]
strData = ["framework"]
class VoiceChanger():
def __init__(self, config: str):
@ -136,7 +139,6 @@ class VoiceChanger():
return self.get_info()
def _generate_strength(self, unpackedData):
if self.unpackedData_length != unpackedData.shape[0] or self.currentCrossFadeOffsetRate != self.settings.crossFadeOffsetRate or self.currentCrossFadeEndRate != self.settings.crossFadeEndRate or self.currentCrossFadeOverlapRate != self.settings.crossFadeOverlapRate:
@ -191,7 +193,6 @@ class VoiceChanger():
data = TextAudioSpeakerCollate()([data])
return data
def _onnx_inference(self, data, inputSize):
if hasattr(self, "onnx_session") == False or self.onnx_session == None:
print("[Voice Changer] No ONNX session.")
@ -234,7 +235,8 @@ class VoiceChanger():
with torch.no_grad():
x, x_lengths, spec, spec_lengths, y, y_lengths, sid_src = [x.cpu() for x in data]
sid_tgt1 = torch.LongTensor([self.settings.dstId]).cpu()
audio1 = (self.net_g.cpu().voice_conversion(spec, spec_lengths, sid_src=sid_src, sid_tgt=sid_tgt1)[0, 0].data * self.hps.data.max_wav_value)
audio1 = (self.net_g.cpu().voice_conversion(spec, spec_lengths, sid_src=sid_src,
sid_tgt=sid_tgt1)[0, 0].data * self.hps.data.max_wav_value)
if self.prev_strength.device != torch.device('cpu'):
print(f"prev_strength move from {self.prev_strength.device} to cpu")
@ -265,7 +267,8 @@ class VoiceChanger():
with torch.no_grad():
x, x_lengths, spec, spec_lengths, y, y_lengths, sid_src = [x.cuda(self.settings.gpu) for x in data]
sid_tgt1 = torch.LongTensor([self.settings.dstId]).cuda(self.settings.gpu)
audio1 = self.net_g.cuda(self.settings.gpu).voice_conversion(spec, spec_lengths, sid_src=sid_src, sid_tgt=sid_tgt1)[0, 0].data * self.hps.data.max_wav_value
audio1 = self.net_g.cuda(self.settings.gpu).voice_conversion(spec, spec_lengths, sid_src=sid_src,
sid_tgt=sid_tgt1)[0, 0].data * self.hps.data.max_wav_value
if self.prev_strength.device != torch.device('cuda', self.settings.gpu):
print(f"prev_strength move from {self.prev_strength.device} to gpu{self.settings.gpu}")
@ -274,8 +277,6 @@ class VoiceChanger():
print(f"cur_strength move from {self.cur_strength.device} to gpu{self.settings.gpu}")
self.cur_strength = self.cur_strength.cuda(self.settings.gpu)
if hasattr(self, 'prev_audio1') == True and self.prev_audio1.device == torch.device('cuda', self.settings.gpu):
overlapSize = int(inputSize * self.settings.crossFadeOverlapRate)
prev_overlap = self.prev_audio1[-1 * overlapSize:]
@ -295,7 +296,6 @@ class VoiceChanger():
result = result.cpu().float().numpy()
return result
def on_request(self, unpackedData: any):
convertSize = self.settings.convertChunkNum * 128 # 128sample/1chunk
@ -308,14 +308,12 @@ class VoiceChanger():
self._generate_strength(unpackedData)
data = self._generate_input(unpackedData, convertSize)
try:
if self.settings.framework == "ONNX":
result = self._onnx_inference(data, unpackedData.shape[0])
else:
result = self._pyTorch_inference(data, unpackedData.shape[0])
except Exception as e:
print("VC PROCESSING!!!! EXCEPTION!!!", e)
print(traceback.format_exc())
@ -328,4 +326,3 @@ class VoiceChanger():
result = result.astype(np.int16)
# print("on_request result size:",result.shape)
return result