entrainment
self-organization
cells begin with a random rate (500ms- 1500ms)
cells adjust their rate if they pulse in unison (within 200ms) with any other cell
any cell that pulses by itself resets
pressing a cell resets it
monome>Max/MSP> Ableton Live
bird_duet (calarts 11-7-12)
bird_duet: for two automatic pianos
piano #1 > MIDI > Max/MSP > MIDI > piano #2
bird_duet (calarts 11-7-12)
raspberry pi setup, ssh, pure data, alsa cards, controllers, auto login, load patch from startup
COPY IMAGE ONTO SD CARD ON A MAC*
1. insert your SD card (mac) and rename it rpi
2. download and unzip: downloads.raspberrypi.org/images/debian/7/2012-08-08-wheezy-armel/2012-08-08-wheezy-armel.zip.torrent
3. From the terminal run df -h
4. find the disk “/dev/disk3s1” that’s mounted on rpi
5. Unmount the partition so that you will be allowed to overwrite the disk:
sudo diskutil unmount /dev/disk3s1
6. Using the device name of the partition work out the raw device name for the entire disk, by omitting the final “s1” and replacing “disk” with “rdisk” (this is very important: you will lose all data on the hard drive on your computer if you get the wrong device name). Make sure the device name is the name of the whole SD card as described above, not just a partition of it (for example, rdisk3, not rdisk3s1. Similarly you might have another SD drive name/number like rdisk2 or rdisk4, etc. — recheck by using the df -h command both before & after you insert your SD card reader into your Mac if you have any doubts!):
◦ e.g. /dev/disk3s1 => /dev/rdisk3
7. In the terminal write the image to the card with this command, using the raw disk device name from above (read carefully the above step, to be sure you use the correct rdisk# here!):
◦ sudo dd bs=1m if=~/Downloads/raspbian.img of=/dev/rdisk3
◦ if the above command report an error(dd: bs: illegal numeric value), please change bs=1M to bs=1m
◦ (note that dd will not feedback any information until there is an error or it is finished, information will show and disk will re-mount when complete. However if you are curious as to the progresss – ctrl-T (SIGINFO, the status argument of your tty) will display some en-route statistics).
After the dd command finishes, eject the card:
◦ sudo diskutil eject /dev/rdisk3
◦ (or: open Disk Utility and eject the sdcard)
Insert it in the raspberry pi, and have fun
*these are modified instructions from http://elinux.org/RPi_Easy_SD_Card_Setup
**to shutdown: # sudo halt
KEYBOARD SETUP
**if your keyboard is sticking and repeating, you are drawing >100ma from the USB port and need to use a powered hub
$ sudo raspi-config
configure_keyboard
find your keyboard
apple
other
English (US)
English (US) (Macintosh)
default
no compose key
use control+Alt+backspace to terminate the X server? choose <yes>
PASSWORD
your default login is: pi
password: raspberry
to shorten it:
$ sudo raspi-config
change_pass
<OK>
press spacebar, then press return
press spacebar, then press return
***now your login is: pi
password: <spacebar>
***there is also a config program for expanding your disk partition… else, you wont have any space to do anything
SSH
# sudo bash
# ssh-keygen -t rsa
press return
press return
press return
# sudo /etc/init.d/ssh start
# ip addr show
from terminal: ssh pi@000.000.0.0
launch FileZilla ip:000.000.0.0 username:pi password:<spacebar> port:22
GIT/UPDATE
# sudo bash
# apt-get install git-core
# wget http://goo.gl/1BOfJ -O /usr/bin/rpi-update && chmod +x /usr/bin/rpi-update
# sudo reboot
# sudo rpi-update
PURE DATA
# sudo apt-get update
# sudo apt-get install puredata
http://log.liminastudio.com/wp-content/uploads/2012/06/testPatch.pd_.zip
# pd -nogui -noadc -alsa testPatch.pd
ENOUGH
#sudo killall pd
to delete:
#sudo apt-get –purge remove pd
USB AUDIO (ORDERING MULTIPLE USB DEVICES):
first you have to figure out the index number of your usb devices:
#lsusb
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 002: ID 0424:9512 Standard Microsystems Corp.
Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp.
Bus 001 Device 004: ID 0409:0058 NEC Corp. HighSpeed Hub
Bus 001 Device 005: ID 0d8c:0139 C-Media Electronics, Inc.
Bus 001 Device 006: ID 1d03:001a iCON
in my case, the iCON card loads fastest, but this is a controller (not an audio devices) and will crash Pure Data’s ability to keep the cards in order. So if I want my USB audio card (index 005… C-Media Electronics, Inc), to load before my controller (index 006… iCON), then change the order they are assigned aliases with alsa-base.conf. I change install sound-slot-5 to load at 0 by swapping it with sound-slot-0, and install sound-slot-6 to load at 1 by swapping it with sound-slot-1:
# sudo nano /etc/modprobe.d/alsa-base.conf
# autoloader aliases
install sound-slot-0 /sbin/modprobe snd-card-5
install sound-slot-1 /sbin/modprobe snd-card-6
install sound-slot-2 /sbin/modprobe snd-card-2
install sound-slot-3 /sbin/modprobe snd-card-3
install sound-slot-4 /sbin/modprobe snd-card-4
install sound-slot-5 /sbin/modprobe snd-card-0
install sound-slot-6 /sbin/modprobe snd-card-1
install sound-slot-7 /sbin/modprobe snd-card-7
# Cause optional modules to be loaded above generic modules
install snd /sbin/modprobe –ignore-install snd && { /sbin/modprobe –quiet snd-ioctl32 ; /sbin/modprobe –quiet snd-seq ; }
install snd-rawmidi /sbin/modprobe –ignore-install snd-rawmidi && { /sbin/modprobe –quiet snd-seq-midi ; : ; }
install snd-emu10k1 /sbin/modprobe –ignore-install snd-emu10k1 && { /sbin/modprobe –quiet snd-emu10k1-synth ; : ; }
# Prevent abnormal drivers from grabbing index 0
options bt87x index=-2
options cx88_alsa index=-2
options snd-atiixp-modem index=-2
options snd-intel8x0m index=-2
options snd-via82xx-modem index=-2
# Keep snd-pcsp from beeing loaded as first soundcard
#options snd-pcsp index=-2
# Keep snd-usb-audio from beeing loaded as first soundcard
options snd-usb-audio index=0
COPY IMAGE ONTO COMPUTER
# sudo halt
mount SD on your mac, in terminal:
# diskutil list
# sudo diskutil unmountDisk /dev/diskN
# dd if=/dev/diskN of=~/Desktop/image.img bs=1m
(control-t prints progress)
COPY FROM COMPUTER ONTO CARD
mount new SD on your mac, in terminal:
# diskutil list
# sudo diskutil unmountDisk /dev/diskN
your admin password
# dd bs=16m if=~/Desktop/image.img of=/dev/diskN
PURE DATA WITH MIDI CONTROLLER
find your USB and controller device numbers:
#pd -noadc -nogui -listdev
audio input devices:
1. USB PnP Sound Device (hardware)
2. USB PnP Sound Device (plug-in)
3. iCON iControl V1.01 (hardware)
4. iCON iControl V1.01 (plug-in)
5. bcm2835 ALSA (hardware)
6. bcm2835 ALSA (plug-in)
audio output devices:
1. USB PnP Sound Device (hardware)
2. USB PnP Sound Device (plug-in)
3. iCON iControl V1.01 (hardware)
4. iCON iControl V1.01 (plug-in)
5. bcm2835 ALSA (hardware)
6. bcm2835 ALSA (plug-in)
API number 1
no midi input devices found
no midi output devices found
notice, my iCON iControl is a MIDI controller, but doesn’t show up as MIDI- but I just need its device number
#pd -nogui -noadc -mididev 3 -audiooutdev 1 -alsamidi -path ~/Documents/pd_rpi controller_test.pd
AUTO-LOGIN
#sudo nano /etc/inittab
comment out (#):
1:2345:respawn:/sbin/getty –coclear 38400 tty1
add:
1:2345:respawn:/bin/login -f pi tty1 </dev/tty1 >/dev/tty1 2>&1
LOAD PURE DATA PATCH FROM STARTUP
this script waits 5 sec, loads a patch, waits 5 sec, kills pd
#nano /home/pi/bin/script_pd
sleep 5
nohup pd -nogui -noadc -audiooutdev 3 -path ~/Documents/pd_rpi testTiny.pd &
sleep 5
sudo killall pd
#sudo chmod 700 script_pd
to test:
# /home/pi/bin/script_pd
#cd ~
#nano .bash_profile
nohup /home/pi/bin/script_pd &
#sudo reboot
jitter example:active regions
----------begin_max5_patcher----------
8417.3oc6ctsbiibjF95teJXnnuvNhdTf5bg8BGdeH1qrmXBJIzpoMEoFRpd
lwNre1WPjfhfRDDI.HKgB72cXMB5.TVYc5upJ+p7e+4OcycK+8r02L4+Yxea
xm9z+9ye5SEeosegOU97mt4oo+98ymtt3G6lmxVud5iY27U56sI622T702Lc
0iYalj70IeQr6at3kmV9xl4YaJ9UEke0mmt49uOawi+xpr62P+oEIZ0s4+pR
kX6+wlt8iB+sIS94xeoYOT7WY4c+ieRl328G3aKWrYwzmxJ9d+uqlMc9tuC8
2cye7bF8W3lad8Us8WZ8r+Uw2PHt0jZDd2dKd1hcFrb6W6+74Ou8Ce8C08Hz
Isv83t1bORkuEtG60l6QoLsv8nGttm6W9zSYK17d2ypYG2qjzrWQ3J9OJcgK
J43dEQJiFMGTzk2lbrRsnCk57WvcYqNdATxn.l519eLImt.1kAMlsstXxM2M
cwi6aAjWZm8zKOU08eo7L00dX8u9xzUYsuIQ43HkMIZxioiulD6Jf7ZRXFSM
Il9asu8P4ztLGhPFesG1U.40dPMlZOLaQGFfnTlJyFDh3qAwtBHqFD9zHrAw
hreK23eW6g4Km9PgM0V0UECn9SEtKaCtqtLE6g9ouO6gGxVT0htTto5Thtd0
8aK6STxjIa+mTmWjeYc1tut3qSls34WJ9je7P1Olce1DS2bphBmpzaNkdUgu
eKFradT44qg2ySt+640wYs1G4LEdIsmUaO04SUecsxpZp4i8PdhRWQ9qX17r
ejsZ8rkU81e5l8EHsTse8IZewfqFqaeIJ2C+37k2+Oydnx.Ee5lGx9VqdIKe
Naw9egB+1Ae3vex7VyqxVmOExzMkld0+vSeY9le43dmC+9ea58Y09Kez5iOc
yiql8vxEaMhC9M29k28mKeHap6gopcW7SrX5yG4Wdyxkyua5peLa8r6lmcPM
Qdy2o4CCOcS1lYj8HSd82a1SOuZ6P2UeWYKll+N9956Wsb97CdUz24GG46PC
I7aydXy2KdW68VGrSTUZ4bPGqC95mbHqC6kkT8qdztX00MSJkTSohEOqj2ZN
bvn21UyT8uT8UtmtC2I5zUyfQeZ2.Rzm70N5COXPpCcgOjMe5ersIQ+8kU2H
hpCY8tMinG9xCl3bH5OWM4gYe6a2t464Cu78N6Rym+ijhVLrmKoIWpK3MOSB
k67orMqV1cGYZ4RiKlxP2XaSaT6H2r7wGmm0WmkT9Z6sS6rzmzcTLuxOWWwV
bFK1ea9x72c8Ea4oK1phNYJq33KN5sk5WEc0k1H4l5z2uRoV0fQDlddkVZGa
JU5SoMlhd3j9Tcu8oC4IEJFCKeY3ceNVewHWJQQqSqoQ+oI5mi8vs34P+4ee
Q0+U8GY9rEY2u7ERRqqVucRCJZn0nlZIQ3ztoknNg+tEyab2i2ub9xUutNEs
KwjtcIJoBkSZp9Yh27WbfMDw5r4SDceXWZJY53LT1FaR2aYiecHHE+tW1rY4
htOtJ4zrJdyP6Esrm9PcNZQhiJ3NdSR6RwjzMq2qzopE7lk14G0yR+WlHusu
cLEU1OgS5J6yBMdmx5Alibyj6l7stOu.s0WztIj6VavSZcmg4E5Qiy3nmtRR
68dBud51QPO89tpvpQWSyS3XGQS3bV7bzNXwXl5jqhYpy98mWMY5cq+Se4ah
I+zju7M4et6y0Tt9OpOsnQoyNQTu607WI36+WsqMTX62hCsxJqMTJcmv6a57
ZCSkoZgb6JBU1DmWu8y717+maXr1Pt0L0VKz8JARtUR0UnucORpcgPIctRPl
63UhhkkKEFawR0sp7O2NLpDHm1Mc0SVtH.SRwDcRytOVmmTcSsEpJeicsL19
acyYrvV7Wq2CbxqjJZw3hGtk903HJBghi4M1eFua6cTywkVTd198OtaZ8xWV
c+Niq7X1lbXY6gr0als30S79u85Qa9let8QOQ0RxSyd34k4K8nz7l7yrpVaq
UucGKXY1xAkYaXZ0pAkU6XZ0aWs5DwfwrsLMa8fxYysg8VAwCo1HoQYSaMSq
1OrF9ywsUhMcPY2a2v.dstECqgRbuybNgcmLrraVsS7cyt0Ea7lfB.QgV75S
WpF9IbKPtgUG1j1TQH5bEgjpALlWe5RUfX2SNMNEN57CK6lqNc+vZDHO6YXG
VBCrb0yTT.GNyTcD23IZeGi1scXMvN2UY3GVqD0aZS66ykcW9EyK.Dt.qm9i
rG9k7+LY2u4WltYypY28xFZmMphOPeik9S7sZJL9eb9x6lNuDqgWeGG7lemE
8120m26E9fwFw5js.aDcjgMhgfhwXE8.aji+R.1H.aDfMBvFAXi.rQ.1H.aD
fMBvFAXi.rQ.1H.aDfMBvFASRCrQ.1H.aDfMBvFAXi.rQ.1H.aDfMBvFAXi.
rQ.1H.ajqQrQ9XBwnq3P5JRCgtXMjEi1PDMRCI2nMDnizPNOVCw+wGqEQJzK
iN5ihVLvhTr6hULGiUpRiSFdiThoiS7z+PtK..1HerXiX71VfMhI1x1Hlhca
2jqlnGYaji9R.1H.aDfMBvFAXi.rQ.1H.aDfMBvFAXi.rQ.1H.aDfMBvFASR
CrQ.1H.aDfMBvFAXi.rQ.1H.aDfMBvFAXi.rQ.1H.ajqQrQP1FAwN2HMREQ1
FAg87XNLyQ1FADv.TjP1FAnMhrMBx1H.McjsQtpwFQml1BrQrwV1FwQ6QoV0
mrMxQeI.aDfMBvFAXi.rQ.1H.aDfMBvFAXi.rQ.1H.aDfMBvFAXifIoA1H.a
DfMBvFAXi.rQ.1H.aDfMBvFAXi.rQ.1H.aDfMx0H1HHaifPnCYaDjsQt5CAZ
jsQ.qEHaiLBnOBYaDf4Hx1HHaifrMBx1HWSXi3LE6DpU6YfMxqAGQavF4vS0
6iHki3K1yWi00mTNxQeIfcDvNBXGAri.1Q.6HfcDvNBXGAri.1Q.6HfcDvNB
XGArifIoA6HfcDvNBXGAri.1Q.6HfcDvNBXGAri.1Q.6HiR1QhTJLhTjW.EF
fBCPgAnv.TX.JL.EFfBCPgAnv.TX.JL.EFfBiqf6w.vNxGK6HV5j83wNxqaF
ZTwNhwPmnjUzm7NxQeIfcDvNBXGAri.1Q.6HfcDvNBXGAri.1Q.6HfcDvNBX
GArifIoA6HfcDvNBXGAri.1Q.6HfcDvNBXGAri.1Q.6HHuif7NxUYXFEmwzU
jF.cQZ3JFqAGZjFKtwZrOGswZ9XKn+iU5KFeXvDo7HEq7eEs71Eo7MFs7jFo
76Fq7RGs7oGo2G.fcjqO1QLT9zfI6HhnLuiXJ1xcStLtdj2QN5KAri.1Q.6H
fcDvNBXGAri.1Q.6HfcDvNBXGAri.1Q.6HfcDLIMXGAri.1Q.6HfcDvNBXGA
ri.1Q.6HfcDvNBXGA4cDj2QtNiyHj2QPbKh7NBx6HW6wcNx6HCEfKPdGYXff
Dx6Hf0Qj2QPdGA4cDj2Q.6HCc1QzotVvNhLJy6HNZiJ0p9j2QN5KAri.1Q.6
Henrij.1Q.6HfcDvNBXGAri.1Q.6HfcDvNBXGAri.1Q.6HfcDvNBXGAri.1Q
.6HfcDvNBXGAri.1Q.6HfcDvNR7yNBx6HH.5FogqHx6HH1mGywZNx6H.CFvi
Dx6HfuQj2QPdGA7oi7NBXG4ihcjWV77z6+m40JI2db7Qj0iORplN3T5fWbpS
hOhS0A7Q1dtyesaTjzAWzgA9ekSWd5pGy1L4KhuN4KxIeQ0ZNaJcTRJL5RoM
x2WmiJoCNpZbN4RMSMBu6XdH4YD.oxlP01HhgughGqlZDIBiuQ0AeS1+5go2
+eOd4O4Tk+x.uuLK0r6iGs7ab2boqJWN+O9uS19we4oWVO697EN14pzzhEfp
k1SVmZrcnNc8rGWj+sa0PBlymWZ0jEK2N4RG8LBJWDocmzwn0muF603RRNmP
HdBWxIZ+6rD7go0b58G5RXL1X3YLTXJdPbvYx1VFCO9KALFNNYL7Tw37AcjZ
+wqVFLLBd3G0hXYafEeK4M0yav7v9In5ZHTRc7bhKIEge7QJzv4brORz5M.O
L6w8YY6vJwGd2hCcS.k0KIjcS3HfR.ATP.EDPAATUDPo6or.HfBBnFFRQ9ZT
J6CBn9PEPYHpqYJfRBATP.EDPAATP.EDPAATP.EDPYRRawQ3of.JHfBBnf.p
JBnTP.EDPgivCGg20o.JW4kLFcM4zf.JkEBnf.JHfBBnpHfRBATP.EDPAATW
qw.Eco4UNXVCBnbP.EDPAATP.UEAThyi.pDHfBBnvQ3AATQWLPYZg.JODPAA
TP.EDPUQ.UB1AJHfB6.E1Apq0XfpMGgWJDPAATP.EDPsW.U5YQ+TyIpQneB5
mf9IneZvEBTTV4zwABOINAOneB5mf9oJ5m7P+DzOA8SP+zUZDP4RI8SRN5mv
A3A8SP+DzOUQ+jC5mf9ID.TH.ntVC.JEe8SJMzOA8SP+DzOsW+jE5mf9IneB
5mtVi+oVb9cJCzOA8Sia8S6zEX5a1IQdMnK.BQg9IneB5mthi+ohKOSof042
MbtBnzmC8SZneB5mpQ+TuuasYpeRA8SP+DzO8FkHpQs9IjO5GQ2.TTuRAG96
jHIt.8SWI5mTAZ+mf9IneB5mf9IneJRi+II+8eRf3GG5mtRzO02aVaZJeneB
5mf9IneB5mFsw+jlzOwI9mD39K.5mP7ii3Gu5EnIhebneBw+Dh+oHQ+Td6+7
16GWmjrw3bx5JjKo0mRmTJiioql9kecxM2Mcwiu1+jmbpN3FxaTrIuM4QcCh
S3FJ2V.mtxHR04FT0VXOrL16BSGqSsdI+5T+nsN0ZU7qSSG30olTK65TQhdz
VoZbN1UphDyPuVkVdJuZ0WuR2Ge0p5TA+Z0WyMPC0ZUmsnupgN6lSWqZMi34
TcUbCmtR0ZG7yolvtN0oFwyoJXWm5F7i9lpYWm5SFwSoZXWm5G5i8ZR77qSs
i2IT8o7qScC94SIVl09lqS4jLQi14SsUbCmtNceJA6RWmV641b+2y+Ck04RY
4gXbZUCcYCIZY86Y8HczdZFGaeNRmi+RvQ5LNORmmxVud5q8iNrSV2ywWRIM
+HcdNJ4slbusu98d2D7SoPFli64gr4S+isMI5uuTI12G8RchOGL38PzetZxC
y912tcy2yGd46c1kJ7dZpNlYwWWvadlDJ24SYaVsr6NxzBGofVoSymaqMpcj
aV93iyy5qyRtWZ0ocV5S5NJlW4mCwgvdfr55kVW6ovR2zhkqruwRsuOQF4wU
ZODiCfRKsqmrM4SUzvXpF8o5d6SGxSJTLF1DQOlikVNqpb6xaLnJ7lneN1cw
nvw7m+8EU+W0ejsGp+8Kegjz55Zr9HK13VIcjSBZHAQh5D96VLuwcOd+x4KW
855TztDS51knjJTNoo5mIdyewgVjTmM+TgIjjCNeZJFXT1FaR2aYiecHHE+f
89nqLPpsJdyP6Esrm9PcNZAkNS0VGuIocoXR5l06U5T0BdyR67i5Yo+KSj21
2NlhJ6mvIck8YgFuSY8.yQtYxcS9V2mWf15KZ2DxcqM3Istyv7B8nwYbzSWU
rEMBZmDZtmtcDzSuuqJjDYqXtpP6HZBmyhmi1AKFyTmbULSc1u+7pISua8e5
KeSL4ml7kuI+y8Nrwo9zhFkN6DQ8tWyekfu+e0t1PgseKNzJqr1P4AzEUWXf
z90FlJS0B41UDprINud6m4s4+O2vXsgbqYpsVn6UBjbqjpqPe6djT6BgR5bk
fL2wqDEKKWJL1hkpaU4etcXTIPNsNy0T4h.LIBdTn716um2cTwuivjaFk71L
ZPswLnPswGmY3TyG.g082pcbowJe0pSDCFy1xzr0QIDYaEDOjZijFkMs0LsZ
+vZ3OG2VI1zAkcucCC305VLrFJw8Ny4D1cxvxtY0Nw2M6VWrwaBJ9CEZwqOc
oZ3mvs.MrPCluc66VC+xJBIUCXLu9zkp.wtmbZbJbz4GV1MWc59g0HPd1yvN
rDFX4pmon.NbloxqZS66XztsCqA14tJC+vZkndSaZeiaqhn51pv5R4SBjXDS
gYBeRfjwJIP6JkbHARYiLRfLF57AshdPBzweIfDHPBDHABj.ARf.IPfDHPBD
HABj.ARf.IPfDHPBDHABj.gIoAIPfDHPBDHABj.ARf.IPfDHPBDHABj.ARf.
IPfDHPBz0HIPeLQM1UbT5EoQEYrFEpQaT+FoQYczFU6QJEAwJ0FiO7YhTNlF
c.kEsj8EojTFqjqFqfBGmXYGoPvGm23.eHWuCfDn.k6tTrIAR5Gw4tKMaRfj
owJIP6JkrHAJI1xIPlhCPwrsMb2yIPG8k.Rf.IPfDHPBDHABj.ARf.IPfDHP
BDHABj.ARf.IPfDHPBDljFj.ARf.IPfDHPBDHABj.ARf.IPfDHPBDHABj.AR
f.IPWij.gbBDBGxQZvmhbBDhj8wL4.Hm.Anl.cYHm.AZUQNAB4DHbaCfbBzU
AIPzl0wiDH8nkDH8tvilCIP1XkDnckRNj.IcwVNAxQa6rV0mbBzQeIfDHPBD
HABj.ARf.IPfDHPBDHABj.ARf.IPfDHPBDHABj.gIoAIPfDHPBDHABj.ARf.
IPfDHPBDHABj.ARf.IPfDHPBz0HIPHm.gnhD4DHjSft5ipcjSf.9LHm.MB.J
C4DHPtJxIPHm.gbBDxIPiPRfbVJbV81lIARbFyIPOMawrmxs2pw1+PCOHGEc
uBeZy3AIh1DEztRoUy.OnXKQAYRTDYOh9fGzQeI.OHfGDvCB3AA7f.dP.OHf
GDvCB3AA7f.dP.OHfGDvCB3AgIoAdP.OHfGDvCB3AA7f.dP.OHfGDvCB3AA7
f.dP.OHfGz0HdPHQAgXjbjFQpHQAgvaeLiS.RTPfzIfbFRTP.gUjnfPhBBWA
AHQAcMfGj0S5w7LRTPB40EdPVJ.N4gGjJVwCZWojCdPBcjgGjNoXSYMFSOvC
53uDfGDvCB3AA7f.dP.OHfGDvCB3AA7f.dP.OHfGDvCB3AA7fvjz.OHfGDvC
B3AA7f.dP.OHfGDvCB3AA7f.dP.OHfGDvC5ZDOHj8fPnRhrGDxdPW8g5NxdP
foFj8fFATlgrGDvYEYOHj8fP1CBYOnQHdPlTIa7fLWWzAYbJ1zA4hU3f1UH4
.GjO1XChBCEioOoNni+R.aPfMHvFDXCBrAA1f.aPfMHvFDXCBrAA1f.aPfMH
vFDXCBSRC1f.aPfMHvFDXCBrAA1f.aPfMHvFDXCBrAA1f.aPfMnqQ1fPpCBA
H4HMbTQpCBw19Xlk.j5f.lSf2Lj5f.+pH0AgTGDt+APpCJpXC5vcNc+tlN6o
oOlM4fnG93am2wiZ3TBOlp6JZ8YOGUyvibo3+4eLaysO+ayV7vxeq07Qoo.F
RPQDGEt4JuttRordPXpFPPerkImJgPZoXuXo7CkstJtDanJRqmO6grU69q8Z
CgjjpsD3Q0TYIzR0dTkm0WWIzwfdoKE3VaqGU0fsmt4BHACgI8swsvgEvNAt
0Wq7+aGDWAt4rk3VvXrLZNKjQXy4xRnkvyrglyBS70bdWATJXzbVXG0MmKaG
WjLxZr4rTEgMmKKgkU5MzbVpiuly6JfzY+0PyYoYT2bVSZlLFMmlyoQXy4xR
nUKYzbVkDeMm2U.ohVCMmUhQcyYmjVBPJCsy9XTqQYAT6YHc1qhPkykkOKCk
yd8HW3rjZKyP3r2Gk5lK4tmgtYeZLJalJeVFxlSSF4ploMpIkgp4TcTJZ1Ps
kYHZN0DiZloxmkgl4T6HWxLAxbJGIyIIQojY55lxyQxbhHFkLSEPCGIyIxQt
jY5hdPwPxrREkRlo9qRFRlU5XTxLU9RXHYVYF4Rlo.WWwPxrJMJkLWxTJCIy
5jXTxLU9RXHYVKF4Rloa6QECIyVWTJYVSskYHY15iQIyT4Kggj4WIFcrJYlt
DUTLjL6rQohYG0VlghYmKFELWdK3vPvryOx0KW3JbLjKKEQobYGckyxPtrTF
ixkoxmlgbYoZjKWtn4qiSjYXhR0xIUt8jaXeLrwnZ4WIxn4swvMxUKS2Npb1
e4nTqb48.NmXxHIF0JSELMmPxX3utuZbNqOx8AL+H5URAUnjNZTm7TAzq9iK
bdqsrW8x6keoVQsLjT40HNUo9CLHl6Z9cHglZx6ZN+NHiz76Pcg2dQegNGd6
zN3KKmArgvamyRRFXsL10aubDwSW9jhyWaiAVZ9XWjtvIMeHDowZh9XWwjSh
9PHSF9o5Cgn5PZzkItwpaWp9fwKAo5CjpOZQ5oX2UGqEo5idmpOJ8kzcNGR0
GHUefT8AR0GHUefT8AR0GHUefT8AR0GHUefT8AR0GHUefT8AR0GHUefT8AR0
GHUefT8AR0GHUefT8AR0GHUefT8AR0GHUebsbsvdEeM7FoW6ww50LczdsdGo
Wi5Q60Vejll.h0zxv3K+XDoIpjQWFiIZScOQZpRJVSMUwZl.KNy6ZQZVtKNS
ofeH4uQjpOZG1HGDol7oCYGDbTb00DDL0eGVU8Dj+nuQPJ1BWGiKDDsLJuPP
nsn1x3BAQqiwKDDp7oXbgfnSiUfc25bV83cx4u7zz1y1IU0S2tsN0o5y1kKL
yba6WdZZ9Hr+dXbQGBjy6gwgeeCAcwHQ2fJzAsu8vLOpiQ2KR21Owl3Xdmji
6cjendGEsnIJHTav6nhDuScLgWIPR42uRPPxQW0CkA3RcWaXcgK12EznAzQU
Gqz+eqyl77preJ2Krb0CYOL4ok+XVVGtBAR2yCSkKShi56X.Y5V6qxglRMVq
9g8iJkOLZy+PU8phKOA5a8pym8irI2mW5VMcBcPcs0oRiiU5SonxnNepIcz3
SOUW5I0Lpm5DsLIMfTm5Rn9qoSsw0iN0mqN2hvI9WJnfdfg1eiHPR+qo1+WI
hWjcsLRU+lSW8K6Z0+w6SD.Q.q2r741qCfppKYyK8T5.Lpy28APPbGSWso8M
Q7U7GpjS5OzQk+XU1zGZu6fhd+R2wIkIZLCR2wIVy0ut41BANa6Dr8JPYxe8
kEy90Wx5fZwxQVDk292kSSW2XKWrEh8wOMhQxdVjjHcVDpHxYRDsO9lDI2Vx
Ktq6vxs86GonLkqVyHEZWTMv48yWtt8cDDhJ9ChemZ8G1nxeTb+vz5660zJd
C0I8FQ07H2+ia2NUxiqld2toQ55V3QycjdxsZPqhfoNdd5hr4sdAtk4gLZ65
1suu0M2wqCrtZ4KKd3fK2obia0CYqNHJqMIhTaQTV+9Oq5xXoe0pMkeKO0Gd
uOICxFmu99YqWub05I+0UK+s0SzS9q41zKOsH+SqoenqwsTmRxtpzStgwhd2
Xa78T22B7hewCiAapgwaOC1xlGm9Diq4bWO3vve+Qt91ia0VDyLRghnkO88O
QLmpclcOPGF66ZceVKDJY6JF8zljIrrps51mnBnU4XaUx.ZUd1VkHfVklsUo
ClUQ+8Z1pbAs0darpvUCJNL7bNYMX.8UoFFV0aG+3xaUJVVUfaW4SYYU9.6q
brrJcf8UbFEUqpwnDWHih0DNdePspzCmIoNixD15usoqQFVUfGWvyYj8goQE
5wp3LttOYHZTh.aTbTV4TCQiJriIrM4ZyXHgvNQygrmUqQE5pON5WrlgnQE3
AOkFV0eAdLAAu4jC7vmIdNV0gTNDf00vQUbpZHZTx.2AjyJ.S8CQiJvsodS+
8ZZoG70zvypB8v5RNVkHYPZUAdbckf035AdbAGq1Ut.WC5TrrJwf0pDA1pDr
rpvsS1BMq8LNzKsQvZeP0A1p3s+55vNxPJqihPG1tforFYWG1QqrFVG6VXWb
CuwpTgcmgXo2SnBqJTOuSMMrpPUr1sXYXq9TrzJHCa0mj03TpvJWWxZDcUnU
qyp5KzaBCKiJry8wZ.cQfamyxlB7N8uU4oowEk1xVTdo8Vw1jngoLIZQQ77a
dpLRgo.oo3oyQgQ2nGtksD8Ixac4VHQpmmBa6CdPaRorAr98OUVlskY3nCeh
7.Vi7r5ATM1WrkpictzaUWTWfwZNqt.YitfVJFvYn3BLk3Lz4KBErT24wbaZ
sescKEbJ4sV4IqvTkHwS8EeySTbO5TEkxhmNGkxFO5tVNbrKI81dWHsFw4rP
l1zVg1RULVu4VuqHrCcE8PrTRYX6SmAy023H+sbgXVawXY1xAED6SjtkOHob
rqlt9AN7IUJ8S5bTURxYoJw0PYT0xQCs4SXUL4FUtJGj6fGjpx6ahhBRwSmg
BhsoBRZaitUCMwVYGG29xQ4CkYfAqIgJGhyR4nI4F1VJAxjJKmdhRS2lj8Ej
xG1kJIxGc3LVPZRpgqkxlLT9a8DcdTkgar8bVLZRufrk6PjQaJm8g5Snr6FR
3LXrMNydKWQlQJucusZ0omQasoo0aY+UcpmlKnro89gZ68J3RYsX2V1NnTkj
ktpPp9TXNHFUxPLXDjA9XGkr1FQYa61PB1szUsQ0m58F7yaYxsbn0x0XYobY
e0mBSvdHLCwf8Hzg.MOPRZaHPWtCBVBozpO028UlSSw1FwZkqpRa7UViUwSg
HV1BbnrwJn+7gci4YEa4osccOzxH0FWkEUV7Te8fb1G5zVKzTS1W4n26eJDQ
id5fLXzSBbnHjv5jzRjsUykipKMUVIcwS88zH4Lzsy2VqkVHSpo5xZROCVKm
o+bgc1uhag6lrIaXORBKmCozl11QWnUYmZqtl6z9O5hhyxTZa7LrayMRcU2p
iyvN6p4rHk.GnCJNKQIvmzphyBTZ6Astaq2R8U2Htz9qxRx4Dza8ArPaQhP4
qrgIEO0WqkSjkICc.KxY53.eF1rNu3VNeQ4lIIJ2X0JO0WUVrVgbaGzVRlms
xdKU7TuWfLK0WA+TuabdjVq7pXOPn6okJOz68ugkwF38Thi10vNphli5JcX8
SVNyrYRBJuvVNqmzHBqMwoItUGTaxvRYbXIP2voamUDd+TS86LszOoRpd8qK
Kl37Lr9AV0ol.2NiSa+ZuBTpwljxh0b4JOw8zcOzWak03YsT4VY0qn75vjrb
gr+mpkQeAr1Rm4EvZMWBqkVM6EvZkW.qMH8jBbXnxYDacX2yGcutaUtP1j4B
XSdekF+zU414nsu1dArUgzcYLV2kvXsWFik0MuUXGTQqFdlDmwd0ocZ0qBko
58Yn5LDqFrVqnPjN7Vs3aM8KOaibTrD1Al4LWgavYQA9.FYgJjb.ZSp.eOhx
wlRGf1Tf4Dh0Uxmd.ZSgchPEqcgLc.ZSgs8jhirJkX.ZSgcLSKGgUAFsYd1j
a3cHx1.u8+bNko.CvOq.9HvAoLq.iIvPoy5DB8CvynNvSAy5r76Syo7G9Oe9
+GrIl8cJ
-----------end_max5_patcher-----------
elastic harmonic space
These are screen shots from my score generator that I’ve developing for automatic piano. Here’s a .pdf of a simplified score with dissonant and consonant settings for comparison:
elasticHarmonicExample
And here’s the audio (MIDI bounced to .mp3) from the score:
!!!
motion study with allie hankins
Motion Study for Automatic Piano
showings this week at Calarts… each performance features a different duo or trio of dancers wearing wireless stretch sensors. Their motion data is sent to a score generator running on a disklavier. Here’s a R&D video: