another thing I could do to improve my code is using an interrupt for the scrolling display
Unfortunately, you cannot do anything in an interrupt routine that requires interrupts... like scrolling the display. ![]()
Instead, use millis() to constantly check if the required time has elapsed. See the examples for "blink without delay" and "using millis () guide".
If the library doesn't return until the entire file has played, you can modify it to not "block" like that. There are several ways to do that.