This repo houses code for Maria: an anime pseudo-holographic virtual assistant than runs on a Raspberry Pi 4B. This README contains some basic instructions for running Maria, but more thorough documentation is on this website.
Currently, I have the following:
This project is developed on an M1 Mac running MacOs 12.3.
This project is used on a Raspberry Pi 4B running Raspberry Pi OS release 04-04-2022.
Requirements for serverAudio are recorded in serverAudio/requirements.txt. You may need to futz a bit with library installations on your Raspberry Pi. For example, you may need to run sudo apt-get install libatlas-base-dev
to use some numpy-based dependencies, and you may need to run sudo apt install python3-pyaudio
for gaps related to PortAudio/PyAudio (as used by sounddevice).
For clientCharacter, make sure you install Raylib.
I used a homebrew installation of Raylib on Mac, and for Raspberry Pi, I installed the Git Repo used sudo make install PLATFORM=PLATFORM_DESKTOP GRAPHICS=GRAPHICS_API_OPENGL_21
.
Run the server/language processing program with
cd serverAudio && ./../holovenv/bin/python main.py
Though replace holovenv
with your own virtual env path. :wink:
On a Mac, you can compile and run the client/3D character with
cd clientCharacter && cc holoAssistant.c character.c stopWatch.c -framework IOKit -framework Cocoa -framework OpenGL `pkg-config --libs --cflags raylib` -o HoloAssistant && ./HoloAssistant
On a Raspberry Pi 4, you can compile and run the client/3D character with
cd clientCharacter && cc holoAssistant.c character.c stopWatch.c -lraylib -lGL -lm -lpthread -ldl -lrt -lX11 -o HoloAssistant && ./HoloAssistant
If you are ssh-ing in, you may need to run export DISPLAY=:0.0
before using the call above.