Compare commits

..

No commits in common. "mussorgsky" and "master" have entirely different histories.

9 changed files with 1 additions and 160 deletions

BIN
.DS_Store vendored

Binary file not shown.

Binary file not shown.

BIN
2gelb.mid

Binary file not shown.

BIN
6rot.mid

Binary file not shown.

Binary file not shown.

View File

@ -1,57 +0,0 @@
import argparse
import math
import time
from mido import MidiFile
from pythonosc import udp_client
import mido
import random
mid = MidiFile('7eisblau.mid')
random.seed(10)
parser = argparse.ArgumentParser()
parser.add_argument("--ip", default="127.0.0.1",
help="The ip of the OSC server")
parser.add_argument("--port", type=int, default=5005,
help="The port the OSC server is listening on")
args = parser.parse_args()
client = udp_client.SimpleUDPClient(args.ip, args.port)
client.send_message("/color", "blue")
accrued_time = 0
note_count = 0
coor = (50, 50)
direction = [1, 0]
client.send_message("/tcp_coordinates", (50, 50, 0, 0, 0, 0))
for msg in mid.tracks[1]:
t = mido.tick2second(msg.time, mid.ticks_per_beat, 1000000)
beats = msg.time / mid.ticks_per_beat
accrued_time += t
if msg.type != "note_on" or msg.time == 0:
time.sleep(t)
continue
note_count += 1
if note_count > 4:
note_count = 0
coor = (coor[0] + direction[0] * accrued_time * 21, coor[1] + direction[1] * accrued_time * 21)
client.send_message("/tcp_coordinates", (coor[0], coor[1], 6, 0, 0, 0))
accrued_time = 0
for i, m in enumerate(direction):
if m != 0:
direction[i] = 0
else:
direction[i] = random.choice((1, -1))
print(msg.note)
time.sleep(t)
client.send_message("/tcp_coordinates", (coor[0], coor[1], 0, 0, 0, 0))

43
gelb.py
View File

@ -1,43 +0,0 @@
import argparse
import math
import time
from mido import MidiFile
from pythonosc import udp_client
import mido
mid = MidiFile('2gelb.mid')
parser = argparse.ArgumentParser()
parser.add_argument("--ip", default="127.0.0.1",
help="The ip of the OSC server")
parser.add_argument("--port", type=int, default=5005,
help="The port the OSC server is listening on")
args = parser.parse_args()
client = udp_client.SimpleUDPClient(args.ip, args.port)
angle = 0
magnitude = 0
mean = 74.1
client.send_message("/color", "yellow")
for msg in mid.tracks[1]:
t = mido.tick2second(msg.time, mid.ticks_per_beat, 1000000)
beats = msg.time / mid.ticks_per_beat
rotation = 2 * math.pi * beats / 16
angle += rotation
magnitude += beats * 3
if msg.type != "note_on" or msg.time == 0:
time.sleep(t)
continue
print(msg.note)
adj_angle = angle + (msg.note - mean) / 9
y = math.sin(adj_angle) * magnitude
x = math.cos(adj_angle) * magnitude
client.send_message("/tcp_coordinates", (x, y, 6, 0, 0, 0))
time.sleep(t)
client.send_message("/tcp_coordinates", (x, y, 0, 0, 0, 0))

View File

@ -20,14 +20,12 @@ def color_handler(unused_addr, c):
t.pencolor(c)
def coordinate_handler(unused_addr, x, y, z, roll, pitch, yaw):
prev_size = t.pensize
t.pen(pensize=z)
if z <= 0:
t.penup()
else:
t.pendown()
if prev_size == 0:
t.dot()
t.goto(x, y)
if __name__ == "__main__":

57
rot.py
View File

@ -1,57 +0,0 @@
import argparse
import math
import time
from mido import MidiFile
from pythonosc import udp_client
import mido
import random
mid = MidiFile('6rot.mid')
random.seed(10)
parser = argparse.ArgumentParser()
parser.add_argument("--ip", default="127.0.0.1",
help="The ip of the OSC server")
parser.add_argument("--port", type=int, default=5005,
help="The port the OSC server is listening on")
args = parser.parse_args()
client = udp_client.SimpleUDPClient(args.ip, args.port)
client.send_message("/color", "red")
accrued_time = 0
note_count = 0
center = (50, 50)
radius = 10
direction = [1, 0]
client.send_message("/tcp_coordinates", (50, 50, 0, 0, 0, 0))
for msg in mid.tracks[1]:
t = mido.tick2second(msg.time, mid.ticks_per_beat, 1000000)
beats = msg.time / mid.ticks_per_beat
accrued_time += t
if msg.type != "note_on" or msg.time == 0 or msg.velocity == 0:
time.sleep(t)
continue
print(msg.note)
note_count += 1
client.send_message("/tcp_coordinates", (center[0], center[1], 6, 0, 0, 0))
client.send_message("/tcp_coordinates", (center[0], center[1], 0, 0, 0, 0))
if note_count > 4:
client.send_message("/tcp_coordinates", (center[0], center[1], 0, 0, 0, 0))
center = (random.randint(0, 300), random.randint(0, 300))
client.send_message("/tcp_coordinates", (center[0], center[1], 0, 0, 0, 0))
note_count = 0
time.sleep(t)
client.send_message("/tcp_coordinates", (coor[0], coor[1], 0, 0, 0, 0))