pianobooster / PianoBooster

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

metronome track #71

Open glixx opened 5 years ago

glixx commented 5 years ago

hi, I might be asking something very obvious but I cannot find the answer around. Is there a way to add a metronome track/sound to songs in piano booster? I've got hundreds of midi sheets for piano without rhythm part and it would be very nice to have a clack in the background to follow the tempo. Thanks.

Original post: http://piano-booster.2625608.n2.nabble.com/metronome-track-td7572648.html

louis-barman commented 4 years ago

This is something that has been missing for ages and I have always intended it should be implemented. To make this easier to implement the choice of sounds for the metronome tick and metronome bell could have default values written the configuration file which could then be edited to change the metronome track.. Eventually a metronome settings gui would be needed to set the sound and volume of the metronome track.

If any one wanted to have a go at implementing this then please comment on this issue and assign this issue to yourself.

chrismrutherford commented 4 years ago

I'd really like a metronome. Is there an event generated on each beat / bar? Could this be hooked to generate the midi note? Also just to say thanks for Release 0.7.2b. Previously quite a lot of the midi was broken on linux so I found myself having to use an earlier working version and back porting the new features that I needed.. :)

louis-barman commented 4 years ago

Ok I am working on this now. and i'll try and sneak it into the upcoming release.

Alias001 commented 4 years ago

Running Ubuntu 20.04 Studio, Piano Booster 0.7.2, and a Yamaha Clavinova CLP-260. I've got the play back music going to my keyboard, I've got my keyboard sending to Piano Booster but I have what appears to be a click track that is a low F# on every beat. I can't find any way to disable it, change it's tone, or adjust it's volume. You can imagine F# on every beat when your in the key of C Major or any other key without F# is quite displeasing. Any suggestions or workarounds?

louis-barman commented 4 years ago

I haven't checked in any code that generates a metronome yet so that cannot be your problem. I really recommend using the PREVIEW of PianoBooster-0.7.3 Linux AppImage. which you can find from this page http://pianobooster.sourceforge.net/

georggrab commented 3 years ago

Hi @louis-barman . I just discovered PianoBooster. It's awesome! This software could be a great help with practicing rhythmically challenging sections of piano pieces (cross rhythms, etc). The metronome functionality requested here would make it a lot easier. Above you wrote you started working on it, I'm wondering if there is any progress? Happy to be an early tester or chip in with contributing the feature :) Thanks

louis-barman commented 3 years ago

@talkdirty and @chrismrutherford I have just pushed the very much working progress code to the branch wip\metronome so that you can try it out and give feedback. I would particularly like to know what instruments you would like to use as the metronome bar and metronome beat sounds to use along with the volume. There is no UI yet so will need to edit metronome.cpp to make these changes. What do think the UI should be??

Also attached is some classical piano pieces for you to review ClasicalPianoPieces.zip That I would probably release these files along with the metronome.

These pieces are a bit hard for me.

I probably won't be able to continue with this now until the new year.

georggrab commented 3 years ago

