wip:
This commit is contained in:
parent
6f36783ab6
commit
8774fe1904
@ -26,15 +26,13 @@ class MMVC_Namespace(socketio.AsyncNamespace):
|
|||||||
dstId = int(msg[2])
|
dstId = int(msg[2])
|
||||||
timestamp = int(msg[3])
|
timestamp = int(msg[3])
|
||||||
convertChunkNum = int(msg[4])
|
convertChunkNum = int(msg[4])
|
||||||
crossFadeLowerValue = msg[5]
|
crossFadeLowerValue = float(msg[5])
|
||||||
crossFadeOffsetRate = msg[6]
|
crossFadeOffsetRate = float(msg[6])
|
||||||
crossFadeEndRate = msg[7]
|
crossFadeEndRate = float(msg[7])
|
||||||
data = msg[8]
|
data = msg[8]
|
||||||
# print(srcId, dstId, timestamp, convertChunkNum, crossFadeLowerValue, crossFadeOffsetRate, crossFadeEndRate)
|
# print(srcId, dstId, timestamp, convertChunkNum, crossFadeLowerValue, crossFadeOffsetRate, crossFadeEndRate)
|
||||||
unpackedData = np.array(struct.unpack(
|
unpackedData = np.array(struct.unpack('<%sh' % (len(data) // struct.calcsize('<h')), data))
|
||||||
'<%sh' % (len(data) // struct.calcsize('<h')), data))
|
|
||||||
# audio1 = self.voiceChangerManager.changeVoice(
|
|
||||||
# gpu, srcId, dstId, timestamp, prefixChunkSize, unpackedData)
|
|
||||||
audio1 = self.voiceChangerManager.changeVoice(
|
audio1 = self.voiceChangerManager.changeVoice(
|
||||||
gpu, srcId, dstId, timestamp, convertChunkNum, crossFadeLowerValue, crossFadeOffsetRate, crossFadeEndRate, unpackedData)
|
gpu, srcId, dstId, timestamp, convertChunkNum, crossFadeLowerValue, crossFadeOffsetRate, crossFadeEndRate, unpackedData)
|
||||||
|
|
||||||
|
@ -17,7 +17,7 @@ import onnxruntime
|
|||||||
providers = ['OpenVINOExecutionProvider',"CUDAExecutionProvider","DmlExecutionProvider","CPUExecutionProvider"]
|
providers = ['OpenVINOExecutionProvider',"CUDAExecutionProvider","DmlExecutionProvider","CPUExecutionProvider"]
|
||||||
|
|
||||||
class VoiceChanger():
|
class VoiceChanger():
|
||||||
def __init__(self, config, model=None, onnx_model=None):
|
def __init__(self, config:str, model:str=None, onnx_model:str=None):
|
||||||
# 共通で使用する情報を収集
|
# 共通で使用する情報を収集
|
||||||
self.hps = utils.get_hparams_from_file(config)
|
self.hps = utils.get_hparams_from_file(config)
|
||||||
self.gpu_num = torch.cuda.device_count()
|
self.gpu_num = torch.cuda.device_count()
|
||||||
@ -90,9 +90,12 @@ class VoiceChanger():
|
|||||||
self.onnx_session.set_providers(providers=[provider])
|
self.onnx_session.set_providers(providers=[provider])
|
||||||
print("ONNX_MDEOL: ", self.onnx_session.get_providers())
|
print("ONNX_MDEOL: ", self.onnx_session.get_providers())
|
||||||
return {"provider":self.onnx_session.get_providers()}
|
return {"provider":self.onnx_session.get_providers()}
|
||||||
|
else:
|
||||||
|
return {"provider":""}
|
||||||
|
|
||||||
|
|
||||||
def _generate_strength(self, crossFadeOffsetRate, crossFadeEndRate, unpackedData):
|
|
||||||
|
def _generate_strength(self, crossFadeOffsetRate:float, crossFadeEndRate:float, unpackedData):
|
||||||
|
|
||||||
if self.crossFadeOffsetRate != crossFadeOffsetRate or self.crossFadeEndRate != crossFadeEndRate or self.unpackedData_length != unpackedData.shape[0]:
|
if self.crossFadeOffsetRate != crossFadeOffsetRate or self.crossFadeEndRate != crossFadeEndRate or self.unpackedData_length != unpackedData.shape[0]:
|
||||||
self.crossFadeOffsetRate = crossFadeOffsetRate
|
self.crossFadeOffsetRate = crossFadeOffsetRate
|
||||||
@ -143,12 +146,12 @@ class VoiceChanger():
|
|||||||
return data
|
return data
|
||||||
|
|
||||||
|
|
||||||
def on_request(self, gpu, srcId, dstId, timestamp, convertChunkNum, crossFadeLowerValue, crossFadeOffsetRate, crossFadeEndRate, unpackedData):
|
def on_request(self, gpu:int, srcId:int, dstId:int, timestamp:int, convertChunkNum:int, crossFadeLowerValue:float, crossFadeOffsetRate:float, crossFadeEndRate:float, unpackedData:any):
|
||||||
convertSize = convertChunkNum * 128 # 128sample/1chunk
|
convertSize = convertChunkNum * 128 # 128sample/1chunk
|
||||||
if unpackedData.shape[0] * 2 > convertSize:
|
if unpackedData.shape[0] * 2 > convertSize:
|
||||||
convertSize = unpackedData.shape[0] * 2
|
convertSize = unpackedData.shape[0] * 2
|
||||||
|
|
||||||
print("convert Size", convertChunkNum, convertSize)
|
# print("convert Size", convertChunkNum, convertSize)
|
||||||
|
|
||||||
self._generate_strength(crossFadeOffsetRate, crossFadeEndRate, unpackedData)
|
self._generate_strength(crossFadeOffsetRate, crossFadeEndRate, unpackedData)
|
||||||
data = self. _generate_input(unpackedData, convertSize, srcId)
|
data = self. _generate_input(unpackedData, convertSize, srcId)
|
||||||
|
@ -28,7 +28,7 @@ class VoiceChangerManager():
|
|||||||
return {"error":"no voice changer"}
|
return {"error":"no voice changer"}
|
||||||
|
|
||||||
|
|
||||||
def changeVoice(self, gpu, srcId, dstId, timestamp, convertChunkNum, crossFadeLowerValue, crossFadeOffsetRate, crossFadeEndRate, unpackedData):
|
def changeVoice(self, gpu:int, srcId:int, dstId:int, timestamp:int, convertChunkNum:int, crossFadeLowerValue:float, crossFadeOffsetRate:float, crossFadeEndRate:float, unpackedData:any):
|
||||||
if hasattr(self, 'voiceChanger') == True:
|
if hasattr(self, 'voiceChanger') == True:
|
||||||
return self.voiceChanger.on_request(gpu, srcId, dstId, timestamp, convertChunkNum, crossFadeLowerValue, crossFadeOffsetRate, crossFadeEndRate, unpackedData)
|
return self.voiceChanger.on_request(gpu, srcId, dstId, timestamp, convertChunkNum, crossFadeLowerValue, crossFadeOffsetRate, crossFadeEndRate, unpackedData)
|
||||||
else:
|
else:
|
||||||
|
Loading…
x
Reference in New Issue
Block a user