GodotGarden / piano-practice

A simple piano practice game.
Apache License 2.0
1 stars 0 forks source link

Implement a Precise and Adjustable Metronome Feature #13

Open brylie opened 7 months ago

brylie commented 7 months ago

This issue proposes the addition of a metronome feature to the piano learning app. A metronome is essential for practicing timing and rhythm, and this feature will allow users to select a Beats Per Minute (BPM) setting and hear a steady metronome sound at that tempo. The accuracy and consistency of the metronome's timing are crucial to avoid confusion and frustration during practice.

Objectives

Implementation Details

  1. Metronome UI: Develop a user interface element that allows users to select and adjust the BPM.
  2. Sound Generation: Implement a sound system that plays a metronome click at the selected BPM. Consider using Godot's AudioStreamPlayer.
  3. Precision Timing: Ensure that the timing mechanism driving the metronome is precise. This may involve using Godot's OS.get_ticks_msec() or similar high-precision time functions.
  4. Volume Control: Include an option to adjust the metronome's volume.

Requirements

Impact

Next Steps