Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import serial;
- from psonic import *;
- from threading import Thread;
- import atexit;
- from pythonosc import osc_message_builder;
- from pythonosc import udp_client;
- ser = serial.Serial('/dev/ttyACM0',9600, timeout=1);
- s = 0;
- n = 0.0;
- run("""@osc_server ||= SonicPi::OSC::UDPServer.new(4559, use_decoder_cache: true)
- use_synth :sine
- set_sched_ahead_time! 0 #for short latency
- s = play 60, release: 0, sustain:100, amp:0.1, attack:0
- loop do
- a, b = sync "/osc/trigger/prophet"
- control s, note:a, amp:b
- end""");
- while True:
- try:
- st = ser.readline().decode('utf-8');
- inn=int(st);
- if(inn > s+5 or inn < s-5):
- s = inn;
- sender = udp_client.SimpleUDPClient('127.0.0.1', 4559)
- if(inn != 0 and inn < 1020):
- n = (inn/1020.0)*12.0;
- print(72-n);
- sender.send_message('/trigger/prophet', [(72-n), 1]);
- else:
- send_message('/trigger/prophet', [0, 0]);
- n = 0.0;
- except:
- print("no num");
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement