monz


fake[dac~] ai installation writeup

19.07.24




Hello! Its a few days since the fake[dac~] : 17.07.24 at Corsica studios, I want to thank all the staff at Corisca and artists. It went really smoothly and I had great feedback from everyone that managed to make it down. Room 1 was really good and all the artists did a great job.

This article is a mini-write up about room 2 for those interested in how we did it and I'll try to give you as much detail as possible...

Tech setup

2 x long throw projectors & 2 x projectors screens.

3 x raspberry pi 2, raspberry pi OS.

Getting files onto the Pi

I didn't even bother with any fancy start up scripts or anything in the end. Each Raspberry pi was running the standard raspberry pi Lite OS... I had to mount a USB card of audio & video using the standard

sudo fdisk -l
sudo mkdir /media/usb-drive
sudo mount /dev/sdb1 /media/usb-drive

I just dumped audio files into a folder on one Pi and video's on the two others. See my other blog articles for an idea of how I generated this content. You might have been wondering if any of the installation was being generated in real time... basically no its all generated in advance and the Pi just randomly picks audio and video.

The audio Pi

For the audio Pi I installed a cli tool for playing the audio because the Pi didn't have a graphical OS. I like sox... here is how you can replicate what I did...

Install sox

sudo apt-get install sox

Play the audio randomly from a folder

This is the most involved script and I used a chatGPT style website to generate this code: phind.com.. I like phind over chatGPT because it includes search capability and you can pay extra to have it not use your chats for training data and is potentially slightly more private.

./run_audio.sh

#!/bin/bash

# Directory containing WAV files
WAV_DIR="./installation"

# Check if sox is installed
if ! command -v play &> /dev/null; then
    echo "sox is not installed. Please install it using 'sudo apt-get install sox'."
    exit 1
fi

# Check if the directory exists
if [ ! -d "$WAV_DIR" ]; then
    echo "Directory $WAV_DIR does not exist."
    exit 1
fi

# Find all WAV files in the directory
WAV_FILES=("$WAV_DIR"/*.wav)

# Check if there are any WAV files
if [ ${#WAV_FILES[@]} -eq 0 ]; then
    echo "No WAV files found in $WAV_DIR."
    exit 1
fi

# Shuffle the list of WAV files
shuffled_files=($(shuf -e "${WAV_FILES[@]}"))

# Play each file using sox
for file in "${shuffled_files[@]}"; do
    if [ -f "$file" ]; then
        echo "Playing $file"
        play "$file"
    else
        echo "File $file does not exist or cannot be opened."
    fi
done

You'll need to create the file with vim or nano and run "sudo chmod +x ./run_audio.sh" to make the bash script executable.

Run the script with "./run_audio.sh" and ctrl+c to exit.

The video Pi's

For the video Pi's I copied the video's over via USB, installed VLC and make a small script to play the video's randomly without titles...

sudo apt-get install vlc

Create a bash script called "play_videos.sh" and change the path to where your video's are...

vlc -LZ --no-video-title-show ./installation_videos

Thanks

That's basically it and you can improve this by making the Pi's boot the scripts from restart but I didn't bother with it. It worked great for a simple installation and I hope you found it useful!