pianobooster / PianoBooster

A MIDI file player/game that displays the musical notes and teaches you how to play the piano.
Other
397 stars 74 forks source link

Play audio file alongside midi #297

Open nekobusses opened 3 years ago

nekobusses commented 3 years ago

It would be amazing to play along with background music/audio just like you can in a rhythm game. Doremimania had this feature but now the program is so old it no longer works on windows 10. There is really no other piece of instrument learning software which allows you to play along to your favorite songs in a fully melodic way. I really hope that this isn't outside the scope of this project.

It shouldn't require any extra metadata type files Just name the midi and audio file the same name and sync the midi file/audio in a DAW. It wouldn't even need to support more than one audio file type. After syncing audio files can be easily exported as the correct type.

louis-barman commented 3 years ago

Thanks for this suggestion (although a forum is probably the best place for suggestions like this).

Unfortunately this would technically be very difficult to implement. One advantage of MIDI is that it is very easy to adjust the tempo without affecting the pitch. This is not easy to do with audio mp3 or wav files without using complicated DSP code. Also one of the subtleties of PianoBooster is the way it follows your playing. When the follow stop point is set to on the beat this follows the students playing by inserting tiny delays if the student plays slightly after the beat. So this would cause lots of clicking sounds if delays were inserted into the audio track. So sorry there are no plans to implement this idea. I plan to close this issue after a few days.

I do however really recommend playing along to real audio recordings and I do this on my flute by using "the Amazing Slow Downer" to adjust the tempo if needed.

nekobusses commented 3 years ago

However, it could only have the bgm audio play at full speed while none of the "Speed" or "Follow You" options are set. It doesn't really seem useful to play along to bgm audio unless you are fully playing along >=80% speed rather than still building muscle memory.

Anyways, thank you for considering my request.