Grantown-on-Spey is an attractive town built around a regular market square, and built on the slopes north of the River Spey in the middle of the Spey valley.