Inspiration
The holidays are a time for joy, music, and creativity. We wanted to blend the magic of festive tunes with technology, enabling anyone—whether musically inclined or not—to create their own unique holiday songs. By letting users input text and watch it transform into music, Harmonize merges art and tech for a fun and interactive experience.
What it does
Harmonize is a text-to-music converter that takes user-provided holiday messages or lyrics and transforms them into melodies. Each letter, word, or phrase is mapped to musical notes or chords, creating a one-of-a-kind holiday tune. Users can play, remix, and share their compositions.
Key Features:
Text-to-Melody Conversion: Converts user input into real-time music. Instrument Selection: Offers different instruments like piano, guitar, or bells. Playback & Visualization: Plays the generated melody while showing visual animations of the notes. Download & Share: Users can download their tunes as MIDI or MP3 files and share them on social media
How we built it
Frontend:
Designed a festive user interface using HTML, CSS, and JavaScript. Integrated interactive input fields for text and melody options. Music Generation:
Used Tone.js to map text characters to musical notes and synthesize sound in real time. Developed an algorithm that assigns musical notes based on text patterns. Visualization:
Built engaging visual effects using the Canvas API and D3.js, syncing animations with the generated music. Backend (Optional for file saving):
Implemented a Node.js backend to handle MIDI/MP3 file exports. Testing:
Iterated through multiple user feedback cycles to refine the melody generation logic and UI experience.
Challenges we ran into
Mapping Text to Music: Designing an algorithm that generates harmonious melodies from arbitrary text while avoiding monotony. Real-Time Playback: Ensuring low latency during text-to-music conversion for a seamless user experience. Accessibility: Making the tool intuitive for all users, regardless of their musical or technical background. File Exports: Implementing smooth MIDI/MP3 generation without sacrificing audio quality.
Accomplishments that we're proud of
Successfully translating user-input text into unique and enjoyable melodies. Creating a visually appealing, holiday-themed user interface. Implementing real-time music playback with minimal latency. Adding the ability to download and share compositions, broadening the tool’s usability.
What we learned
The intricacies of music theory and how to algorithmically map text to harmonious notes. Leveraging libraries like Tone.js and D3.js to bring interactive audio-visual features to life. The importance of user feedback in iterating and improving product functionality. Balancing creativity with technical feasibility to deliver a polished project.
What's next for Harmonize
Advanced Music Options: Enable users to select specific genres (e.g., jazz, pop, classical) or scales (e.g., major, minor). Voice Integration: Add a feature where users can hum or sing, and Harmonize converts it into instrumental music. Collaboration: Allow users to create songs together in real time by merging their inputs. Mobile App: Develop a mobile-friendly version for Android and iOS. AI-Powered Enhancements: Incorporate machine learning to suggest melodies or harmonies based on user input. Holiday Templates: Preloaded templates for Christmas carols or New Year’s jingles.
Log in or sign up for Devpost to join the conversation.