added generation with constraint on available tonalities