reorg SoundIF and make sound a singleton (cleaner)