Like what @Pokemoncraft5290 said, You are changing the StarterGui, but you will want to change the PlayerGui
We can modify your script so it will change the PlayerGui instead of the StarterGui
local player = game.Players.LocalPlayer -- get the player
function Start()
game.Workspace.select:Play()
player.PlayerGui.ScreenGui.Start.Visible = false -- change it to PlayerGui instead of StarterGui
end
script.Parent.MouseButton1Click:Connect(Start)
By the way, I would also advise naming your ScreenGui, incase you have multiple of them, it can get really confusing later on.
The sound still plays because it is before the game.StarterGui.ScreenGui.Start.Visible = false, which means it will run before game.StarterGui.ScreenGui.Start.Visible = false line of code.