From 8ee47ec795665d507a365d6031bc91aa52c64a51 Mon Sep 17 00:00:00 2001 From: gauthiier Date: Sun, 13 Mar 2022 19:28:37 +0100 Subject: [PATCH] cleanup --- config.json | 34 -------- speak_metric.py | 107 ------------------------- speak_metric_broadcast.py | 159 -------------------------------------- 3 files changed, 300 deletions(-) delete mode 100644 config.json delete mode 100644 speak_metric.py delete mode 100644 speak_metric_broadcast.py diff --git a/config.json b/config.json deleted file mode 100644 index acb5183..0000000 --- a/config.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "voices": [ - { - "name": "ETHER", - "model_dir": "data/tokens+models/Emerson-Nature.txt_bs=64_ns=8000_vs=5000", - "tokeniser_file": "data/tokens+models/Emerson-Nature.txt_bs=64_ns=8000_vs=5000/Emerson-Nature.txt_ns=5000.tokenizer.json", - "temperature": "0.9" - }, - { - "name": "CHAOS", - "model_dir": "data/tokens+models/Lafontaine-Fables[english].txt_bs=64_ns=3000_vs=5000", - "tokeniser_file": "data/tokens+models/Lafontaine-Fables[english].txt_bs=64_ns=3000_vs=5000/Lafontaine-Fables[english].txt_ns=5000.tokenizer.json", - "temperature": "1.2" - }, - { - "name": "BLAKE", - "model_dir": "data/tokens+models/Blake-Songs-of-Innocence-and-of-Experience.txt_bs=64_ns=3000_vs=5000", - "tokeniser_file": "data/tokens+models/Blake-Songs-of-Innocence-and-of-Experience.txt_bs=64_ns=3000_vs=5000/Blake-Songs-of-Innocence-and-of-Experience.txt_ns=5000.tokenizer.json", - "temperature": "1.5" - }, - { - "name": "THEO", - "model_dir": "data/tokens+models/Schelling-ON-THE-RELATION-OF-THE-PLASTIC-ARTS-TO-NATURE.txt_bs=64_ns=8000_vs=5000", - "tokeniser_file": "data/tokens+models/Schelling-ON-THE-RELATION-OF-THE-PLASTIC-ARTS-TO-NATURE.txt_bs=64_ns=8000_vs=5000/Schelling-ON-THE-RELATION-OF-THE-PLASTIC-ARTS-TO-NATURE.txt_ns=5000.tokenizer.json", - "temperature": "1.5" - }, - { - "name": "POMPOM", - "model_dir": "data/tokens+models/NEWNATUREPOEMS.txt_bs=64_ns=5000_vs=5000", - "tokeniser_file": "data/tokens+models/NEWNATUREPOEMS.txt_bs=64_ns=5000_vs=5000/NEWNATUREPOEMS.txt_ns=5000.tokenizer.json", - "temperature": "0.5" - } - ] -} \ No newline at end of file diff --git a/speak_metric.py b/speak_metric.py deleted file mode 100644 index ca18961..0000000 --- a/speak_metric.py +++ /dev/null @@ -1,107 +0,0 @@ -import argparse, json, sys, time, random -import utterance.voice -import utterance.utils -import utterance.osc -import examine.metric - -UTTERANCE_LEN = 16 - -def format_str(text: str) -> str: - t = utterance.utils.clean(text) - return utterance.utils.format(t) - - -def main() -> int: - - p = argparse.ArgumentParser() - 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") - args = p.parse_args() - - with open(args.config) as f: - conf = json.load(f) - - voices = [] - for v in conf['voices']: - model = v['model'] - voice = utterance.voice.Voice(name=v["name"].upper(), model=model['model_dir'], tokenizer=model['tokeniser_file'], temp=float(model["temperature"]), lenght=UTTERANCE_LEN) - voice.set_channel(v['osc_channel']['root'], v['osc_channel']['utterance']) - voices.append(voice) - - broadcast = utterance.osc.OscBroadcaster(name="osc_broadcast", host=conf['host'], port=conf['port'], command_channel=conf['command_osc_channel']) - broadcast.start_osc() - - nbr_voices = len(voices) - - state = 'c' - - metric = examine.metric.Metric(model_input='data/models/doc2vec.model') - - s = set(range(0, nbr_voices - 1)) - - rindex = random.sample(s, 1)[0] - - v = voices[rindex] - uv = v.utter_one() - uv = format_str(uv) - - v_vec = metric.vector(uv) - - - while state == 'c': - - candidates = random.sample(s, 3) - - results = [] - for c in candidates: - if c == rindex: - continue - vc = voices[c] - vc_texts = vc.utter_n(n=150) - for t in vc_texts: - t = format_str(t) - t_vec = metric.vector(t) - d = examine.metric.cos_dist(v_vec, t_vec) - results.append([d, t, c]) - - # vv = voices[rrindex] - # texts = vv.utter_n(n=150) - # # texts = v.utter_n(n=150) - # results = [] - # for t in texts: - # t = format_str(t) - # t_vec = metric.vector(uv) - # d = examine.metric.cos_dist(v_vec, t_vec) - # results.append((d, t)) - - results.sort(key=lambda t: t[0], reverse=True) - - print('----------------------------') - print(v.name + ":") - print(uv) - print('----------------------------') - - for r in results[:2]: - print('-->' + str(r[0])) - print(r[1]) - print('+++++++++++++++++++++++++') - - - # new round - - top = results[0] - rindex = top[2] - v = voices[rindex] - uv = top[1] - v_vec = metric.vector(top[1]) - - - state = input("Continue? ") - - - - broadcast.terminate_osc() - - -if __name__ == '__main__': - sys.exit(main()) \ No newline at end of file diff --git a/speak_metric_broadcast.py b/speak_metric_broadcast.py deleted file mode 100644 index cbcf7d7..0000000 --- a/speak_metric_broadcast.py +++ /dev/null @@ -1,159 +0,0 @@ -import argparse, json, sys, time, random -import utterance.voice -import utterance.utils -import examine.metric - -from osc4py3.as_eventloop import * -from osc4py3 import oscbuildparse - -voices_broadcast = {} -conf = {} - -def init_broadcast(): - - global conf, voices_broadcast - - with open('voice.config.json') as f: - conf = json.load(f) - - # configure voices and their channels - for v in conf['voices']: - voices_broadcast[v['name']] = v['osc_channel']['root'] + v['osc_channel']['utterance'] - - print(voices_broadcast) - - # Start the system. - osc_startup() - - # Make client channels to send packets. - osc_udp_client(conf['host'], conf['port'], "aaaa") - -def broadcast_utterance(name, utterance): - - global conf, voices_broadcast - - sentences = utterance.split('\n') - - text = name + ":" - - for t in sentences: - - if ',' in t: - phrases = t.split(',') - for i in range(0, len(phrases)): - p = phrases[i] - if p != "": - text += " " + p - if i != len(phrases) - 1 : - text += ',' - msg = oscbuildparse.OSCMessage(voices_broadcast[name], None, [text]) - osc_send(msg, "aaaa") - osc_process() - time.sleep(2) - else: - if text == "": - text += t - else: - text += "\n" + t - msg = oscbuildparse.OSCMessage(voices_broadcast[name], None, [text]) - osc_send(msg, "aaaa") - osc_process() - time.sleep(2) - - - - msg = oscbuildparse.OSCMessage(conf['command_osc_channel'], None, ["clear"]) - osc_send(msg, "aaaa") - osc_process() - - -def format_str(text: str) -> str: - t = utterance.utils.clean(text) - return utterance.utils.format(t) - - -def main() -> int: - - p = argparse.ArgumentParser() - p.add_argument("-c", "--config", type=str, default="config.json", help="configuratin file") - p.add_argument("-i", "--iterations", type=int, default=10, help="number of iterations") - args = p.parse_args() - - print(args) - - with open(args.config) as f: - conf = json.load(f) - - voices = [] - for v in conf['voices']: - voice = utterance.voice.Voice(name=v["name"].upper(), model=v['model_dir'], tokenizer=v['tokeniser_file'], temp=float(v["temperature"]), lenght=7) - voices.append(voice) - - init_broadcast() - - nbr_voices = len(voices) - - state = 'c' - - metric = examine.metric.Metric(model_input='data/models/doc2vec.model') - - s = set(range(0, nbr_voices - 1)) - - # rindex = random.sample(s, 1)[0] - rindex = 4 - - v = voices[rindex] - uv = v.utter_one() - uv = format_str(uv) - - v_vec = metric.vector(uv) - - - while 1: - - candidates = random.sample(s, 2) - - results = [] - for c in candidates: - if c == rindex: - continue - vc = voices[c] - vc_texts = vc.utter_n(n=25) - for t in vc_texts: - t = format_str(t) - t_vec = metric.vector(t) - d = examine.metric.cos_dist(v_vec, t_vec) - results.append([d, t, c]) - - - results.sort(key=lambda t: t[0], reverse=True) - - # print('----------------------------') - # print(v.name + ":") - # print(uv) - # print('----------------------------') - - broadcast_utterance(v.name, uv) - - # for r in results[:2]: - # print('-->' + str(r[0])) - # print(r[1]) - # print('+++++++++++++++++++++++++') - - - # new round - - top = results[0] - rindex = top[2] - v = voices[rindex] - uv = top[1] - v_vec = metric.vector(top[1]) - - - # state = input("Continue? ") - - osc_terminate() - - -if __name__ == '__main__': - sys.exit(main()) \ No newline at end of file