debug, threading, etc
This commit is contained in:
parent
e91d3012cb
commit
c33d577bb6
@ -4,7 +4,7 @@ import utterance.utils
|
|||||||
import utterance.osc
|
import utterance.osc
|
||||||
import examine.metric
|
import examine.metric
|
||||||
|
|
||||||
logging.basicConfig(level=logging.ERROR)
|
logging.basicConfig(level=logging.INFO)
|
||||||
|
|
||||||
UTTERANCE_LEN = 16 #<--------------- these should be in config
|
UTTERANCE_LEN = 16 #<--------------- these should be in config
|
||||||
NUM_METRIC_GEN = 50
|
NUM_METRIC_GEN = 50
|
||||||
@ -13,6 +13,7 @@ broadcast = None
|
|||||||
metric = None
|
metric = None
|
||||||
exit = False
|
exit = False
|
||||||
terminal = False
|
terminal = False
|
||||||
|
debug = False
|
||||||
|
|
||||||
def format_str(text) -> str:
|
def format_str(text) -> str:
|
||||||
t = utterance.utils.clean(text)
|
t = utterance.utils.clean(text)
|
||||||
@ -45,9 +46,13 @@ def terminal_utterance(utterance):
|
|||||||
|
|
||||||
def broadcast_utterance(v, utterance):
|
def broadcast_utterance(v, utterance):
|
||||||
|
|
||||||
global broadcast, exit
|
global broadcast, exit, debug
|
||||||
|
|
||||||
text = f"{v.name.upper()} : {v.temp}\n"
|
if debug:
|
||||||
|
temp = format(v.temp, '.2f')
|
||||||
|
text = f"{v.name.upper()}: {temp}\n"
|
||||||
|
else:
|
||||||
|
text = f"{v.name.upper()}:\n"
|
||||||
|
|
||||||
broadcast.utterance(text, v.channel)
|
broadcast.utterance(text, v.channel)
|
||||||
terminal_utterance(text)
|
terminal_utterance(text)
|
||||||
@ -88,10 +93,14 @@ def find_candidates(v, uv_vec, voices, results):
|
|||||||
def update():
|
def update():
|
||||||
global exit
|
global exit
|
||||||
while not exit:
|
while not exit:
|
||||||
utterance.osc.update()
|
try:
|
||||||
|
utterance.osc.update()
|
||||||
|
except Exception as e:
|
||||||
|
logging.error(e)
|
||||||
|
pass
|
||||||
|
|
||||||
time.sleep(0.2)
|
time.sleep(0.2)
|
||||||
|
|
||||||
|
|
||||||
def signal_terminate(signum, frame):
|
def signal_terminate(signum, frame):
|
||||||
global exit
|
global exit
|
||||||
logging.warning("::SIGNAL TERMINATE::")
|
logging.warning("::SIGNAL TERMINATE::")
|
||||||
@ -99,7 +108,7 @@ def signal_terminate(signum, frame):
|
|||||||
|
|
||||||
def main() -> int:
|
def main() -> int:
|
||||||
|
|
||||||
global broadcast, metric, terminal
|
global broadcast, metric, terminal, debug
|
||||||
|
|
||||||
p = argparse.ArgumentParser()
|
p = argparse.ArgumentParser()
|
||||||
p.add_argument("-c", "--config", type=str, default="voice.config.json", help="configuratin file")
|
p.add_argument("-c", "--config", type=str, default="voice.config.json", help="configuratin file")
|
||||||
@ -138,12 +147,18 @@ def main() -> int:
|
|||||||
|
|
||||||
broadcast = utterance.osc.OscBroadcaster(name="osc_broadcast", host=conf['host_voicemachine'], port=conf['port_voicemachine'], command_channel=conf['command_osc_channel'])
|
broadcast = utterance.osc.OscBroadcaster(name="osc_broadcast", host=conf['host_voicemachine'], port=conf['port_voicemachine'], command_channel=conf['command_osc_channel'])
|
||||||
|
|
||||||
def temperature_cb(temp, name):
|
def receiver_cb(temp, name):
|
||||||
for v in voices:
|
global debug
|
||||||
if v.name == name:
|
if type(temp) == str and temp == "DEBUG":
|
||||||
v.temp = temp
|
debug = name
|
||||||
|
logging.info(f"DEBUG MODE: {debug}")
|
||||||
|
else:
|
||||||
|
for v in voices:
|
||||||
|
if v.name == name:
|
||||||
|
print(f'{name} - {temp}')
|
||||||
|
v.temp = temp
|
||||||
|
|
||||||
receiver = utterance.osc.OscReceiver(name="osc_receiver", host=conf['host_machinespeak'], port=conf['port_machinespeak'], callback_fn=temperature_cb)
|
receiver = utterance.osc.OscReceiver(name="osc_receiver", host=conf['host_machinespeak'], port=conf['port_machinespeak'], callback_fn=receiver_cb)
|
||||||
|
|
||||||
|
|
||||||
#--------------------#
|
#--------------------#
|
||||||
@ -152,11 +167,26 @@ def main() -> int:
|
|||||||
logging.info(f"INIT::loading doc2vec metrics")
|
logging.info(f"INIT::loading doc2vec metrics")
|
||||||
metric = examine.metric.Metric(model_input='data/models/doc2vec.model')
|
metric = examine.metric.Metric(model_input='data/models/doc2vec.model')
|
||||||
|
|
||||||
|
#--------------------#
|
||||||
|
# RANDOM
|
||||||
|
#--------------------#
|
||||||
|
|
||||||
|
def random_seed():
|
||||||
|
global t_random_seed
|
||||||
|
logging.info("INIT::SEEDING RANDOM")
|
||||||
|
random.seed(time.time())
|
||||||
|
if not exit:
|
||||||
|
t_random_seed = threading.Timer(random.randint(60, 60 * 4), random_seed)
|
||||||
|
t_random_seed.start()
|
||||||
|
|
||||||
|
t_random_seed = threading.Timer(random.randint(60, 60 * 4), random_seed)
|
||||||
|
t_random_seed.start()
|
||||||
|
|
||||||
#--------------------#
|
#--------------------#
|
||||||
# A
|
# A
|
||||||
#--------------------#
|
#--------------------#
|
||||||
logging.info(f"INIT::generating first utterance")
|
logging.info(f"INIT::generating first utterance")
|
||||||
random.seed(time.time())
|
|
||||||
v = random.choice(voices)
|
v = random.choice(voices)
|
||||||
uv, uv_vec = utter_one_vectorise(v)
|
uv, uv_vec = utter_one_vectorise(v)
|
||||||
|
|
||||||
@ -187,6 +217,11 @@ def main() -> int:
|
|||||||
logging.info(f"TERMINATE::terminating OSC")
|
logging.info(f"TERMINATE::terminating OSC")
|
||||||
utterance.osc.terminate_osc()
|
utterance.osc.terminate_osc()
|
||||||
|
|
||||||
|
# if t_random_seed:
|
||||||
|
logging.info(f"TERMINATE::random seed")
|
||||||
|
t_random_seed.cancel()
|
||||||
|
t_random_seed.join()
|
||||||
|
|
||||||
logging.info(f"FIN")
|
logging.info(f"FIN")
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -1,5 +1,8 @@
|
|||||||
from osc4py3.as_eventloop import *
|
from osc4py3.as_eventloop import *
|
||||||
from osc4py3 import oscbuildparse
|
from osc4py3 import oscbuildparse
|
||||||
|
from threading import Lock
|
||||||
|
|
||||||
|
mutex = Lock()
|
||||||
|
|
||||||
def start_osc():
|
def start_osc():
|
||||||
osc_startup()
|
osc_startup()
|
||||||
@ -11,7 +14,9 @@ def temperature(temp, name):
|
|||||||
print(f'{temp} - {name}')
|
print(f'{temp} - {name}')
|
||||||
|
|
||||||
def update():
|
def update():
|
||||||
osc_process()
|
global mutex
|
||||||
|
with mutex:
|
||||||
|
osc_process()
|
||||||
|
|
||||||
class OscBroadcaster:
|
class OscBroadcaster:
|
||||||
|
|
||||||
@ -25,12 +30,12 @@ class OscBroadcaster:
|
|||||||
def utterance(self, utterance: str, channel: str):
|
def utterance(self, utterance: str, channel: str):
|
||||||
msg = oscbuildparse.OSCMessage(channel, None, [utterance])
|
msg = oscbuildparse.OSCMessage(channel, None, [utterance])
|
||||||
osc_send(msg, self.name)
|
osc_send(msg, self.name)
|
||||||
osc_process()
|
update()
|
||||||
|
|
||||||
def command(self, command: str):
|
def command(self, command: str):
|
||||||
msg = oscbuildparse.OSCMessage(self.cmd, None, [command])
|
msg = oscbuildparse.OSCMessage(self.cmd, None, [command])
|
||||||
osc_send(msg, self.name)
|
osc_send(msg, self.name)
|
||||||
osc_process()
|
update()
|
||||||
|
|
||||||
class OscReceiver:
|
class OscReceiver:
|
||||||
|
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
from aitextgen import aitextgen
|
from aitextgen import aitextgen
|
||||||
import utterance.utils
|
import utterance.utils
|
||||||
import regex, string
|
import regex, string, time
|
||||||
|
|
||||||
class Voice:
|
class Voice:
|
||||||
|
|
||||||
@ -13,7 +13,7 @@ class Voice:
|
|||||||
def utter_n(self, n: int, temp: float = None, lenght: int = None):
|
def utter_n(self, n: int, temp: float = None, lenght: int = None):
|
||||||
t = self.temp if temp == None else temp
|
t = self.temp if temp == None else temp
|
||||||
l = self.lenght if lenght == None else lenght
|
l = self.lenght if lenght == None else lenght
|
||||||
return self.v.generate(n=n, max_lenght=l, temperature=t, return_as_list=True)
|
return self.v.generate(n=n, max_lenght=l, temperature=t, seed=int(time.time()), return_as_list=True)
|
||||||
|
|
||||||
def utter_one(self, temp: int = None, lenght: float = None) -> str:
|
def utter_one(self, temp: int = None, lenght: float = None) -> str:
|
||||||
t = self.temp if temp == None else temp
|
t = self.temp if temp == None else temp
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user