My soundclip is noisy?

I made this script so when i die, et playes a exploding sound effect.
But when i die and the sound plays, the sound is like a noisy version of the sondclip.
I found out it was because that keept restarting the clip every frame.

But i don’t know how to fix it. Please help.

var EXP : AudioClip;

function Start () {

}

function Update () {

if (GameObject.Find("Spaceship").GetComponent(Clickmove2).die == true) 
{
 audio.PlayOneShot(EXP);

}

}

try this…

#pragma strict

var explosion : AudioSource;

function Update(){

if(GameObject.Find("SpaceShip").GetComponent(Clickmove2).die == true){
     explosion.Play();
}
}

Create an audiosource on your spaceship then add the clip you want to play to that. then assign the audiosource to the variable of that script in the inspector.

some pseudo code

var isPlaying : bool;

Awake()
isPlaying = false;

Update()
if(yourExistingCondition && !isPlaying) {
playSound
isPlaying = !isPlaying;
(at some point you'd set it back to false)

Basically you need some sort-of control structure to prevent it from starting every frame.

Edit: converted from comment to Answer