Giter Site home page Giter Site logo

toc2's Introduction

Metronome

Simple metronome app.

Get it on F-Droid Get it on Google Play

screenshot-0 screenshot-1 screenshot-2 screenshot-3 screenshot-4

Functionality

This app provides basic functionality like:

  • Setting speed manually or by "tap in"
  • If you use "tap in" while the metronome is running, the klicks should lock in to your taps.
  • Choose different sounds and individually adapt the volume
  • Save and load your current settings
  • Choose between light and dark theme
  • Show a notification, which supports "start" and "stop"

Help me improving the app

If you like this app, but have ideas for improvement or are annoyed by some behaviour, please let me know.

License: GPLv3

toc2's People

Contributors

aleksey-saenko avatar brilnius avatar econo202 avatar fpesari avatar porrumentzio avatar poussinou avatar rustomcspit avatar sguinetti avatar thecodehustler avatar thetwom avatar xiangronglin avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

toc2's Issues

Change the sound icon behavior

Suggestion: instead of becoming red (not very nice nor explicit IMHO), the sound icon could be just striked when the sound is inactive and normal (not striked) when the sound is active.

App crashes if tempo is 0 or very high

Hi,
the app crashes if the tempo is 0 BPM. I know, you don't use a metronome to set it to 0 BPM, but it just would be enough if the option in the setting doesn't accept a value of 0. It's the same if the value is very high.
And if you set the value in the settings and the BPM to 1000 or more (in German), and then open the entry dialog by clicking on the BPM value and then just click OK - Metronome will think you mean 1 because it separates the numbers with a dot ("1.000"), which is interpreted as "1" (solution would be to remove the dot, for example - not a good solution - you could convert the number to an integer and then back to a string, this would solve it).

How to change default sound?

In your readme is described that you can choose different sounds.
But how? And where? There is no option in settings or somewhere else.
The default sound is not really usable.

Please provide more note lengths for bpm selection

Hi,
my wife loves to play guitar and I love FOSS, so thanks for the metronome! (can I donate a little somewhere?)
One thing which annoys my wife is things like:

Screenshot_2021-09-10 Die punktierte Viertel Note = 73bpm

Would it be possible to add some of these to the selection of 1/4, 1/8, 1/16 = 120bpm?

I know one could calculate the right bpm and set it, but doing that kind of maths is beyond some musicians :-).

If you think it clutters the screen too much, that is perfectly fine. Thanks in any case!

Metronome Vibration Lags Occasionally

The vibration for the metronome seems to lag occasionally. For me it's usually every 4th beat is a bit late. From what I can tell it's only the vibration not the the sound. I'm using a Pixel 5 with Android 13. Let me know if there is any other information you need.

Faulty playback after pressing pause and then pressing play again

Hello!

When I press play having just started the app, the first note starts clicking really fast and erratic until I close the app. This seems the case every time I start the app now, whereas, some months ago, it seemed more rare.

If I instead swap out the first note at least once before pressing play it plays fine.

I use Android on a Xiaomi Redmi Note 9 Pro. I have the app through F-Droid. Everything appears up to date.

Thanks for the app!

Keep screen on

Hi,

nice app! I have one feature request. Could you make the screen keep active while using the app?

Best wishes

Vibration-based metronome

Hello,

many people always carry their phone in their pocket and when playing music vibration can't be heard by the public but can be felt by the performer. For this reason, I think vibration makes a good alternative to traditional drum sounds or beeps.

It would be nice if there was an option to replace sounds with vibrations. Each note could have a different vibration duration, so that hits (and accents) could be felt differently. For example, a hi-hat would vibrate the shortest time (30 ms?), a kick should last longer (60 ms?), a snare even longer (150 ms?) and a ride the longest (300 ms?).

