From Notes to Keys:
A VR Learning Environment for Sheet Music Interpretation

Sandeep Khanna1,3, Atanu Saha2,3, Rahul Kumar Ray3, Rakesh Patibanda4, Chiranjoy Chattopadhyay3
1Indian Institute of Technology Jodhpur, Jodhpur, India   •   2Ramakrishna Mission Vivekananda Educational and Research Institute, Belur, India   •   3FLAME University, Pune, India   •   4Monash University, Australia

International Conference on Document Analysis and Recognition. September 16-21, 2025. Wuhan, Hubei, China.
FLAME University IIT Jodhpur RKM Monash University
Summary
Contributions
System Schematic
System Schematic

Schematic of the system: OMR converts sheet music to MusicXML, which drives key highlighting in a Unity VR piano for real-time, interactive learning with Meta Quest 3.

MusicXML Generation Algorithm
  1. Input: Musical symbols 𝒮 = {sᵢ = (tᵢ, xᵢ, τᵢ, dᵢ, 𝒜ᵢ)}
  2. Phase I: Symbol Processing
    • Sort 𝒮 by track tᵢ and position xᵢ
    • Partition into tracks 𝒯ₖ for k ∈ {1..m}
  3. Phase II: Temporal Quantization
    • Apply quantization 𝒬 to positions xᵢ
    • Set time signature σ = (n, 2ᵖ)
    • Compute measure duration μ = (n·4)/2ᵖ
  4. Phase III: Alignment
    • Build alignment graph 𝒢_B between positions and symbols
    • Compute maximum matching ℳ
  5. Phase IV: Measure Filling
    • For each measure l and track k:
    • Add rests where ∑dᵢ < μ
  6. Phase V: XML Generation
    • Transform symbols to XML elements 𝒯_XML
    • Structure document 𝒳 = (𝒳_head, 𝒳_part)
  7. Return MusicXML 𝒳
OMR Architecture

Unified framework for music sheet segmentation: pre-processing (rotation correction, enhancement), U-Net-based staff and symbol segmentation.

VR Guidance
VR Piano
Experimental Results

Rotation Invariance

Rotated Image

Left: Rotated image

After Correction

Middle: After correction

OMR Output

Right: OMR output

Scale Invariance

Blurred Input

Left: Blurred input

Enhanced

Middle: Real-ESRGAN enhanced

Segmentation

Right: Segmentation via U-Nets

Quantitative Results

First Set Second Set
Blur OEMER Ours Blur OEMER Ours
13 0.91 0.96 27 0.74 0.89
15 0.89 0.95 29 0.71 0.88
17 0.87 0.94 31 ND 0.62
19 0.84 0.94 33 ND 0.50

IoU scores for segmentation (OEMER vs Ours) under varying blur (DeepScoresV2).