Skip to content

Convert raw audio to MIDI using a machine learning API. Find out what your voice would sound like if it were a grand piano!

Notifications You must be signed in to change notification settings

alexander-mc/Voice_Tunes

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Voice Tunes

What would your voice sound like if it were a grand piano?

Voice Tunes records raw audio, converts the recording to MIDI using a machine learning API, and allows users to play the file back as a grand piano. Users can also create an account to share their tunes, re-record and remove tunes, and save tunes either in the app or to their computer.

This app builds off of, but is not affiliated with, Piano Scribe, an incredible open source project that transcribes audio files in the browser using Magenta.js and TensorFlow.js.

Want to take your tune to the next level and see what it might look like as sheet music?

Try uploading your tune to Midi Sheet Music! You will need to download the program, but it's free, takes a minute, and is definitely worth it.

Links

  • Voice Tunes - Play with the app! Note that this app works best on Chrome. Also, because this app is deployed on Heroku, it may take a minute to load. If it takes longer than this, you may need to refresh your browser.
  • Demo - Watch a demo of the app.

Features

  • Create/remove a username
  • Record audio, convert to MIDI, and then play recording
  • Save MIDI in-app to play later on
  • Save MIDI to computer
  • Edit MIDI name in-app (just double-click on the name!)

Preview

Username Screen Record Screen Review Screen History - Edit Screen History - Playback Screen

Configuration

  1. Connect to a cloud storage service such as Amazon S3, Google Cloud Storage, or Microsoft Azure Storage. This app is configured to upload MIDI files to Google Cloud Storage (GCS). If you don't already have an account with a cloud storage service, you'll need to create one. All of the services previously mentioned have free or affordable options. If you opt for a service other than GCS, you'll need to modify the storage.yml file in voice-tunes-backend/config/.

    Once you have a service, create a folder called 'secrets' within voice-tunes-backend/config/. Then, place your credentials file into that directory. You should be able to generate the credentials file through your service's website. Be sure the file's path matches the path in voice-tunes-backend/config/storage.yml.

    For more information on connecting to a cloud storage service with Active Storage, check out the documentation here. I also found this tutorial to be quite helpful.

  2. Set up the database. In your console, cd into the voice-tunes-backend directory. Then run 'rake db:migrate'.

  3. Run 'bundle install' to install the necessary Ruby gems and you're good to go!

Contributing

Bug reports and pull requests are welcome on GitHub at https://github.com/alexander-mc/voice_tunes.git. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the Contributor Covenant code of conduct.

About

Convert raw audio to MIDI using a machine learning API. Find out what your voice would sound like if it were a grand piano!

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published