Inspiration
What it does
User
- Amplitude
- Pitch
- Addition of sound bites: Tambourine hits & "BABABOOEY" sound effect
How we built it
We used an ESP32 to collect acceleration and gyroscope data from an MPU-6050 sensor and send the data to a web server. Using socket.io, we can send sensor data with low latency and reliably over WiFi. The webserver then processes the sensor data, with P5.js and Tone.js, to transforms the music according to user’s movements.
Challenges we ran into
- High latency with POST request from ESP32 to remote server
- Not able to set up socket.io on ESP32
- Configure and calibrate the MPU-6050 sensor
- Find a suitable JS library to manipulate the sound and generate music
Accomplishments that we're proud of
Realtime changes to music from user movements (see video of sensor data collection here: https://youtu.be/uu7ogU2hyTE)
What we've learnt
- Socket.io, client and server
- I2C to interface with sensor
- P5.js and Tone.js to process the music
- Handicraft when build the enclosure box
What’s next for JikJukBox
- Allow for more sounds and types of audio manipulation for your favourite songs (to dance!)
- Make JikJukBox famous on TikTok
Built With
- c++
- esp32
- javascript
- mpu6050
- node.js
- p5.js
- socket.io
- tone.js
Log in or sign up for Devpost to join the conversation.