For offline processing, it would be really convenient to have a function or maybe just a method of Pipeline that consumes a whole array, iterates over it with a given segment length (using segment), and concatenates the output.
x = load_recording(...)
p = build_pipeline(...)
y = p.process_segments(x, 10)
Should be pretty easy to do.