Go.Piano - I made a music app ...


About Go.Piano

Go.Piano is designed to be a simple to use tool for testing melodies while on the go.  It has been built for use with a Touch Screen and has been set up to make the most of a reduced number of Keys for quickly creating and playing back melodies on the go.

At the moment, the online version of the app is considered as "in development" due to the current plan of including a feature to save and load melodies.  Depending on the complexity of this, this feature might be limited to saving the last state, or it might be implemented with full file browser support to allow for different melodies to be saved and loaded.

In terms of musical capability, the app has configuration options to change the Root Note of the 15 Keys, the Octave of the Keys, the musical Scale of the Keys, and the Beats per Minute (playback speed).

The Root Note can be chosen from any note from A to G, including the Sharp Notes.

The starting Octave can be chosen from 2 to 6, to give a pitch range up to B8.  This range has been chosen because most mobile devices use speakers that cannot provide sounds low enough, or high enough, for the full range of notes that can be played using a full pitch range.

The Scales currently configured are the Major, Minor, Harmonic Minor and Melodic Minor Scales.

A small limitation of the app is that you cannot choose notes outside of the chosen Scale, but this should mean that any melody, should sound as though it is "in tune", regardless of the Scale chosen.

The BPM is similarly limited for simplicity and allows for a BPM range of 60 BPM to 240 BPM in 5 BPM increments.  This is to make it easier to quickly adjust the BPM without requiring a virtual keyboard on a mobile device.

To simplify the readability of the Piano Keys, the note pitch assigned to the Key is displayed in text.  For myself, this is a bit of a learning aid as I do not have a Midi Keyboard or any other instrument.  It is also so I can see what notes I am playing with in the app so that I can remake the melody in the DAW I use to make music.

Why I made Go.Piano?

Over the last year I have been trying to learn Game Development, and as part of that I have also been trying to improve my musical capability so that I can make music for the games I make.

When I recently tried to find an app to do what Go.Piano can currently do, I found that most of the apps on the Google Play store were either loaded with ads,  paid for apps, or had so many other integrations that on trying to use them to make music, I would spend 10 minutes looking through the app before finding the feature to make music, and in at least one instance, was then told by the app that I couldn't make music until I gave it permission to collect unnecessary my personal data.

I didn't want ads or social media (mainstream or otherwise), I didn't want to give yet another company unlimited access to me, and I sadly can't justify the expense for a "paid for" app.  All I want is a simple app that lets me place a few notes and plays it back to me.

So, I decided to make my own.

I'm not a musical genius, I'm not even sure the notes are perfectly "in Key", but I think they are if I got the maths right.  However, after the last year of making some simple (and slightly buggy) games, I thought I could at least try to make something usable.  After using my DAW for more hours that I would care to admit, I'm fairly comfortable that I have a basic understanding of how the layout and systems seem to work.

After looking around for a music app example for Godot, I found the Midi Piano Sample Project.  This project simply gave you a Piano Keyboard that was set up for Midi input or for clicking on the Keys with a Mouse and playing a note in the correct pitch for the key.

Basically all that is left of the original sample project is the Piano Note WAV file, and some of the maths for calculating the pitch of the Keys.

Everything else in the project is either rebuilt or completely brand new.

What's Next?

My overall aim with this project, is to be able to upload an app to the Google Play store that I can then download to my phone for use on the go.  The app will be Ad Free, Forever, and won't require any subscription, transfer of data, or any of the other trappings of modern life, it will always simply be a tool to make a simple melody and play it back.

At the moment the only main feature that needs to be added is Saving and Loading Melodies.

Once I have figured out an approach for saving and loading melodies I will then look at turning the online tool into an Android App that can be downloaded via the Play store.

At that point, my original plan is pretty much complete.

Depending on the future, I might look at also making a simple drumkit style app, or integrating the 2 ideas into an app that can handle multiple "Tracks", however I do not want to end up making my own DAW as it would be feature poor, and far inferior to an actual DAW from a proper sound production company.

Files

Go.Piano Web Test Build.zip Play in browser
21 hours ago

Leave a comment

Log in with itch.io to leave a comment.