Disclaimer: I tried to implement this functionality myself in a web app as a proof-of-concept but I just could not get it to a decent performance level (since vibration can't be used from a web worker, AFAIK). I am no Android coder so I prefer you take this concept and do something good with it, since I use your program from F-Droid. Thanks for listening anyway ๐Ÿ˜ธ

Enhancements on the Scenes screen

I'm a drummer and I was very happy to find this app with the scenes feature on F-Droid. This feature makes Metronome outstanding, because as far as my search went, I couldn't find something similar.

Lately I started heavy testing under "real life conditions". But this is of course only my personal use case playing in a band. I use it to pick up the song tempo visually in advance, but not having the beat sound constantly on a headphone during playing. The ability to save fancy rhythm patterns in a scene is not my first choice. I use Metronome to have usually a 4/4th bar with different BPMs.

Here are some improvement suggestions, I came across. They all apply to the scenes view, which I used about 99% of the time:

  1. Reduce the used space per scene on the scenes page. On my 5 inch mobile screen there can only be displayed six scenes (aka songs) at once (I think it won't be significantly more on a larger screen). In my case an average song-set for a show contains at least ten to twelve scenes/songs, ususally more. So it would be an improvement to see as much scenes as possible on the screen without limiting overall usability too much. First thing that comes to mind for space reduction is to remove the notes. Beat indictaion instead would be crucial to me.

  2. Make the scenes manually sortable, not only by a sorting scheme like A-Z, Z-A, Tempo asc, Tempo desc. A "drag and drop" approach would be great to have the scenes in any individual order you want it.

  3. Have dedicated space for the Start/Pause button. During rehearsal I often didn't hit the button exactly and thus selected another scene by accident. This was quite error prone, even though I consider myself on a good average level using touch-buttons...

  4. Implying a dedicated space for the Start/Pause button, a Forward/Backward button would be another cool thing to advance in the "playlist" of scenes one by one. This would be awesome to have for an on-stage situation and even at rehearsals too.

  5. Have a clear beat indication. The sliding blocks are looking good from a design perspective, but to my experience it's harder to visually pick up the tempo, as the grafics are a bit too "washy" to get it fast and precise. Preciving it via the given sound is not an option in a (my) band scenario, as the surrounding noise is far louder than any mobile device's speaker.
    Is there maybe a possibility to trigger the mobile device's LED? Or make the visual indication configurable to alternatively have just a solid colored block "flashing" on the screen (wich could also be displayed in the context of 3. and 4.).

As said this is just my personal use case and what I'd love to see as an enhancement. If you want me to split these suggestions to different issues let me know.

Doesn't loop seamlessly

Testing on v4.0.0-beta2, I seem to remember this not being an issue before.
I want a vibration on the 2nd beat, then the 4th beat, then the 7th beat (e.g. 2,2,3,2,2,3,2,2,3...), so I mute the other beats, and leave those.
Unfortunately, the first beat starts immediately when I tap play, so it ends up being 2,3,2,2,3,2,2,3,.. (i.e., I have to wait one cycle before the beats loop seamlessly).

Sorry if my wording is confusing!

Closing while playing breaks the App

I found an issue in the 3.2.1-alpha:

  1. Open app, start a beat
  2. Close the app while playing
  3. Reopen app
    App opens showing the "Pause" button (instead of "Play"), no beat playing, no sound. Tapping "Pause" does nothing. Also on the scenes view you're stuck with the "Pause" button.

Expected behaviour would be, either continue playing with the same setting when closing the app or showing the "Play" button to again manually start playing.

Add Bar Count

Hello,

I have tried your metronome app and it looks slick and works great! I was wondering if there was a way to add a bar count to the metronome app? For ex., you could choose 12 bars and it would display the current bar and just reset it to 1 after 12 bars are complete. This would help with keeping track a song or a form.

It could replace the first 1 on the bottom screen and iterate to 12 and then reset to 1.

Thanks.

Feature request: general volume could be accessed directly

Like your app a lot, thanks !

To change the general volume of the metronome, we have to click on the "parameters" icon on the left of the UI. Then we can move the volume cursor and there is no other parameter that can be changed at this place.

Instead, it would be easier to have the volume cursor directly into the UI to change the general volume of the metronome.

EDIT: Sorry, in fact, the "parameter" icon give access to the volume of all the notes.
So it would be nice to have a general volume for the metronome (easier to change in the UI than with the hardware buttons for example when playing with a band)

No Bluetooth Sound

When using Bluetooth Connection to an Audio Device there is no Sound in Metronome App.(1.6.6)

Light-pulse metronome

Sound-based metronome is widely used, but it has some drawbacks. Since metronome sound is repetitive and annoying, listening to it for a while with allow our brain to catch the pattern and create anti-click sound as an attempt to suppress the metronome. That's why if you turn on the metronome, listen to it continously for a few minutes while focusing on your musical piece, at some point you will feel like you can't hear the metronome anymore.
Light-pulse metronome is invented to address this issue. By using a red light running up and down, our brain can't find a way to supress this. Light pulse also doesn't get mixed up with the music you are playing, unlike sound-based metronome.

An example of a light-pulse metronome: https://youtu.be/0RBOakMAqws?list=PL8hZtgRyL9WRWJLlIUPl-ydiDc8CZ_SJK&t=267

I noticed that your metronome already has a green bar running at the bottom of the screen, so in order to create something that resembles a light-pulse metronome, you only have to:

  • Rotate the green bar to vertical and increase its size to cover the entire phone's height.
  • Eliminate the fading effect.
  • Make sure the green bar is running at constant speed (that is, no acceleration the further green bar is from center).
  • And maybe add some 8th note, 16th note marks (you know, like those in a thermometer).

Instant clear-all button

Hello,

sometimes I mess with a weird beat and then want to rapidly go create the next, but I haven't been able to find a "clear all" button which does it immediately and I have to delete all notes manually. Can a "clear all" or "reset" button be created in the top bar? Of course, it should have a YesNo MessageBox to prevent that an accidental deletes everything.

App Crashes and Doesn't Start

When I try to open it, it only shows a blank white screen with a purple notification bar. Then it crashes after a few seconds. I installed it from f-droid app and I use an Xperia XZ running Android 8.0 Oreo.

I'm happy to see an open source metronome app, so I hope this issue helps.

Nicer Logo and name?

I love this app!
It really deserves a nice logo and a better name because it can do much more than a metronome.
I was thinkin : Simple Rhythm Kit or something?

Broken UI after 4.0.0

I would like to report that Metronome UI is straight up broken in version 4.0.0 and 4.0.1. The play/pause ring is always on top, even after tapping the config button. The <<<<<<< button on top right also collides with BPM indicator. A screenshot should be self-explainatory.
Metronome

Current Version not available in F-Droid

Dear team,

when I take a look on google play store the current version is 4.0.1, in the F-Droid store the current version is 4.0.0.

What's the reason for this gap? Is there a bug in the build process?

Please fix this.

Kind Regards,

Krawei

App crashes when beat is paused

I have downloaded version 1.6.7 from F-Droid and like it so far. The only problem I've experienced is that the app crashes whenever I pause the metronome. To reproduce:

  1. Open the app
  2. Leave it at default settings (one note, 120 BPM)
  3. Press play
  4. Press pause
    The app will then crash.
    I am using a Motorola G5 Plus running Android 8.1.0

Loading issue via app choice

Hello.
A small issue I had when loading a set of tempi/patterns ("scenes" is the English term).
As I had several apps that can handle the "choose file" action, I first had a "toaster" at the bottom of the screen asking which one I want to use. I chose one, and the chosen app appeared: I found and selected a file to load and then... nothing happened (I'm back in the Metronome app, in the list of scenes). I made several tries, with different apps and different files, but the result was always the same.

So I decided to uninstall all the concerned apps but one, just keeping my preferred one. Just to try.
In this case (when there is only one app handling the "choose file" action), everything is ok: no toaster for choosing an app, and after selecting a file the Metronome app asks if I want to append or replace, etc.

So I made another test: I reinstalled one of the apps I had just removed.
First try when choosing a file: same thing (the "toaster" to choose an app, and at the end I'm back in Metronome but nothing happened). But this time on the "toaster" when choosing the app I clicked on the button saying "always use this app".
Next try when choosing a file was ok (no "toaster").

So my conclusion is: when we go through the "toaster" step for choosing an app (for selecting the file to load), then the loading fails.

I use Metronome v4.5.0 on Android 8.0.0.

Tell me if I can provide more information for reproducing the issue.

Larger visualizition ticks

I play loud electric guitar, and I would like to have a larger visual tick. Could you make background of the two cirkels flash? Maybe the entire background? Maybe different colors for different type of nodes? And of course, "extended" tick visualization could/should be optional.

Timing seems off

Hey, I just found your app on F-Droid and I really like the concept. But when I hit play, something is off. Especially the hi-hats don't seem consistent.
sample.zip
Maybe it would make sense to generate one long audio file and play that to avoid delays that come with looping and chaining audio files in real-time?

Those bouncing balls?

I really miss the animation of those bouncing balls.
Please consider putting them back in.
Love your app.

Version 1.6.0 crashes immediately after launch

First of all, I really like the interface decisions you've made with this app! Very functional and intuitive.

Version 1.6.0 (installed via F-Droid) crashes immediately after launching. The first attempt appears to initialise the app, then it disappears. Subsequent attempts give the "Metronome keeps stopping" popup.

1.5.1 works fine.

I'm running stock firmware on a Motorola Moto G7 Play.

Remove lower cap on bpm

Hello! Thank you so much for this app, I use it a lot and I love it.

However I have found that the 20bpm lower limit gets in the way sometimes. Not because I play at 15bpm but it's a useful exercise to set the metronome really low so that it only clicks on some of the beats while you are responsible for more of them. (As is shown in this video: https://youtu.be/u6hg8GcLc-4 ). So I would love it if the limit was either removed or if there was a setting to turn it off. Thanks!

Issue with the audio decoding on some devices.

I think there is an issue with the audio decoding on some devices. On my device (Lineage 14.1) the App is unusable, all the sounds are just noise.
I have even downloaded the resources from the repository to check if those were the intended sounds. The flaac files play correctly on my PC.

Originally posted by @tarikgraba in #9 (comment)

Thoughts about vibration feature

I wondered with this app because it's the only I found on F-Droid with this feature, so thanks for it!

Nevertheless, I have some thoughts about it:

  • The maximum vibration strength seems unsuficient for me. When playing drums having the vibrating device glued to the leg, it's so difficult to feel the beat. Could it be possible to increment the maximum strength?
  • Vibration should vary its strength according to beat-volume (same that for sound). Simply to be able to feel the beat. Another option could be to have different strengths for each note, but the fader option seems better to me.
  • Seems that vibration is not completly synchronized with sound. The vibration goes a bit later than sound.

Add eighth note option

Hi,

an option to add eighth notes/rests would be very nice. Then rhythmic patterns like clave would be easier to insert as with only quarter notes.

Btw. I like that app very much ๐Ÿ˜ƒ

Enhancement ideas

Hello! As a guitar player I am enjoying the app a lot and I thought I could share some ideas that I came up with along the way. To my knowledge the features that I am going to propose are usually not present in metronome apps.

Well done and keep up the good work!

Idea 1: more tracks in the measure definition

It would be great to have the possibility to add a second track on the measure definition. Since there are already many sounds available for the beat definition, this would allow a user to create a simple drum backing track.

For example one could create a blues shuffle drum backing track.

Idea 2 : sequences extraction for music practice

User requirements specification

When learning music a student needs to memorize and practice different types of sequences. Such sequences could be scales (different modes, different fret-board figures, different strings, โ€ฆ), chord progressions, and so on. When improvising similar needs arise.

It would be great to enhance the metronome with multiple sequences item extraction. This way, a user can set up the metronome and associate to each beat the extraction of items taken from different lists/ranges. This extraction shall be visualized on the screen.

Suppose for example that one shall practice scales in different keys and in different positions of the fret-board. The user could create 3 sets: a list of the keys, a range of the different notes of the scale (for example 1 to 7 for the ionic modes), and another list for the fret-board positions. While practicing the metronome app shall display the extraction of the items of the lists at every beat. For example: 1/4 (key:C, note:5, fret-board position: low), 2/4 (key:B, note:3, fret-board position: high), ...

Of course one could program this with, say, python and some simple terminal graphic interface (I actually did it myself some years ago). Of course one could grab a DAW and create highly customized solutions for this. However, I believe that those solutions are too sophisticated and it would be much more easy and comfortable to have those features on the usual metronome app.

The key idea here is that the number of lists/ranges need not be pre-defined nor fixed. It would be great to let each user define its own lists.

Proposed enhancement

To add:

  • a section/page for the definition and ordering of the lists and ranges to be extracted
  • a section/page for the list/range settings (upon click from the previous page)
  • some sort of display overlap on the metronome main page in order to show the result of the extraction in a readable way

Feature suggestions:

  • List/range definition and ordering. A simple page with the possibility to add items and order them by dragging
  • List/range setting (for each list):
    • name of the list (to be visualized before the result of the extraction)
    • list items (could be comma-separated values to keep it simple) or range bounds (integer values)
    • frequency of extraction, integer value (for example every 4 beats)
    • type of extraction: random or sequential

Start in Realtime

Currently the app has a lag of a few tenths of a second after hitting Start until the metronome starts. This makes it almost impossible to get a synchronous start of the metronome along with a playing musician.

It would be a good improvement to shorten this delay as close to zero as possible.

This is to check with the metronome during playing, if you are able to start a certain tempo by yourself. To achieve this, a minimized lag between start button and the actual start of the metronome is crucial.

I know all "realtime" stuff is hard to achieve, but maybe there are some possible tweaks to get closer to it.

Feature request: add a timer for practicing

A timer is useful to stay concentrated when you're practicing.
I have one on my edrum but obviously not on my practice pad so a timer would be great for Metronome/toc2 ๐Ÿ˜‰

Missing BPM control from notifications

When I first downloaded the app, one could (de-)increase the BPM from the notification. Now after updating the app the buttons are removed.
My PR's #15 usecase is mostly so control the speed from the lockscreen, so i wanted to ask if it is planned to add to back and if it will happen in the near future. If not I could look into adding into (looks like it just commented out).

Scene forward/back on main screen

A nice feature would be an option to have scene forward/back buttons on the main screen. When playing a live set, it's helpful to have controls like tap tempo readily available at all times. Currently, accessing tap tempo and changing scenes requires constantly switching back and forth between the two screens.

Share only selected scenes

Hi,

first of all, thank you very much for this amazing app, I find it very useful and convenient!

I noticed that currently it is only possible to share all saved scenes at once, so I was wondering if one day there would be the possibility to select multiple scenes and only share those selected scenes. I think this could be very convenient, because it would allow to share specific scenes with other musicians and help them practicing.

Thanks a lot
cristalmojo

Feature request: BPM changing over time

I've been using this metronome application for a while and I'm absolutely loving it! Great features, do the work it is asked to do, etc.
A good feature that lacks to the application would be the ability to play a gradually transitioning BPM metronome. You would set an initial BPM, a final BPM and a transition time, and starting at the initial BPM, it would take this transition time to reach the final BPM, progressively.

Keep up the good work!

~ Ahurac

Can't close the app

Hello.

I was expecting the Android "back" button (round arrow) to close the application.
Maybe in the past it did so, I don't remember as I use this method for closing other apps too.
Even when the metronome is not playing, the only way to close the app (and make the notification icon go away) is to open the list of running applications and kill it (by swiping it or clicking on the cross).
Maybe this issue is specific to my phone (Samsung Galaxy S7).

Not a big issue but I'm still shortly disappointed each time I want to close the app.

PS: I will update the French translations as soon as I find a good term for "scenes". :-) BTW I love this "scenes" feature.

Practice Mode

There is another metronome app, Chubby Click, that has a really interesting feature for practice. It increases the speed after every nth bar starting from and up to a given BPM limit. You can set the following values:

Start tempo BPM
End tempo BPM
Duration: This is the number of bars, the tempo stays the same
Step: How many BPMs will the tempo be increased after one "duration"

Maybe this feature is something to consider for your long-term plans.

Dear author

Hello, thank you very much for your open source code! I want to use the core code of your software in the project, hoping to get your authorization.

Thanks

I just came here to say thanks! Cool app. I was amazed that you coded a whole sheet music ui. I really appreciate the effort you put in. Thanks.

FR: Multiple metronomes, more logical notation editor

  1. It would be really nice to be able to have multiple metronomes going on simultaneously to practice multiple rhythmic patterns. This is mainly for polyrhythms and polymeters(such as 3 against 7 or 5 against 4).

Maybe as sample way to add this feature would be to abstract the metronome so that multiple can be run.

Then add an overlay or easy way to add or remove multiple instances.

Then it is just a matter of synchronizing the metronomes(so some work on dealing with how the sounds are played is in order. Probably the easiest way is to render the waveform directly to an audio buffer and the ship the buffer to the audio output. The main issue here is to make sure everything is nearly perfectly synced so there are no weird timing issues between the different instances.

  1. Add some ability to add a latency to the sound including negative. The issue is that there is some delay from the animation effects and the sound itself and if one is watching the metronome it can be a little discombobulating.

  2. The notation editor is a nice feature but it is a little strange to use. It would be better if it was more like standard music notation editors in which a beat is literally is specified by the time signature. Then a beat can be divided in a natural way. Currently one has to "add notes" but a note is, tempo speaking, an arbitrary unit specified by the notation rather than specified by the meter/bar. E.g., if I add 3 "units" those can be anything I say. When a quarter note is selected and turns it in to an eighth note it will change time signature(say from 4/4 to 7/8).

Maybe adding an "optional logic" for more standard notation would be better than to replace the current system. This way it could be done gradually. I'm mainly interested in the first request so I can practice polyrhythms more accurately.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.