The 26-year-old – capped twice – was in England's squad for the last World Cup, making his Test debut on England's tour to North America in the summer of 2001.
"Martyn has been a top-flight number nine for the past two years with London Wasps and he joins us with international experience for England," said Bath's director of rugby Jack Rowell.
"He is an ambitious player who hopes to make his mark with his new club with a view to knocking on the England door once more."