Okay, from what I’ve observed, the “muted” state is never changed through this script, so what for me may be causing the volume to be constantly 0 is this variable: local fullvol = music.Volume
Shouldn’t this reset the volume to the default value? Because your for loop always goes up to 100, implying that the song should always start with the volume fixed at a value.