An interactive installation for the Nelson-Atkins Museum of Art.
.env file with the following vars:
PORT='' DB_URI='' S3_KEY='' S3_SECRET='' S3_BUCKET='' TWILIO_NUMBER='' TWILIO_SID='' TWILIO_TOKEN='' ROOT_URL='' SECRET_KEY='' MAILGUN_DOMAIN='' MAILGUN_SENDER='' MAILGUN_KEY=''
/process: receives video and audio blobs, recorded from the client, then merges and resizes and converts them to a single video file with FFMPEG before texting user's number with link to composition detail
/composition: renders the composition detail link with embedded video and social media share buttons
/composition/new: saves composition information to DB
/composition/send-email: emails composition link and video file to user specified in query params
/text-message: handles request to send email to user specified via text (this endpoint is used by Twilio webhooks)
npm run dev
Each shape (line, circle, triangle, square, other) needs a sound file for each of the 6 'color groups' (black, blue, red, orange, brown, orange, green). Howler expects an audio sprite with them in that order, configured via a json file. To generate the audiosprites, use audiosprite. I had some issues installing ffmpeg with the correct codecs using brew on my Mac which I resolved by installing the problematic codecs manually.
The command to do that might be something like:
audiosprite black.mp3 blue.mp3 red.mp3 orange.mp3 brown.mp3 green.mp3 -o circle --format howler.