Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Real-Time Note Analysis Feature Proposal #7

Open
novikov-alexander opened this issue Jul 11, 2024 · 0 comments
Open

Real-Time Note Analysis Feature Proposal #7

novikov-alexander opened this issue Jul 11, 2024 · 0 comments

Comments

@novikov-alexander
Copy link

novikov-alexander commented Jul 11, 2024

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant