In [1]:
import numpy as np
from numpy import random
from StringIO import StringIO
from IPython.display import Image
import OSC
import time, sys
import time, random
client = OSC.OSCClient()
client.connect( ( '127.0.0.1', 57110 ) )
In [2]:
def oscgrain( frequency, vol, sustain ):
msg = OSC.OSCMessage()
msg.setAddress("s_new")
msg.append("grain")
msg.append(-1)
msg.append(0)
msg.append(1)
msg.append("amp")
msg.append(vol)
msg.append("freq")
msg.append(frequency) #read in data points
msg.append("sustain")
msg.append(sustain)
client.send(msg)
In [3]:
data = np.genfromtxt("wine_names.csv", dtype=float, delimiter=',', skip_header=1)
data_all = (data - np.min(data, axis=0))/(np.max(data, axis=0) - np.min(data, axis=0))
In [49]:
data = np.genfromtxt("ppg2008.csv", dtype=float, delimiter=',', skip_header=1)
data_all = (data - np.min(data, axis=0))/(np.max(data, axis=0) - np.min(data, axis=0))
for i in range(np.asarray(data.shape)[1]-1):
oscgrain(100+(1400*data_all[random.randint(0,(np.asarray(data.shape)[0])-1),i+1]), 1.0/np.asarray(data.shape)[1], 1.08)
In [160]:
data = np.genfromtxt("wine_names.csv", dtype=float, delimiter=',', skip_header=1)
data_all = (data - np.min(data, axis=0))/(np.max(data, axis=0) - np.min(data, axis=0))
for i in range(np.asarray(data.shape)[1]-1):
oscgrain(100+(1400*data_all[random.randint(0,(np.asarray(data.shape)[0])-1),i+1]), 1.0/np.asarray(data.shape)[1], .06)
In [142]:
data = np.genfromtxt("iris.data", dtype=float, delimiter=',', skip_header=1)
data_all = (data - np.min(data, axis=0))/(np.max(data, axis=0) - np.min(data, axis=0))
for i in range(np.asarray(data.shape)[1]-1):
oscgrain(100+(1400*data_all[random.randint(0,(np.asarray(data.shape)[0])-1),i]), 1.0/np.asarray(data.shape)[1], 1.02)
in sequence
In [145]:
for i in range(np.asarray(data.shape)[1]-1):
oscgrain(100+(1400*data_all[random.randint(0,(np.asarray(data.shape)[0]-1)),i+1]), 1.0/np.asarray(data.shape)[1], 0.04)
time.sleep(0.01)
In [263]:
randominput
all datapoints at once! beware audio volume!
In [147]:
for i in range(np.asarray(data.shape)[0]):
for ii in range (np.asarray(data.shape)[1]-1): #first dimension is class information, therefore ii+1
oscgrain(100+(1400*data_all[i,ii+1]), 0.05/np.asarray(data.shape)[1], 0.2)
all datapoints in sequence (play with loop delay settings)
In [428]:
for i in range(np.asarray(data.shape)[0]):
for ii in range (np.asarray(data.shape)[1]-1): #first dimension is class information, therefore ii+1
oscgrain(16+(2200*data_all[i,ii+1]), .1/np.asarray(data.shape)[1], 0.03)
# 14*0.01=0.14 lenght/period time
time.sleep(0.02)
time.sleep(0.02*(np.asarray(data.shape)[1]-1))
In [148]:
data = np.genfromtxt("iris.data", dtype=float, delimiter=',', skip_header=1)
data_all = (data - np.min(data, axis=0))/(np.max(data, axis=0) - np.min(data, axis=0))
for i in range(np.asarray(data.shape)[0]):
for ii in range (np.asarray(data.shape)[1]-1): #first dimension is class information
oscgrain(100+(1000*data_all[i,ii]), 0.1/np.asarray(data.shape)[1], 0.1)
time.sleep(0.02)
In [476]:
data = np.genfromtxt("wine_names.csv", dtype=float, delimiter=',', skip_header=1)
data_all = (data - np.min(data, axis=0))/(np.max(data, axis=0) - np.min(data, axis=0))
for i in range(np.asarray(data.shape)[0]):
for ii in range (np.asarray(data.shape)[1]-1): #first dimension is class information, therefore ii+1
oscgrain(100+(1000*data_all[i,ii+1]), 0.4/np.asarray(data.shape)[1], 0.1)
time.sleep(0.02)
In [208]:
data = np.genfromtxt("ppg2008.csv", dtype=float, delimiter=',', skip_header=1)
data_all = (data - np.min(data, axis=0))/(np.max(data, axis=0) - np.min(data, axis=0))
for i in range(np.asarray(data.shape)[0]-1):
for ii in range (np.asarray(data.shape)[1]-1): #first dimension is class information
oscgrain(100+(1000*data_all[i+1,ii+1]), 0.4/np.asarray(data.shape)[1], 0.1)
time.sleep(0.02)