How to copy AudioSource by code?

How can I copy AudioSource component at runtime? If I write a code to copy every property to newly create ones, I can’t seems to copy the volume/pan level/spread curves.

If you don’t mind having the entire game object that the audio source is attached to cloned as well, you can do

Instantiate(myAudioSource.gameObject, Vector3.zero, Quaternion.identity);

In my quick test, that seems to keep all the curves intact.