How to pause between audio clips using coroutine

Hi. I’ve tried to figure out swapping AudioClips to a AudioSource and only the final clip in the Start function is being played. It would seem to me that the yield inside the subroutine isn’t happening at all. The entire code is less than 30 lines, but it has kept me stumped all day. I’ve tested all clips, and all are working fine. Can anyone tell me why my delay coroutine isn’t yeilding!? Possible important notes, I am using a DK2. Thanks.

using UnityEngine;
using System.Collections;
[System.Serializable]
public class BouncerController : MonoBehaviour {

// Use this for initialization
void Start () {
	AudioClip goClipIn = Resources.Load<AudioClip>("Audio/bouncer_youknow");		
	StartCoroutine(PlayNewClip(goClipIn));		

	goClipIn = Resources.Load<AudioClip>("Audio/bouncer_whoareyou");
	StartCoroutine(PlayNewClip(goClipIn));

//	goClipIn = Resources.Load<AudioClip>("Audio/bouncer_plannedsting");
//	goClipIn = Resources.Load<AudioClip>("Audio/bouncer_nodforyes");
}
IEnumerator PlayNewClip(AudioClip clipIn) {
	audio.clip = clipIn;
	audio.Play();
	yield return new WaitForSeconds(audio.clip.length+1.5f);
}

}

using UnityEngine;
using UnityEngine.EventSystems;
using UnityEngine.UI;
using System.Collections;

public class SoundPlayer : MonoBehaviour {
	public AudioClip clip1;
	public AudioClip clip2;

	void Start() {
		StartCoroutine("PlayNewClip", clip1);
		StartCoroutine("PlayNewClip", clip2);
	}

	IEnumerator PlayNewClip(AudioClip clipIn) {
		if (audio.clip!=null) yield return new WaitForSeconds(audio.clip.length + 1.5f);
		audio.clip = clipIn;
		audio.Play();
		
	}
}

Thanks for the response. I’ve decided loading each clip on command is going to be problematic and cause an unnecessary amount of debugging for what it is worth. I’ve decided to put each clip into it’s own GameObject and Instantiate it at will.

    public GameObject clip1;
public GameObject clip2;
public Transform vocalResponseSpawn;

void Start () {

	Instantiate (clip1, vocalResponseSpawn.position, vocalResponseSpawn.rotation);
	StartCoroutine("PlayNewClip",clip2);

}
IEnumerator PlayNewClip(GameObject clipIn) {
	yield return new WaitForSeconds(clipIn.audio.clip.length+1.5f);
	Instantiate (clipIn, vocalResponseSpawn.position, vocalResponseSpawn.rotation);

}