A few details
This project answers a reflective design challenge: how can we punctuate the familiarity and ordinariness of a book? It was inspired by Hancock et al.’s term, bibliocircuitry: the use of “physical books as platforms for experimenting with computation” (2014, 78).
The laser-cut “book” is chained and locked with a 3D printed fastener. Upon opening, viewers will see an interrupted circuit on the left side, which includes a folded “switch” bearing a cameo of the artist’s husband. When the switch is activated and the circuit completed, a light illuminates the inside. On the right, buttons on the micro-controller play the my parents’ voices while LED lights (in blue or pink) light up.
How I solved it
My mother’s audio comes from a recent (embarrassing yet endearing) voicemail message, while my father’s audio derives from an analogue cassette tape he used before his death in 2011. I chose this audio clip to represent her father as it offers an example of his fluid assistive technology use – her father states, “Lynn’s cellphone number” before his computer’s screenreader reads the telephone digits aloud.
import board import digitalio try: from audiocore import WaveFile except ImportError: from audioio import WaveFile try: from audioio import AudioOut except ImportError: try: from audiopwmio import PWMAudioOut as AudioOut except ImportError: pass # not always supported by every board! # Enable the speaker spkrenable = digitalio.DigitalInOut(board.SPEAKER_ENABLE) spkrenable.direction = digitalio.Direction.OUTPUT spkrenable.value = True # Make the 2 input buttons buttonA = digitalio.DigitalInOut(board.BUTTON_A) buttonA.direction = digitalio.Direction.INPUT buttonA.pull = digitalio.Pull.DOWN buttonB = digitalio.DigitalInOut(board.BUTTON_B) buttonB.direction = digitalio.Direction.INPUT buttonB.pull = digitalio.Pull.DOWN # The two files assigned to buttons A & B audiofiles = ["mom.wav", "dad.wav"] def play_file(filename): print("Playing file: " + filename) wave_file = open(filename, "rb") with WaveFile(wave_file) as wave: with AudioOut(board.SPEAKER) as audio: audio.play(wave) while audio.playing: pass print("Finished") while True: if buttonA.value: play_file(audiofiles) if buttonB.value: play_file(audiofiles)
Months of work
Set of headphones