Rx: ¿un operador tipo zip que continúa después de que una de las transmisiones finalizó?

Estoy buscando combinar secuencias (observables) que comienzan y terminan de forma asincrónica:

-1----1----1----1---|->
     -2----2--|->
[ optional_zip(sum) ]
-1----3----3----1---|->

Para qué lo necesito: Agregar secuencias de audio juntas. Son secuencias de "fragmentos" de audio, pero los voy a representar con números enteros aquí. Entonces está reproduciendo el primer clip:

-1----1----1----1---|->

y luego comienza un segundo, un poco más tarde:

     -2----2--|->

El resultado de combinarlos por suma debería ser:

-1----3----3----1---|->

Pero el zip estándar se completa si alguna de las secuencias comprimidas termina. Quiero que este opcional_zip continúe incluso si una de las transmisiones termina. ¿Hay alguna forma de hacer esto en Rx, o tengo que implementarlo yo mismo modificando el Zip existente?

nota: estoy usando RxPy, pero la comunidad aquí parece pequeña y los operadores de Rx parecen ser bastante universales en todos los idiomas, así que también lo etiqueté como rx-java y rx-js.

Respuestas a la pregunta(2)

Su respuesta a la pregunta