Arduino MP3 Player

Total noob here. Just started with arduino [and electronics in general . I am programmer by profession]. This looks very interesting[and complicated] to me. Would love to have more details on how to build one? Have lots of questions, some one please answer them if possible. 1. Can we use any other chip for decoding MP3 ? 2. Can we decode Flac ? 3. Can we use an high quality audio DAC with this same setup?