terminal out

This commit is contained in:
Gauthier 2022-03-17 15:29:44 +01:00
parent c76875a08d
commit 72b984bf48
2 changed files with 24 additions and 7 deletions

View File

@ -4,12 +4,15 @@ import utterance.utils
import utterance.osc import utterance.osc
import examine.metric import examine.metric
logging.basicConfig(level=logging.ERROR)
UTTERANCE_LEN = 16 #<--------------- these should be in config UTTERANCE_LEN = 16 #<--------------- these should be in config
NUM_METRIC_GEN = 50 NUM_METRIC_GEN = 50
NUM_SAMPLE_VOICES = 3 NUM_SAMPLE_VOICES = 3
broadcast = None broadcast = None
metric = None metric = None
exit = False exit = False
terminal = False
def format_str(text) -> str: def format_str(text) -> str:
t = utterance.utils.clean(text) t = utterance.utils.clean(text)
@ -36,6 +39,10 @@ def utter_n_vectorise_distance(v, n, vec):
results.append([d, t, v]) results.append([d, t, v])
return results return results
def terminal_utterance(utterance):
if terminal:
print(utterance, end="")
def broadcast_utterance(v, utterance): def broadcast_utterance(v, utterance):
global broadcast, exit global broadcast, exit
@ -43,6 +50,7 @@ def broadcast_utterance(v, utterance):
text = v.name.upper() + ":\n" text = v.name.upper() + ":\n"
broadcast.utterance(text, v.channel) broadcast.utterance(text, v.channel)
terminal_utterance(text)
time.sleep(2) time.sleep(2)
frags = v.fragments(utterance) frags = v.fragments(utterance)
@ -50,11 +58,14 @@ def broadcast_utterance(v, utterance):
for f in frags: for f in frags:
text += f text += f
broadcast.utterance(text, v.channel) broadcast.utterance(text, v.channel)
terminal_utterance(f)
time.sleep(2) time.sleep(2)
if exit: if exit:
return return
broadcast.command('clear') broadcast.command('clear')
print("==========")
time.sleep(2) time.sleep(2)
def find_candidates(v, uv_vec, voices, results): def find_candidates(v, uv_vec, voices, results):
@ -83,15 +94,14 @@ def signal_terminate(signum, frame):
def main() -> int: def main() -> int:
global broadcast, metric global broadcast, metric, terminal
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")
p.add_argument("-i", "--iterations", type=int, default=10, help="number of iterations") p.add_argument("-i", "--iterations", type=int, default=10, help="number of iterations")
p.add_argument("-t", "--terminal", action=argparse.BooleanOptionalAction, help="print to terminal")
args = p.parse_args() args = p.parse_args()
logging.basicConfig(level=logging.INFO)
logging.info(f"INIT::loading config file - {args.config}") logging.info(f"INIT::loading config file - {args.config}")
with open(args.config) as f: with open(args.config) as f:
@ -99,6 +109,8 @@ def main() -> int:
logging.info(conf) logging.info(conf)
terminal = args.terminal
#--------------------# #--------------------#
# VOICES # VOICES
#--------------------# #--------------------#

View File

@ -24,6 +24,8 @@ def fragments(utterance: str):
PUNCT_RE = regex.compile(r'(\p{Punctuation})') PUNCT_RE = regex.compile(r'(\p{Punctuation})')
skip_punctuation = ["'"]
for s in sentences: for s in sentences:
sf = PUNCT_RE.split(s) sf = PUNCT_RE.split(s)
cum = "" cum = ""
@ -36,8 +38,11 @@ def fragments(utterance: str):
cum += k cum += k
else: else:
cum += k cum += k
frags.append(cum) if k in skip_punctuation:
cum = "" continue
else:
frags.append(cum)
cum = ""
cum += '\n' cum += '\n'
frags.append(cum) frags.append(cum)