def normalizedNoteData(self, x): y = alphaPrefix(x) root, suffix = splitToken(x) if y in self.alternateNoteDict.keys(): return self.alternateNoteDict[y]+suffix else: return y, suffix
def normalizedNoteData(self, x): y = alphaPrefix(x) root, suffix = splitToken(x) if y in self.alternateNoteDict.keys(): return self.alternateNoteDict[y] + suffix else: return y, suffix
def isNote(self, token): root, suffix = splitToken(token) a = alphaPrefix(root) a = self.normalizedNote(a) if a in self.notes: return True else: return False
def freq(self, token, nSemitoneShifts, octaveNumber): # Return frequency of note defined by token # base calculation root, suffix = splitToken(token) a = alphaPrefix(root) a = self.normalizedNote(a) f = self.noteFreq[a] # apply octave number for i in range(0, octaveNumber): f = 2*f # apply transpose register factor = pow(self.semitoneFactor, nSemitoneShifts); # print "factor:", factor f = f*factor # process upward octave shifts n = 0 np = numPrefix(token[len(a):]) if len(np) > 0: n = int(np[0:1])-1 else: n = 0 n += count('^', suffix) for i in range(0, n): f = 2.0*f # process downward octave shifts n = count('_', suffix) if n > 0: for i in range(0,n): f = f/2.0 # process semitone shifts n = count('+', suffix) - count('-', suffix) if n > 0: for i in range(0,n): f = f*self.semitoneFactor if n < 0: for i in range(0,-n): f = f/self.semitoneFactor return f, root, suffix
def freq(self, token, nSemitoneShifts, octaveNumber): # Return frequency of note defined by token # base calculation root, suffix = splitToken(token) a = alphaPrefix(root) a = self.normalizedNote(a) f = self.noteFreq[a] # apply octave number for i in range(0, octaveNumber): f = 2 * f # apply transpose register factor = pow(self.semitoneFactor, nSemitoneShifts) # print "factor:", factor f = f * factor # process upward octave shifts n = 0 np = numPrefix(token[len(a):]) if len(np) > 0: n = int(np[0:1]) - 1 else: n = 0 n += count('^', suffix) for i in range(0, n): f = 2.0 * f # process downward octave shifts n = count('_', suffix) if n > 0: for i in range(0, n): f = f / 2.0 # process semitone shifts n = count('+', suffix) - count('-', suffix) if n > 0: for i in range(0, n): f = f * self.semitoneFactor if n < 0: for i in range(0, -n): f = f / self.semitoneFactor return f, root, suffix