This week’s research and inspiration

Feedback. Am used to creating this physically with amp and sound input device (guitar or microphone), but can the same effect be created with a sensor and digital audio output?

Interesting Fast Co piece “about new, video-generating AI that’s dissolving the line between fact and fiction.”

Saw a talk from Rachel Wingfield of Loop who showed video of OSMO – – “an experiment in totally transforming a public space into a place of wonder and tranquility.” My favourite detail about this is that the whole ‘space’ folds up to the size of a suitcase, apparently. Oh, and that it was originally set up under the A13 flyover in Canning Town, London.

Some articles about generative (product) design.

The Alien Style of Deep Learning Generative Design

Autodesk Project Dreamcatcher

NASA’s Evolved Antenna, an aerial designed by an automatic computer design program using an evolutionary algorithm. In 2006.

Planning to go through some of the ‘homework’ on Modular Curiosity to get my head around VCV Rack:

And discovered this Mica Levy piece today, Delete Beach, which inspired lots of ideas for narrative/s for What Goes Around...

For the avoidance of doubt…

…this month’s tasks.

Tasks for March 2018
Tasks for March 2018
  • FIVE drawings of final objects
  • THREE object prototypes
  • Sound samples
  • Narratives – are they within the objects, or a speculative design future?
  • TEN photographs of museum objects (British Museum, Horniman)

Updated Arduino random play MP3s

With excellent assistance from the Arduino forum, I now have a working version of the circuit to play a random MP3 file each time the distance sensor is triggered. It doesn’t play a few of the files when they are triggered, but this has been tested elsewhere and the code works, so I need to investigate the files themselves, it seems.

And here’s the code used.

#include <SoftwareSerial.h>

#define ARDUINO_RX 5  //should connect to TX of the Serial MP3 Player module
#define ARDUINO_TX 6  //connect to RX of the module

#define trigPin 13  //for the distance module
#define echoPin 12

SoftwareSerial mySerial(ARDUINO_RX, ARDUINO_TX);//init the serial protocol, tell to myserial wich pins are TX and RX

//all the commands needed in the datasheet(
uint8_t Send_buf[8] = {0} ;//The MP3 player undestands orders in a 8 int string
//0X7E FF 06 command 00 00 00 EF;(if command =01 next song order)
#define NEXT_SONG 0X01
#define PREV_SONG 0X02

#define CMD_PLAY_W_INDEX 0X03 //DATA IS REQUIRED (number of song)

#define VOLUME_UP_ONE 0X04
#define VOLUME_DOWN_ONE 0X05
#define CMD_SET_VOLUME 0X06//DATA IS REQUIRED (number of volume from 0 up to 30(0x1E))
#define SET_DAC 0X17
#define CMD_PLAY_WITHVOLUME 0X22 //data is needed  0x7E 06 22 00 xx yy EF;(xx volume)(yy number of song)




#define CMD_PLAY_WITHFOLDER 0X0F//DATA IS NEEDED, 0x7E 06 0F 00 01 02 EF;(play the song with the directory \01\002xxxxxx.mp3

#define STOP_PLAY 0X16

#define PLAY_FOLDER 0X17// data is needed 0x7E 06 17 00 01 XX EF;(play the 01 folder)(value xx we dont care)

#define SET_CYCLEPLAY 0X19//data is needed 00 start; 01 close

#define SET_DAC 0X17//data is needed 00 start DAC OUTPUT;01 DAC no output

void setup() {
  Serial.begin(9600);  //Start our Serial coms for serial monitor in our pc
  mySerial.begin(9600);  //Start our Serial coms for THE MP3
  delay(500);  //Wait chip initialization is complete
  sendCommand(CMD_SEL_DEV, DEV_TF);  //select the TF card
  delay(200);  //wait for 200ms
  pinMode(trigPin, OUTPUT);
  pinMode(echoPin, INPUT);

void loop() {
  if (measureDistance(trigPin, echoPin) < 10) {
    int randTrackNo;
    randTrackNo = random(1, 9);
    sendCommand(0x03, randTrackNo);
    Serial.print("Playing track:");
    delay(1000);  //wait to avoid errors

void sendCommand(int8_t command, int16_t dat) {
  Send_buf[0] = 0x7e; //starting byte
  Send_buf[1] = 0xff; //version
  Send_buf[2] = 0x06; //the number of bytes of the command without starting byte and ending byte
  Send_buf[3] = command; //
  Send_buf[4] = 0x00;  //0x00 = no feedback, 0x01 = feedback
  Send_buf[5] = (int8_t)(dat >> 8);  //datah
  Send_buf[6] = (int8_t)(dat);  //datal
  Send_buf[7] = 0xef;  //ending byte
  for (uint8_t i = 0; i < 8; i++) {
    mySerial.write(Send_buf[i]) ;  //send bit to serial mp3
    Serial.print(Send_buf[i], HEX);  //send bit to serial monitor in pc
    Serial.print(" ");

long measureDistance(int trigger, int echo) {
  long duration, distance;

  digitalWrite(trigger, LOW);  //PULSE ___|---|___
  digitalWrite(trigger, HIGH);
  digitalWrite(trigger, LOW);

  duration = pulseIn(echo, HIGH);
  distance = (duration / 2) / 29.1;
  Serial.print("distance: ");
  return distance;

What Goes Around sketches – February 2018

Some sketches to visualise the What Goes Around objects that may feature in the final installation. From spacecraft to insekts [sic], these are initial drawings of what may have been sent back to us from space.

Some inspiration from this week (or so)

Love this (free download) series of one minute soundsculptures / loops:
Thinking about them left playing all together in a darkened room somewhere.

Also exploring music that is an evocation of place, real or fictional. This is an interesting example. “…a psychogeographic investigation into a world of abandoned Underground stations, Quatermass, eighteenth century secret societies and the footsore reveries of a modern Flâneur.”:

And this beautiful, tactile (if slightly creepy) synth design:

Interesting Quartz piece about algorithmic accountability. Ties in with the Creative AI talk I attended in January, where there was some discussion about AI being left to run things without checks and balances (tested in versions of the game Civilisation) invariably leading to world destruction:

REALLY tempted to get tickets for this, even though it’s in another country. “A workshop on the radical potential of artificial intelligence (AI) in combination with robotics to change human bodily experience.”:

Also an honourable mention to Damon Krukowski, whose talk at Second Home Spitalfields about his new book The New Analog I attended last week. Damon discussed the ways in which the switch from analogue to digital audio has influenced the way we perceive and think about everything from time and space to love, money and power. His use of the sound engineer’s distinction of signal and noise and the difference in a digital world (basically, there is much more signal and less noise in the digital realm) was particularly thought-provoking.