Ah no usaste nada de AudioStreamInteractive? Interesante!
Particularmente me interesaba para la transición entre los "rezos" en la escena del cáliz (que se repiten) y la canción principal. Intenté al principio, pero no encontré buenos ejemplos y no tenía demasiado tiempo para investigar y probar.
Al final puse los rezos en un AudioStreamPlayer en loop, y cuando sujetas el cáliz le deshabilito el loop, espero el finished() y ya luego inicio la canción en otro AudioStreamPlayer:
chant_player.stream.loop_mode = AudioStreamWAV.LOOP_DISABLED await chant_player.finished chant_player.stop() chant_player.stream.loop_mode = AudioStreamWAV.LOOP_FORWARD scene.start_phase(scene.summon_phase)
Algo importante, no me funcionaba bien en web: nunca paraba de reproducirse el rezo. Se ve que no le gustaba que cambiara el loop_mode en tiempo de ejecución. Se solucionó fijando el Playback Type del AudioStreamPlayer ese como "Stream".