示例#1
0
 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
示例#2
0
 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
示例#3
0
 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
示例#4
0
 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
示例#5
0
 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
示例#6
0
    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
示例#7
0
 def isRhythmOp(self, token):
   if alphaPrefix(token) in self.beatValue.keys():
     return True
   else:
     return False
示例#8
0
 def isRhythmOp(self, token):
     if alphaPrefix(token) in self.beatValue.keys():
         return True
     else:
         return False