sound control: merge from shamu
* there may be conflicts do not cherry-pick