Skip to content

Real-Time Note Analysis Feature Proposal #7

@novikov-alexander

Description

@novikov-alexander

Overview

This issue proposes the implementation of a real-time note analysis feature to enhance vocal and instrumental performance analysis within the context of music performance teaching or studio recording quality assurance.

Proposed Solution

The feature involves creating temporary layers filled via the pYIN plugin on recordDurationChanged every 200ms. These filled layer models will then be copied to view-attached layers. The analysis will incorporate overlapping windows to prevent note splitting by analysis window boundaries. Notes within overlapping areas will be merged to ensure continuity and accuracy.

Goals

  • Provide real-time vocal and instrumental performance analysis.
  • Enhance usability for music performance teaching and studio recording applications.

Technical Considerations

  • Temporary Layers: Investigate reuse of temporary layers to optimize performance and resource utilization.
  • Continuous Feature Retrieval: Explore methods for continuous feature retrieval from pYIN to optimize real-time analysis.
  • Refactoring and UI Improvement: Address existing code bugs and enhance UI elements for better user interaction.

Next Steps

  • Refactor existing code to improve performance and maintainability.
  • Enhance menu UI related to note analysis.

Questions for Discussion

  • Is there a way to continoiusly get features from pYIN?
  • Should the new functionality be integrated within existing methods (analyseNow, reanalyseSelection) or introduced as a separate function (analyseRecording)?
  • Are there specific UI enhancements or user experience improvements that should accompany this feature?
  • Should we move any additional processing to separate threads for improved performance?

Additional Notes

This proposal serves as a proof of concept and requires further refinement and testing before full integration into the project.

Test implementation is here:
#6

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions