示例#1
0
    def xtest_Ch6_basic_I_A(self, *arguments, **keywords):
        """p55
        Write a whole note on the specified generic interval. Do not add sharps or flats. 
        
        
        MSC: 2013 Oct -- No longer works now that convertGenericToSemitone() [buggy] has been removed.
        """
        # note: sharps and flats are still being added: need generic transposition or scale-based approach
        pitches = ["d4", "f4", "e4", "c4", "a4"]
        # these are generic intervals
        intervals = [2, 5, 3, 7, 4]

        s = stream.Stream()
        for i, p in enumerate(pitches):
            p = pitch.Pitch(p)  # convert string to obj
            iObj = interval.Interval(
                # convert generic to chromatic
                interval.convertGenericToSemitone(intervals[i])
            )
            c = chord.Chord([p, p.transpose(iObj)], type="whole")

            s.append(c)

        if "show" in keywords.keys() and keywords["show"]:
            s.show()

        self.assertEqual(len(s), 5)
        self.assertEqual(s[0].forteClass, "2-2")
        self.assertEqual(s[1].forteClass, "2-5")
        self.assertEqual(s[2].forteClass, "2-4")
        self.assertEqual(s[3].forteClass, "2-1")
        self.assertEqual(s[4].forteClass, "2-5")
示例#2
0
    def test_Ch6_basic_I_B(self, *arguments, **keywords):
        pitches = ['g3', 'e3', 'd3', 'c3', 'g3']
        # these are generic intervals
        intervals = [-7, -5, -3, -2, -4]

        s = stream.Stream()
        for i, p in enumerate(pitches):
            p = pitch.Pitch(p)  # convert string to obj
            iObj = interval.Interval(
                # convert generic to chromatic
                interval.convertGenericToSemitone(intervals[i]))
            c = chord.Chord([p, p.transpose(iObj)], type='whole')
            s.append(c)

        if 'show' in keywords.keys() and keywords['show']:
            s.show()

        self.assertEqual(len(s), 5)
        self.assertEqual(s[0].forteClass, '2-1')
        self.assertEqual(s[1].forteClass, '2-5')
        self.assertEqual(s[2].forteClass, '2-4')
        self.assertEqual(s[3].forteClass, '2-2')
        self.assertEqual(s[4].forteClass, '2-5')

        for c in s.getElementsByClass('Chord'):
            # first pitch is higher than second
            self.assertEqual(c.pitches[0].ps > c.pitches[1].ps, True)
示例#3
0
    def test_Ch6_basic_I_B(self, *arguments, **keywords):
        pitches = ['g3', 'e3', 'd3', 'c3', 'g3']
        # these are generic intervals
        intervals = [-7, -5, -3, -2, -4]
    
        s = stream.Stream()
        for i, p in enumerate(pitches):
            p = pitch.Pitch(p) # convert string to obj
            iObj = interval.Interval(
                # convert generic to chromatic
                interval.convertGenericToSemitone(intervals[i])) 
            c = chord.Chord([p, p.transpose(iObj)], type='whole')
            s.append(c)

        if 'show' in keywords.keys() and keywords['show']:
            s.show()    

        self.assertEqual(len(s), 5)
        self.assertEqual(s[0].forteClass, '2-1')
        self.assertEqual(s[1].forteClass, '2-5')
        self.assertEqual(s[2].forteClass, '2-4')
        self.assertEqual(s[3].forteClass, '2-2')
        self.assertEqual(s[4].forteClass, '2-5')

        for c in s.getElementsByClass('Chord'):
            # first pitch is higher than second
            self.assertEqual(c.pitches[0].ps > c.pitches[1].ps, True)
示例#4
0
    def test_Ch6_basic_I_A(self, *arguments, **keywords):
        '''p55
        Write a whole note on the specified generic interval. Do not add sharps or flats. 
        '''
        # note: sharps and flats are still being added: need generic transposition or scale-based approach
        pitches = ['d4', 'f4', 'e4', 'c4', 'a4']
        # these are generic intervals
        intervals = [2, 5, 3, 7, 4]

        s = stream.Stream()
        for i, p in enumerate(pitches):
            p = pitch.Pitch(p)  # convert string to obj
            iObj = interval.Interval(
                # convert generic to chromatic
                interval.convertGenericToSemitone(intervals[i]))
            c = chord.Chord([p, p.transpose(iObj)], type='whole')

            s.append(c)

        if 'show' in keywords.keys() and keywords['show']:
            s.show()

        self.assertEqual(len(s), 5)
        self.assertEqual(s[0].forteClass, '2-2')
        self.assertEqual(s[1].forteClass, '2-5')
        self.assertEqual(s[2].forteClass, '2-4')
        self.assertEqual(s[3].forteClass, '2-1')
        self.assertEqual(s[4].forteClass, '2-5')
示例#5
0
    def test_Ch6_basic_I_A(self, *arguments, **keywords):
        '''p55
        Write a whole note on the specified generic interval. Do not add sharps or flats. 
        '''
        # note: sharps and flats are still being added: need generic transposition or scale-based approach
        pitches = ['d4', 'f4', 'e4', 'c4', 'a4']
        # these are generic intervals
        intervals = [2, 5, 3, 7, 4]
    
        s = stream.Stream()
        for i, p in enumerate(pitches):
            p = pitch.Pitch(p) # convert string to obj
            iObj = interval.Interval(
                # convert generic to chromatic
                interval.convertGenericToSemitone(intervals[i])) 
            c = chord.Chord([p, p.transpose(iObj)], type='whole')
        
            s.append(c)

        if 'show' in keywords.keys() and keywords['show']:
            s.show()    

        self.assertEqual(len(s), 5)
        self.assertEqual(s[0].forteClass, '2-2')
        self.assertEqual(s[1].forteClass, '2-5')
        self.assertEqual(s[2].forteClass, '2-4')
        self.assertEqual(s[3].forteClass, '2-1')
        self.assertEqual(s[4].forteClass, '2-5')