pianobooster / PianoBooster

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

Binaries download for Windows #229

Closed oestape closed 3 years ago

oestape commented 4 years ago

Is there any page to download the Piano Booster binaries for Windows?

I have found binaries for the original version https://sourceforge.net/projects/pianobooster/ but I don't find the binaries for this GitHub fork.

I am trying to build it from source, but for general users it would be good to download the built binaries.

louis-barman commented 4 years ago

This is coming soon and I am working on this. Unfortunately all the old Binaries Windows executables and also if you compile from source suffer from this problem https://github.com/captnfab/PianoBooster/blob/master/doc/faq.md#why-is-there-a-delay-between-pressing-the-note-and-hearing-the-sound. Which makes PB useless on windows.

I am working on a fix for integrating the sound generator fluidsynth into PB which completely solves this problem.

I will try and provided a preview for this windows executable soon as I can but I am away at the moment.

radrad commented 4 years ago

Hi, I would like to see Windows version functional. I installed sourceforge version on Windows 10 and it seems to be OK (I don't understand exactly what is not working), except I cannot increase or decrease the volume of playback. I created virtual midi port which I use as Midi out to route Midi controls to Ableton that has a sound patch loaded via a VST plugin (Ableton and EZKeys with Grand piano instrument). I am using audio interface Focusrite. When I choose play mode it is too loud compared to the the volume of the sound when I press my connected MIDI keyboard.

I downloded Qt and MinGW and tried to compile the project from Qt GUI, but I have a problem compiling RTMIDI and I belive ftgl (this is also complaining when I remove system RTMIDI Project MESSAGE: building using system rtmidi Project MESSAGE: building using ftgl Project MESSAGE: DATA_DIR: share/games/pianobooster Project MESSAGE: PREFIX: /usr Project ERROR: rtmidi development package not found Makefile:226: recipe for target 'Makefile' failed mingw32-make: *** [Makefile] Error 3 03:01:44: The process "E:\Qt\Tools\mingw530_32\bin\mingw32-make.exe" exited with code 2. Error while building/deploying project pianobooster (kit: Desktop Qt 5.9.9 MinGW 32bit) When executing step "Make" 03:01:44: Elapsed time: 00:01.

I would like to know how to adjust the build to build with built in rtmidi package. I don't know what is referred as system rtmidi? How to install it on Windows 10?

I would appreciate if you can fix remaining issues and help us also build from source. I can do a screen sharing session with you if you want.

Thanks, Rad

louis-barman commented 4 years ago

Sorry for the delay in replying but I was very busy building and testing the Binaries download for Windows (Plus I have been busy with other important things).

Please see see this announcement to the user forum. http://piano-booster.2625608.n2.nabble.com/Preview-of-NEW-PianoBooster-executable-for-Windows-Linux-tp7572821.html

Please test and post your feed back to the forum.

@radrad Regarding compiling from source for windows you where very nearly there. Please try with the latest code I have just pushed on the develop branch. and then use these cmake options.

cmake ..  -D USE_FTGL=OFF -G  "MinGW Makefiles"
radrad commented 4 years ago

Thanks Louis. I will try to compile it soon with cmake. How can the same be done with Qt IDE. I tested this 0.7.3-PREVIEW1 version on my Windows 10 machine using loopMidi virtual output port which I routed to Omnisphere VST host with Keyscape's LA Custom C7 - Classical patches loaded into Midi channels 3 and 4 so I can get a nice sounding sampled piano. PianoBoosterOmnisphere_Keyscape LA Customo C7 - Classical Patch

FluidSynth didn't sound well. I could hear some noise. GS wavetable sounded OK with latency fix. I wonder if the representation of the notation could be in line with Musescore (Finale, Sibelius etc) notation software so I can see all musical signs on grand staff.

I am always looking for using technology in music playing, creating, learning etc. I would like to suggest a few things bellow. I already received a Led strip that can sit on top of a digital piano to show notes that need to be pressed. It would be a great tool for visualizing notes. 1.PianoTutor source code (modified Musescore forked version) is available and with some Arduino help it can drive Led strip to make some Led diods be bright. I would ultimately like to recreate: "2.Testing my Midi-Visualizer on "Reprise" from Spirited away"

Some suggestion to improve PianoBooster.

1.PianoTutor

https://www.linkedin.com/pulse/musescorearduinoleds-tutorial-tommaso-cucinotta/ https://www.linkedin.com/pulse/pianotutor-news-smart-score-here-tommaso-cucinotta/

https://www.youtube.com/watch?v=9DF74oiSjIk PianoTutor+AutoSync = SmartScore This video shows the new AutoSync feature of my PianoTutor patch that modified MuseScore to let it become a piano learning/tutoring system. AutoSync allows you to play from any point of the current score, and MuseScore tracks your playback progress without any need for explicit interactions with the PC. In the video, I make mistakes while playing, skip notes/chords, and I jump back to the beginning of, and skip to a random point of, the currently open score, and MuseScore just follows me showing the correct point of the score on the laptop screen. In other words, PianoTutor with AutoSync realizes a SmartScore :-)!

In this video, I detached the LEDs and Arduino, which are not needed for this very functionality. The full set of features of the PianoTutor AutoSync feature can be seen at:

2.Testing my Midi-Visualizer on "Reprise" from Spirited away https://www.youtube.com/watch?v=DGi2ZTlbf4U I built my own Midi-Visualizer based on the hardware instructions from Tom Cucinotta here: https://create.arduino.cc/projecthub/tcucinotta/arduino-leds-midi-keyboard-musescore-piano-tutor-9080fe

and the software-tools from Tobias Erichsen here: https://www.tobias-erichsen.de/software.html

I love the simplicity of Toms hardware part but had to make it fit my needs in terms of being compatible not only with MuseScore but with any software interfacing with midi devices. Tobias loopmidi driver and his VirtualMidi SDK thankfully filled that big gap and inspired me to code a small C# console application as bridge between a virtual Midi-Port and the serialport sending only the led-visualization-data to the arduino (as midi parsing on top of that used to be too much). I really like the result and find it a very good addition to Synthesia.

3.MIDI synced with Audio performance in MuseScore

https://www.youtube.com/watch?v=jkzgBSY_CNo

https://www.linkedin.com/pulse/musescorearduinoleds-tutorial-tommaso-cucinotta

  1. Create pianobooster midi from youtube piano video lessons (Synthesia). https://github.com/minyor/syn2midi

I can be your beta tester. Let me know. I develop business apps in c#.net. It would be interesting to come up with Mixed reality sets like Leap motion and Microsoft Hololense solution which will overlay some hints over the top of a piano guiding a learner to play and learn piano, music theory, composing etc.

pianobooster commented 4 years ago

Hi @radrad This all sound very interesting and would like to contact you directly and " do a screen sharing session with you if you want". Please can you email me directly on louisjbarman@gmail.com about how we can set this up. I am interested in taking up your offer of you beta testing.

louis-barman commented 4 years ago

Hi @radrad I have left this thread open because you still had problems on windows you wrote FluidSynth didn't sound well. please can you try increasing the values of Buffer Size and Buffer Count in the Fluid synth midi setup window. See:

FluidSynth settings

Please let me know if that fixes your problem. From the fluid synth docs Thie number of buffers, multiplied by the buffer size (see setting audio.period-size), determines the maximum latency of the audio driver. If that does work for you please can you let me know the minimum numbers that work reliably for you. Thanks.