Add NumberOfSemiTones function