mirror of
https://github.com/w-okada/voice-changer.git
synced 2025-02-09 03:37:51 +03:00
add native
This commit is contained in:
parent
5f885d9e21
commit
9f59f78079
@ -1,4 +1,16 @@
|
|||||||
import sys, os, argparse, platform
|
import multiprocessing as mp
|
||||||
|
import subprocess
|
||||||
|
from const import SSL_KEY_DIR
|
||||||
|
from restapi.MMVC_Rest import MMVC_Rest
|
||||||
|
from sio.MMVC_SocketIOApp import MMVC_SocketIOApp
|
||||||
|
from voice_changer.VoiceChangerManager import VoiceChangerManager
|
||||||
|
from mods.ssl import create_self_signed_cert
|
||||||
|
import webbrowser
|
||||||
|
import uvicorn
|
||||||
|
import sys
|
||||||
|
import os
|
||||||
|
import argparse
|
||||||
|
import platform
|
||||||
import socket
|
import socket
|
||||||
import misc.log_control
|
import misc.log_control
|
||||||
|
|
||||||
@ -8,15 +20,6 @@ from distutils.util import strtobool
|
|||||||
|
|
||||||
sys.path.append("MMVC_Client/python")
|
sys.path.append("MMVC_Client/python")
|
||||||
|
|
||||||
import uvicorn
|
|
||||||
import webbrowser
|
|
||||||
|
|
||||||
from mods.ssl import create_self_signed_cert
|
|
||||||
from voice_changer.VoiceChangerManager import VoiceChangerManager
|
|
||||||
from sio.MMVC_SocketIOApp import MMVC_SocketIOApp
|
|
||||||
|
|
||||||
from restapi.MMVC_Rest import MMVC_Rest
|
|
||||||
from const import SSL_KEY_DIR
|
|
||||||
|
|
||||||
def setupArgParser():
|
def setupArgParser():
|
||||||
parser = argparse.ArgumentParser()
|
parser = argparse.ArgumentParser()
|
||||||
@ -64,14 +67,16 @@ def printMessage(message, level=0):
|
|||||||
# global app_socketio
|
# global app_socketio
|
||||||
# global app_fastapi
|
# global app_fastapi
|
||||||
|
|
||||||
|
|
||||||
parser = setupArgParser()
|
parser = setupArgParser()
|
||||||
args = parser.parse_args()
|
# args = parser.parse_args()
|
||||||
|
args, unknown = parser.parse_known_args()
|
||||||
|
|
||||||
# printMessage(f"Phase name:{__name__}", level=2)
|
# printMessage(f"Phase name:{__name__}", level=2)
|
||||||
# thisFilename = os.path.basename(__file__)[:-3]
|
# thisFilename = os.path.basename(__file__)[:-3]
|
||||||
|
|
||||||
# if __name__ == thisFilename or args.colab == True:
|
# if __name__ == thisFilename or args.colab == True:
|
||||||
# printMessage(f"PHASE3:{__name__}", level=2)
|
# printMessage(f"PHASE3:{__name__}", level=2)
|
||||||
TYPE = args.t
|
TYPE = args.t
|
||||||
PORT = args.p
|
PORT = args.p
|
||||||
CONFIG = args.c
|
CONFIG = args.c
|
||||||
@ -79,13 +84,23 @@ MODEL = args.m if args.m != None else None
|
|||||||
ONNX_MODEL = args.o if args.o != None else None
|
ONNX_MODEL = args.o if args.o != None else None
|
||||||
|
|
||||||
|
|
||||||
|
def localServer():
|
||||||
|
uvicorn.run(
|
||||||
|
f"{os.path.basename(__file__)[:-3]}:app_socketio",
|
||||||
|
host="0.0.0.0",
|
||||||
|
port=int(PORT),
|
||||||
|
reload=False if hasattr(sys, "_MEIPASS") else True,
|
||||||
|
log_level="warning"
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
if args.colab == True:
|
if args.colab == True:
|
||||||
os.environ["colab"] = "True"
|
os.environ["colab"] = "True"
|
||||||
# if os.getenv("EX_TB_PORT"):
|
# if os.getenv("EX_TB_PORT"):
|
||||||
# EX_TB_PORT = os.environ["EX_TB_PORT"]
|
# EX_TB_PORT = os.environ["EX_TB_PORT"]
|
||||||
# exApplitionInfo.external_tensorboard_port = int(EX_TB_PORT)
|
# exApplitionInfo.external_tensorboard_port = int(EX_TB_PORT)
|
||||||
|
|
||||||
voiceChangerManager = VoiceChangerManager.get_instance()
|
voiceChangerManager = VoiceChangerManager.get_instance()
|
||||||
if CONFIG and (MODEL or ONNX_MODEL):
|
if CONFIG and (MODEL or ONNX_MODEL):
|
||||||
voiceChangerManager.loadModel(CONFIG, MODEL, ONNX_MODEL)
|
voiceChangerManager.loadModel(CONFIG, MODEL, ONNX_MODEL)
|
||||||
app_fastapi = MMVC_Rest.get_instance(voiceChangerManager)
|
app_fastapi = MMVC_Rest.get_instance(voiceChangerManager)
|
||||||
@ -96,6 +111,9 @@ if __name__ == '__mp_main__':
|
|||||||
printMessage(f"サーバプロセスを起動しています。", level=2)
|
printMessage(f"サーバプロセスを起動しています。", level=2)
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
|
if sys.platform.startswith('win'):
|
||||||
|
mp.freeze_support()
|
||||||
|
|
||||||
printMessage(f"Voice Changerを起動しています。", level=2)
|
printMessage(f"Voice Changerを起動しています。", level=2)
|
||||||
TYPE = args.t
|
TYPE = args.t
|
||||||
PORT = args.p
|
PORT = args.p
|
||||||
@ -153,10 +171,9 @@ if __name__ == '__main__':
|
|||||||
printMessage(f"protocol: HTTP", level=1)
|
printMessage(f"protocol: HTTP", level=1)
|
||||||
printMessage(f"-- ---- -- ", level=1)
|
printMessage(f"-- ---- -- ", level=1)
|
||||||
|
|
||||||
|
|
||||||
# アドレス表示
|
# アドレス表示
|
||||||
printMessage(
|
printMessage(
|
||||||
f"ブラウザで次のURLを開いてください.", level=2)
|
f"ブラウザで次のURLを開いてください.", level=2)
|
||||||
if args.https == 1:
|
if args.https == 1:
|
||||||
printMessage(
|
printMessage(
|
||||||
f"https://<IP>:<PORT>/", level=1)
|
f"https://<IP>:<PORT>/", level=1)
|
||||||
@ -177,7 +194,7 @@ if __name__ == '__main__':
|
|||||||
printMessage(f"https://{ip}:{EX_PORT}/{path}", level=1)
|
printMessage(f"https://{ip}:{EX_PORT}/{path}", level=1)
|
||||||
else:
|
else:
|
||||||
printMessage(f"http://localhost:{EX_PORT}/{path}", level=1)
|
printMessage(f"http://localhost:{EX_PORT}/{path}", level=1)
|
||||||
else: # 直接python起動
|
else: # 直接python起動
|
||||||
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
|
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
|
||||||
s.connect(("8.8.8.8", 80))
|
s.connect(("8.8.8.8", 80))
|
||||||
hostname = s.getsockname()[0]
|
hostname = s.getsockname()[0]
|
||||||
@ -194,7 +211,7 @@ if __name__ == '__main__':
|
|||||||
f"{os.path.basename(__file__)[:-3]}:app_socketio",
|
f"{os.path.basename(__file__)[:-3]}:app_socketio",
|
||||||
host="0.0.0.0",
|
host="0.0.0.0",
|
||||||
port=int(PORT),
|
port=int(PORT),
|
||||||
reload = False if hasattr(sys, "_MEIPASS") else True,
|
reload=False if hasattr(sys, "_MEIPASS") else True,
|
||||||
ssl_keyfile=key_path,
|
ssl_keyfile=key_path,
|
||||||
ssl_certfile=cert_path,
|
ssl_certfile=cert_path,
|
||||||
# log_level="warning"
|
# log_level="warning"
|
||||||
@ -209,11 +226,21 @@ if __name__ == '__main__':
|
|||||||
log_level="warning"
|
log_level="warning"
|
||||||
)
|
)
|
||||||
else:
|
else:
|
||||||
uvicorn.run(
|
# uvicorn.run(
|
||||||
f"{os.path.basename(__file__)[:-3]}:app_socketio",
|
# f"{os.path.basename(__file__)[:-3]}:app_socketio",
|
||||||
host="0.0.0.0",
|
# host="0.0.0.0",
|
||||||
port=int(PORT),
|
# port=int(PORT),
|
||||||
reload = False if hasattr(sys, "_MEIPASS") else True,
|
# reload = False if hasattr(sys, "_MEIPASS") else True,
|
||||||
log_level="warning"
|
# log_level="warning"
|
||||||
)
|
# )
|
||||||
|
|
||||||
|
p = mp.Process(name="p", target=localServer)
|
||||||
|
p.start()
|
||||||
|
try:
|
||||||
|
if sys.platform.startswith('win'):
|
||||||
|
process = subprocess.Popen(["voice-changer-native-client.exe", "-u", f"http://localhost:{PORT}/{path}"])
|
||||||
|
return_code = process.wait()
|
||||||
|
print("client clonsed.")
|
||||||
|
p.terminate()
|
||||||
|
except Exception as e:
|
||||||
|
print(e)
|
||||||
|
Loading…
Reference in New Issue
Block a user