Compare commits
No commits in common. "mussorgsky" and "master" have entirely different histories.
mussorgsky
...
master
BIN
1ublau.mid
BIN
1ublau.mid
Binary file not shown.
BIN
7eisblau.mid
BIN
7eisblau.mid
Binary file not shown.
57
eisblau.py
57
eisblau.py
@ -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
43
gelb.py
@ -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))
|
4
main.py
4
main.py
@ -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
57
rot.py
@ -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))
|
Loading…
Reference in New Issue
Block a user