The 27-year-old is Nathan Jones' ninth signing of the summer.
Jones said: "I'm really pleased that we have managed to bring Scott to the Club. He will add really quality to our attacking options and his record at Championship level is very good in terms of goals per game.
"He had a fantastic time at Brentford but it hasn't quite worked out for him at Villa but these things happen. We want him to find a home with us, start playing again and score goals."