A hardware/software project that vibrates wireless devices (aka, a pair of shoes) in time to the music being listened to by the user. The end result is that it feels like you're standing next to a giant, loud speaker. Why not?
The prototype almost ready. It has required huge amounts of research, experimentation, and trial & error.
My first goal since the beginning was "just get something working", and I'm almost there.
main_app: Working
The main Android app that connects to the hardware and controls the full system
audio_test : WIP (temporary project)
Heavily modified Oboe sample to play low latency audio and call fingerband
circular_buffer: Working
A platform agnostic class implementing a circular buffer and input/output signals
arduino_app : Working
A small wrapper around circular_buffer for the Arduino platform
mock_app: Working
A small wrapper around circular_buffer for the Desktop platform
hardware: Working
The hardware that runs arduino_app
fingerband : Working
The audio processing library, responsible for calculating bass in the audio input
debug_viewer: Working
Parses and visualises debug logs from fingerband
test_runner: Working
Runs fingerband on Android and Desktop, comparing the outputs for equality
The next step is to combine the two Android apps (bringing the audio_test app into the main_app). They each solve half the puzzle, so together I should have my very first v1 prototype, end-to-end fully working. Then:
- Take what I ended up with and strip away anything that's redundant from all components
- Focus on each component; refactoring, tidying, adding tests
- Release
- Start improving to the audio analysis for better bass detection
- Start improving the synronisation between what the user hears and feels at the same time