musescore / musescore/MuseScore

Add support for MIDI device recording with real time metronome

Open
#21,379 3 comments 2 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

feature request MIDI
Dominant language
C++
Stars
15.1k
Forks
3.3k
Avg merge
2d 2h
Merged PRs (30d)
91

Description

Your idea

I would like to have a real time metronome when writing notes registered via MIDI keyboard. The metronome should provide an option to configure its tempo, which will determine the the smallest note that can be sampled on key press.

Example: considering the metronome to be configured with a sampling rate of 1/8. If a key press is greater than 1/4 but less than 3/8, the resulting note would be 1/4.

Problem to be solved

This feature request can be seen as an extension/improvement of the existing midi input functionality.

The problem with the actual input method is that it is too slow for quickly input notes with different durations. It is usually way faster to have the music notation software try to detect notes and rests duration based on the metronome and then clean up the sheet from the ones that have not been sampled correctly.

Prior art

Other proprietary music notation software like Sibelius provide this feature in their free version.

Additional context

No response

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Begin by reviewing the existing MIDI input functionality referenced in the issue and the surrounding MuseScore implementation. Establish how MIDI key-press durations are currently recorded, then define and test configurable metronome-based quantization for notes and rests; the issue provides no file or test path, so code locations must first be identified.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
desktop
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.