Is It Feasible to Access Extended Future MIDI Data?

Hello JUCE community.

I’m new to using JUCE and am working on a synthesizer that requires access to the upcoming 5-10 seconds of MIDI signal prior to processing.

My current approach is considering a lookahead buffer of approximately 5 seconds. However, I’m concerned this might introduce significant latency to the track. Another idea is to require users to play the MIDI sequence first, then have the plugin process the entire sequence afterward, similar to how Melodyne operates outside of ARA.

I’ve thought about a MIDI variant of ARA as a potential solution, but as far as I understand, ARA is primarily for audio.

Does anyone have suggestions or a more efficient method to achieve this?