JSFiddle - React, Tailwind, and code Playground
HTML
<audio id="audio1" src="http://www.stephaniequinn.com/Music/Allegro%20from%20Duet%20in%20C%20Major.mp3"></audio>
<audio id="audio2" src="http://www.stephaniequinn.com/Music/Canon.mp3"></audio>
JavaScript
const OVERLAP_TIME = 3; //seconds, decimals allowed
const song1 = document.getElementById('audio1');
const song2 = document.getElementById('audio2');
song1.addEventListener("timeupdate", function() {
if (song1.duration - song1.currentTime <= OVERLAP_TIME) {
song2.play();
}
});
song1.play();