Inspiration
There are awesome people who can listen to a song and write down every single note played by the instruments. Not everyone is gifted with these abilities but maybe you still want to get the music sheet and play the newest songs on your guitar at home.
We think everyone should have the ability to do this so we started an application that can write music sheets by listening to a song.
What it does
visumusic records the sounds from your computer microphone and nicely plots the spectrum. We detect the most prominent notes and their corresponding overtones. From that we generate a music sheet on the fly.
How we built it
We use Rust – compiled to WebAssembly – tightly integrated with JavaScript (because we have no other choice). All code is running inside the browser. Using WebAudio and the JavaScript media API we are able to listen to music observed by the microphone.
Challenges we ran into
As always, the limited time of a hackaton is a serious threat to sleep and other human habits. Also don't handle complex numbers as real ones.
Accomplishments that we're proud of
Getting Rust to run in the browser was a surprisingly enjoyable \o/
Having a fast website.
What we learned
How to run Rust in the browser. The abc notation for notes. Too many update functions in one app are difficult.
What's next for visumusic
Differentiating different instruments by their overtones → generating music sheets for those different intstruments in parallel. We gonna go biiiig!
Built With
- javascript
- rust
- webassembly
Log in or sign up for Devpost to join the conversation.