Producers and vocalists often run into situations where they come up with inspirational melodies and catchy lyrics, but these sparks of greatness are just too evanescent. Artists lose them easily. That’s why we want to create a great tool preserving these inspiration.
Thus, we present, Singularity.
What it does
Singularity is a simple yet powerful tool that make creational process of new music easier for music producers and vocalists, even unprofessionals just like you and me creating own music.
It’s dead simple and elegant: just sing to your computer, and you can see score and lyrics synced, in real time, as if a trained musician is scribbling score, just for you. It is more than a recorder and a score generator combined in one…it generates production-ready scores, lyrics. A beautiful tool itself is inspirational.
You can sing your song in almost any language.
How we built it
The app interface was built using Swift and Cocoa, and there’s a great deal of state-of-art sound tech underlying this simplicity: it is powered by using Fast Fourier Transform, Harmonic Analysis, and Natural Language Processing, and we rendered the score transcript using LaTeX and Lilypond.
The voice recognition is done through Google's API, and we ported an algorithm for breaking words into individual syllables, Hyphenator from Python to Swift2, and used it to generate lyrics with articulation like 'Lon-don bri-dge is ~~~~'
Challenges we ran into
It's first time we write some music processing app on OS X, and many feature, such as pitch recognition and voice recognition takes us a lot of effort to implement. Integrating many libraries from many sources (and even writing our own) needs a lot of effort, especially those about NLP and transcript.