Error when trying to save output audio in P5js sound

I haven’t looked at how SoundRecorder.setInput works, but try calling .connect(recorder) on all of your sound generating elements before you call .record(outputSound) on your SoundRecorder. Live example: Recording Experiments - OpenProcessing

let tada, ding;
let tone;

let recordedSound;
let recorder;
let isRecording = false;
let tonePlaying = false;

let toneBtn;
let tadaBtn;
let dingBtn;
let recordBtn;
let replayBtn;

function preload() {
	tada = loadSound('https://www.paulwheeler.us/files/TADA.WAV');
	ding = loadSound('https://www.paulwheeler.us/files/DING.WAV');
}

function setup() {
	noCanvas();
	
	tone = new p5.Oscillator('sine');
	tone.freq(261.63);
	tone.amp(0);
	
	toneBtn = createButton('Play Tone');
	toneBtn.mouseClicked(() => {
		if (!tonePlaying) {
			tone.start();
			tone.amp(0.5, 0.5);
			toneBtn.html('Stop Tone');
			tonePlaying = true;
		} else {
			tone.amp(0, 0.5);
			toneBtn.html('Play Tone');
			tonePlaying = false;
		}
	});
	
	tadaBtn = createButton('Tada');
	tadaBtn.mouseClicked(() => {
		if (!tada.isPlaying()) {
			tada.play();
			tadaBtn.html('Stop');
		} else {
			tada.stop();
		}
	});
	
	tada.onended(() => {
		tadaBtn.html('Tada');
	});
	
	dingBtn = createButton('Ding');
	dingBtn.mouseClicked(() => {
		if (!ding.isPlaying()) {
			ding.play();
			dingBtn.html('Stop');
		} else {
			ding.stop();
		}
	});
	
	ding.onended(() => {
		dingBtn.html('Ding');
	});
	
	recordButton = createButton('Record');
	recordButton.mouseClicked(() => {
		if (!isRecording) {
			recordedSound = new p5.SoundFile();
			recorder = new p5.SoundRecorder();
			tada.connect(recorder);
			ding.connect(recorder);
			tone.connect(recorder);
			recorder.record(recordedSound);
			recordButton.html('Stop Recording');
			isRecording = true;
		} else {
			recorder.stop();
			recordedSound.onended(() => {
				replayBtn.html('Replay');
			});
			recordButton.html('Record');
			isRecording = false;
		}
	});
	
	replayBtn = createButton('Replay');
	replayBtn.mouseClicked(() => {
		if (!isRecording) {
			if (recordedSound) {
				if (!recordedSound.isPlaying()) {
					recordedSound.play();
					replayBtn.html('Stop Replay');
				} else {
					recordedSound.stop();
				}
			} else {
				print('Nothing has been recorded yet!');
			}
		} else {
			print('Can\'t replay while recording!');
		}
	});
	
	noLoop();
}

function draw() {
}