@louis-barman an early christmas present! It works like a charm. The only thing, if I set the MIDI output to my piano (and not internal fluidsynth), it won't be the nice wooden clack sound you picked out, but a quite high pitched piano-ish sound. This may entirely be related to my setup though (I'm still quite a beginner with MIDI). I'll try to find out what causes this problem and get back to you. As you asked for feedback on the bar and beat sounds, the beat sound sounds fine and quite standard for metronomes. I tend to like the bar sound to differ a bit more from the beat sound than is currently the case on the branch - some metronomes will have a "bell" sound to make the distinction very clear. But it may be subjective and the current selection is also completely fine :) As for UI, I think for a first iteration of the feature, a check-box somewhere "Metronome" would suffice - perhaps below the "repeat song" checkbox? I could give adding the checkbox a try, though I never worked with Qt before :) For future iterations that may allow changing the metronome sound, volume, or overriding the beat that's in the MIDI (that'd be an awesome feature for the future - sometimes a piece written in 4/4 can be better practiced with 8 beats etc), perhaps a Dialog menu under Song>Metronome or Setup>Metronome? The classical pieces you attached at a glance feel like a good addition to the default library that's on PianoBooster, which, as far as I can see, is only basic studies / rhythm exercises. One comment - for the "real" pieces, it may be nice to have the "source" sheet music where they transcribed the MIDI from linked somewhere, so that could be used in conjunction to Pianobooster for study of the pieces. No worries about continuing with this until new year - have a great christmas holiday and new year!

louis-barman commented 3 years ago

OK @talkdirty here is the midi files with the sheet music using MuseScore to create the sheet music. (I don't have the originals only the midi files). ClasicalPianoPieces-v2.zip

I got the midi files from here http://midisheetmusic.com/ and https://sourceforge.net/projects/midisheetmusic/ but don't know where the originals came from. Do you have any suggestions of pieces to add to this list with the sources?

I think your piano does not have a drum set / drum sounds on MIDI channel 10.

If you could change line 20 of metronome.cpp to the bar sound and change line 24 to change the beat sound. And please let me know what you prefer so you can put it the defaults.

georggrab commented 3 years ago

@louis-barman that makes sense, my piano doesn't have any sounds other than piano sounds, so I guess such functionality also isn't exposed through the MIDI inbound interface. I'll play around with what sounds best on that particular piano.

With regards to sheet music, I think this collection is good. If you want to add more, you might want to look into this website http://www.kunstderfuge.com/. I found the MIDI files I looked at on this site so far very high quality, sticking quite close to the original sheet music that can be found on imslp most of the time. However I saw that these MIDI files are copyrighted, so if any pieces from that site would be bundled the author would need to be asked for permission. A short intermediate level piece that due to the number of tempo changes shows off the functionality of the metronome quite well is The Little Shepard from Debussy's Children's corner (MIDI from kunstderfuge here, sheet music (page 22) here).

marcvanderpeet12 commented 3 years ago

Hi guys, recently downloaded pianobooster and agree that a meteronome would be (even more) awesome. Am I understanding correctly that this is only release in the Linux version?

louis-barman commented 3 years ago

The metronome feature has not been released at all and is only available when compiling from source using the wip/metronome branch. Compiling from source is very easy under Linux but it is extremely hard under windows (and not recommended for a non programmer on Windows). What OS are you using?? I could make a windows test build available for metronome but only if you or others a prepared to help contributing by choosing the metronome drum sounds and volumes levels. at the moment these are hard coded and there is no way to change them without altering the source code.

marcvanderpeet12 commented 3 years ago

@louis-barman yes, definitely like to help. I am currently using Windows 10 Pro. Let me know if you need more info.

louis-barman commented 3 years ago

Ok @marcvanderpeet12 Thanks for your offer to help test the metronome. I am preparing a preview version that you can test and easily edit the metronome track. I'll post more details here in the next few days.

marcvanderpeet12 commented 3 years ago

Great @louis-barman, thanks!

louis-barman commented 3 years ago

Ok @marcvanderpeet12 @talkdirty @chrismrutherford and @Alias001 here are the delatis in this post. http://piano-booster.2625608.n2.nabble.com/Preview-of-the-new-piano-booster-metronome-build-td7572912.html . Please let me know what you think by replying to this forum. I would like help with choosing of the metronome drum sounds to use and a suitable icon to use on the PB toolbar. New to this release is a ballad type drum beat. in fact you can easily add any type of drum beat as a metronome pattern.

louis-barman commented 3 years ago

Please see this forum discussion http://piano-booster.2625608.n2.nabble.com/Add-code-for-the-PianoBooster-metronome-td7572964.html

MultiCoreNop commented 2 years ago

Are there any news on this feature? I tried pianobooster today and the lack of a metronome makes it really hard for "just piano" MIDI files. The link to the forum discussion is 404. Other than that this look really promising! Especially that it also checks for timing (as most programs only check for "correct note was hit").