The proposal is a theoretical question concerning the agency and intelligence that is afforded algorithms and robotics.
The project’s aim is to provide a framework to contextualize the social relationship with algorithms through a multispecies artistic engagement that brings nonhuman bioagents into the creative process.
The proposal is a reconception of multispecies ecology where algorithms and robotics are reframed as prosthetic actors.
Continuing my inquiry into plant-human creative processes, algorithms, and robotics become the prosthetics of nonhuman bioagents working in collaboration with a human agent to create generative music using a Chinese guqin. 
The provocation is concerned with the posthuman relationship to multispecies ecology in the face of an impending climate change crisis.
The guqin is an ancient Chinese stringed instrument that has existed for over 3000 years.
The guqin is endowed with cosmological and metaphysical significance that empowers the musician[s] to invoke and communicate their deepest feelings, connecting higher realms of consciousness to the earth. 
The MIDI notes signal input into TouchDesigner. 
The triggered incoming MIDI notes are averaged and remapped to an integer range of 1-7 representing the seven strings of the guqin. 
Position Tables
There are seven tables representing robotic arm positions for plucking each string. Each table has three rows representing a start position, a down position, and a finish position for plucking each string. 
Each row has 9 cells representing an instruction code, six joint angles, speed in mm/sec, and time in seconds. 
TouchDesigner Robotic Arm Instructions (Output)

A python script in TouchDesigner uses seven If Statements corresponding to the seven positional tables. Within each If Statement there is a for loop that iterates through each row in one of the seven positional tables corresponding to a guqin string and sends an array as a message through the WebSocket to the Raspberry Pi on the MyCobot Pi Robotic Arm. 

Python WebSocket Real-Time Communication 
Python WebSocket server is using the websockets and asyncio libraries to run the server and the pymycobot python library for the MyCobot API. The WebSocket server on the MyCobot Pi parses the incoming message and assigns each index in the array to variables as arguments belonging to motion functions of the pymycobot Python API. 
This project began in 
6365 Enactive Design: Creative Applications Through Concurrent Human-Machine Interaction
Harvard Graduate School of Design 

You may also like