Inspiration

Bitify was inspired by the nostalgic charm of 8-bit music, particularly in classics like Nintendo games. This project was driven by the desire to merge the worlds of classical, rock, rap, and country music with the iconic style of chiptune video game music. There currently is no online song to chiptune convertor, and we believe to be the first ones.

What it does

Bitify is a web platform that converts MIDI files into chiptune music. Recreating the unique aesthetic chiptune sound with sawtooth, square, and triangle waveforms. Additionally, we offer a rhythm game where players can interact with their 8-bit music in real time.

How we built it

The code utilized to convert the MIDI files into chiptune was made using the FluidSynth library to modify instrument tracks and applied sound fonts to achieve the sounds of sawtooth, square, and triangle waveforms. Accompanying the convertor, a website designed with css that parodied the appearance and UI of Spotify, hence the name "Bitify." Users can easily upload their MIDI files and receive them back in the chiptune genre. The rhythm game component was built using the JavaScript Phaser framework and HTML, generating levels based on the chiptune music's bpm.

Challenges we ran into

One of the main challenges encountered during the development of Bitify was syncing the song and the responsiveness of rhythm game within different web browser engines.

Accomplishments that we're proud of

We are proud we were able to put together a website and produce a live demo converting MIDI given the time limit during this hackathon.

What we learned

We learned how to decipher MIDI files, knowledge on how to navigate and discover libraries like FluidSynth, and the science behind chiptune music. We also learned how to integrate complex scripts with web development to create a fun user experience.

What's next for Bitify

We are seeking a $500,000 investment for 1% of our company.

we had a great time at PatriotHacks2023, we hope to do it again next year. we need sleep

Share this project:

Updates