-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathresender.py
87 lines (62 loc) · 2.1 KB
/
resender.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
"""
def resender_function(arr):
pass
"""
from autoencoder.autoencoders_handler import process_using_VAE, to_latent_vector_using_VAE
def resender_function(arr):
# Send one frame only - the last generated one
#send_one_frame(arr)
send_all_gen_frames(arr)
#encode_spectrogram_VAE(arr)
#arr = process_spectrogram_VAE(arr)
# return spectrogram ...
return arr
def process_spectrogram_VAE(arr):
print("processing")
processed = process_using_VAE(arr)
print("HAX OUTPUT === ", processed.shape)
return processed
def encode_spectrogram_VAE(arr):
print("encoding")
latents = to_latent_vector_using_VAE(arr)
print("HAX OUTPUT === ", latents.shape)
sequence_length = 40
to_send = latents #[sequence_length:]
for count, one_frame in enumerate(to_send):
print("HAX OUTPUT === ", one_frame.shape)
if count % 4 == 0:
osc_handler.send_arr(one_frame)
def send_one_frame(arr):
last_spectum = arr[-1]
low_frequencies = last_spectum[0:512]
#print("HAX OUTPUT === ", low_frequencies.shape)
global osc_handler
osc_handler.send_arr(low_frequencies)
def send_all_gen_frames(arr):
# settings/server sequence_length by default on 40
sequence_length = 40
global osc_handler
to_send = arr[sequence_length:]
for count, one_frame in enumerate(to_send):
low_frequencies = one_frame[0:512]
#print("HAX OUTPUT === ", low_frequencies.shape)
if count % 4 == 0:
osc_handler.send_arr(low_frequencies)
# https://github.com/kivy/oscpy
from oscpy.client import OSCClient
class OSCSender(object):
"""
Sends OSC messages from GUI
"""
def send_arr(self,arr):
signal_latent = arr
signal_latent = [float(v) for v in signal_latent]
print("Sending message=", [0, 0, len(signal_latent)])
self.osc.send_message(b'/send_gan_i', [0, 0] + signal_latent)
def __init__(self):
#address = "127.0.0.1"
#port = 8000
address = '0.0.0.0'
port = 8000
self.osc = OSCClient(address, port)
osc_handler = OSCSender()