Algorithmic Media: Difference between revisions
(New page: == Image Generation == <source lang="python"> import os, struct import math f = open("test.rgba", "wb") def do (cmd): os.system(cmd) (red, green, blue) = (255, 0, 0) for x in range(4...) |
No edit summary |
||
Line 1: | Line 1: | ||
== Sound == | |||
<source lang="python"> | |||
#!/usr/bin/python | |||
import os | |||
pat1 = "ooo.oo.o.oo." | |||
pat2 = pat1 | |||
def do (cmd): | |||
os.system(cmd) | |||
do("rm tmp.raw") | |||
for i in range(12): | |||
print pat1 | |||
print pat2 | |||
print "----" | |||
for i in range(4): | |||
for (a, b) in zip(pat1, pat2): | |||
if a=="o" and b=="o": | |||
do("cat tones/sample.raw >> tmp.raw") | |||
elif a=="o" or b=="o": | |||
do("cat tones/lo.raw >> tmp.raw") | |||
else: | |||
do("cat tones/silence.raw >> tmp.raw") | |||
pat2 = pat2[1:]+pat2[0] | |||
do("cat tmp.raw | sox -t raw -r 44100 -sw -c 2 - -t .wav pat.wav") | |||
do("rm tmp.raw") | |||
</source> | |||
== Image Generation == | == Image Generation == | ||
Revision as of 15:39, 23 April 2009
Sound
#!/usr/bin/python
import os
pat1 = "ooo.oo.o.oo."
pat2 = pat1
def do (cmd):
os.system(cmd)
do("rm tmp.raw")
for i in range(12):
print pat1
print pat2
print "----"
for i in range(4):
for (a, b) in zip(pat1, pat2):
if a=="o" and b=="o":
do("cat tones/sample.raw >> tmp.raw")
elif a=="o" or b=="o":
do("cat tones/lo.raw >> tmp.raw")
else:
do("cat tones/silence.raw >> tmp.raw")
pat2 = pat2[1:]+pat2[0]
do("cat tmp.raw | sox -t raw -r 44100 -sw -c 2 - -t .wav pat.wav")
do("rm tmp.raw")
Image Generation
import os, struct
import math
f = open("test.rgba", "wb")
def do (cmd):
os.system(cmd)
(red, green, blue) = (255, 0, 0)
for x in range(480):
for y in range(480):
# alpha = int(255 * (y / 480.0))
dx = (240 - x)
dy = (240 - y)
d = math.sqrt(dy**2 + dx**2)
alpha = min(255, max(0 , int(255 * (d / 240.0)) ))
data = struct.pack("<BBBB", red, green, blue, alpha)
f.write(data)
f.close()
do("convert -size 480x480 -depth 8 rgba:test.rgba test.png")
import os, struct
i = open("papert.raw", "rb")
f = open("test.rgb", "wb")
for y in range(480):
for x in range(480):
pixel = i.read(3)
(r, g, b) = struct.unpack("<BBB", pixel)
if y % 2 == 0:
red = x % 255
green = y % 255
blue = 0
data = struct.pack("<BBB", red, green, blue)
else:
data = struct.pack("<BBB", r, g, b)
f.write(data)