musescore / musescore/MuseScore

More variety with a limited set of audio samples: implement slight random variations during playback

Open
#25,898 1 comment 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

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

Description

Your idea

Introduce a new optional behaviour in the MPE model to add slight random modulation in volume, pitch, and/or FFT filters to simulate natural fluctuations during playback. Such dynamic variations would mirror the imperfections of real takes. It would diversify the playback at a minimal cost, particularly for libraries with few samples (this potentially concerns all of them - MS Basic of course, but also Muse Sounds, and some VSTi whose playback engines don't have this random parameterization implemented).

I suppose it could take the form of an audio FX, alongside Muse Reverb for instance, but it shouldn't be limited to Muse Sounds, for the reasons noted above. It could be added to every instrument and managed separately for each of them.

For maximum transparency, the UI should allow the user to customize the percentage and type of randomization for every parameter that can be played with to diversify the playback:

  • The "amount" (standard deviation?) of noise added for: volume modulations, pitch modulations, attack and decay, filters...
  • Possibly, a preferred curve for filters, around which random phase and amplitude changes occur.
Problem to be solved

Even large librairies (with many samples for each note/dynamics) will sound unrealistic if a same note is overly repeated, which tends to happen a lot in modern composition. The "light" ones (e.g. MS Basic) do not just sound unrealistic because of the low quality of the samples, but also due to the highly repetitive nature of the playback.

Prior art

Most FX (eg Muse FX) do allow for a greater customization of the sounds using deterministic filters, but to my knowledge, none of them allows for greater diversity using random modulation of the playback parameters.

Algorithmically speaking, I suppose unique seeds would be necessary for each event to be randomised in a consistent (= the same) way everytime it is played.

Additional context

No response

Checklist
  • This request follows the guidelines for reporting issues
  • I have verified that this feature request has not been logged before, by searching the issue tracker for similar requests

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

The issue names no files, tests, or entry points. Start by locating the MPE playback model and existing audio FX or instrument-parameter handling, then define the scope for optional per-instrument random modulation, its controls, and reproducible event behavior; done means the feature is specified and testable across the affected playback paths.

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
Stale
Clarity
Needs clarification
Newbie friendliness
15/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.