user31105: In the MIDI library from the Arduino (FourtySeven MIDI library), there exist a function to get the length and bytes of a System Exclusive message:
Functions
getSysExArray()
template<class SerialPort , class Settings > 
const byte * MidiInterface< SerialPort, Settings >::getSysExArray 

getSysExArrayLength to get the array's length in bytes. 

However, since the Arduino Mega (in my case) has only 8 KB of memory, how can I get a MIDI SysExclusive message which is longer?
Also, I even have added a 128 KB SRAM (23LC1024), but that doesn't help me if I cannot store it in pieces.
Ignacio Vazquez-Abrams mentioned I should 'read' the message, however what message do I get if the system exclusive message is too large to be stored in (internal) SRAM? The read message (see here also does not have a partial read.
Update:
After a test with a large message, it seems the message is not received by the Arduino MIDI library.

user6802: This library tries to make its programming interface as simple as possible, which means that SysEx messages are put completely into a buffer in the internal memory, which means that larger messages cannot be handled.
The only way to handle larger messages is to read the bytes directly from the serial port, and parse the MIDI messages yourself. (The MIDI specification has a helpful flowchart about MIDI parsing in the first appendix.) When you have detected the start of your large SysEx, you can then do whatever you want with the following bytes, e.g., handling them as a stream, or write them to external RAM)^.

31105: <p>In the MIDI library from the Arduino (FourtySeven MIDI library), there exist a function to get the length and bytes of a System Exclusive message:</p>

<p><a href="http://arduinomidilib.fortyseveneffects.com/a00042.html#gaed0ea7484ddde16f22f6fb5220696946" rel="nofollow noreferrer">Functions</a></p>

<pre><code>getSysExArray()
template&lt;class SerialPort , class Settings &gt; 
const byte * MidiInterface&lt; SerialPort, Settings &gt;::getSysExArray 

getSysExArrayLength to get the array's length in bytes. 
</code></pre>

<p>However, since the Arduino Mega (in my case) has only 8 KB of memory, how can I get a MIDI SysExclusive message which is longer?</p>

<p>Also, I even have added a 128 KB SRAM (23LC1024), but that doesn't help me if I cannot store it in pieces.</p>

<p>Ignacio Vazquez-Abrams mentioned I should 'read' the message, however what message do I get if the system exclusive message is too large to be stored in (internal) SRAM? The read message (see <a href="http://arduinomidilib.fortyseveneffects.com/a00042.html#ga77b72b026ff0096aa7157d012405e365" rel="nofollow noreferrer">here</a> also does not have a partial read.</p>

<p>Update:</p>

<p>After a test with a large message, it seems the message is not received by the Arduino MIDI library.</p>
 6802: <p>This library tries to make its programming interface as simple as possible, which means that SysEx messages are put completely into a buffer in the internal memory, which means that larger messages cannot be handled.</p>

<p>The only way to handle larger messages is to read the bytes directly from the serial port, and parse the MIDI messages yourself. (The <a href="https://www.midi.org/specifications/item/the-midi-1-0-specification" rel="nofollow noreferrer">MIDI specification</a> has a helpful flowchart about MIDI parsing in the first appendix.) When you have detected the start of your large SysEx, you can then do whatever you want with the following bytes, e.g., handling them as a stream, or write them to external RAM)^.</p>
