While we were thinking of ideas, we started listening to music for inspiration, and then we remembered the story of the "Odyssey", which led us to come up with the idea of visualizing music in the form of an ocean to immerse and enhance the listening experience.
What it does
AudiSea is an ocean whose waves sync up to the beats of whatever music is playing, letting the user sea the music they're listening to. It also has fish and dolphins that appear periodically in sync with the music. We also added voice recognition to allow the user to play their music hands-free by integrating our app with Spotify.
How we built it
We used A-Frame as a framework for the VR component, giving us immersion and letting us visualize the music world. For the music syncing, we used a library called AudioAnalyzer in K-Frame, an extension of A-Frame. We also used Blender to create and render some of the models and looked for open source models online for the rest.
Challenges we ran into
We had issues gathering audio files. We tried to use Spotify and YouTube, but both services secure their audio, with Spotify limiting audio preview to only 30 seconds, making it very difficult to use the files in AudiSea. We also ran into lag on mobile devices due to the large amount of entities being rendered, which may be too much for phones to handle.
Accomplishments that we're proud of
We've created a beautiful and complex environment that is responsive to audio and have a cohesive art style and managed to sync up elements of the environment to the music. Overall, we're proud of making something that we can enjoy and had fun while doing so.
What we learned
We learned how to use A-Frame, which can help us with future VR projects. We also learned about the power of WebGL, allowing us to run VR apps straight from a website, breaking free from the traditional belief that VR can only be run on a powerful desktop. We also learned the usage of HTML prototype elements!
What's next for AudiSea
We have a lot of things we could improve and expand on. We can add more elements to the world and continually refine them, giving it more life and beauty. We can also add more user interaction, letting the user experience their music by playing with it, increasing immersion. Other than that, there is a lot of potential for new ideas that could further enhance the experience.