Exemplo n.º 1
0
    def Synthesize(self):
        plot = 0;
        plt.gray()


        osc_1_l = [self.osc_1[0][0], self.osc_1[1][0], self.osc_1[2][0], self.osc_1[3][0], self.osc_1[4][0], self.osc_1[5][0], self.osc_1[6][0], self.osc_1[7][0]]
        osc_1_r = [self.osc_1[0][1], self.osc_1[1][1], self.osc_1[2][1], self.osc_1[3][1], self.osc_1[4][1], self.osc_1[5][1], self.osc_1[6][1], self.osc_1[7][1]]
        osc_2_l = [self.osc_2[0][0], self.osc_2[1][0], self.osc_2[2][0], self.osc_2[3][0], self.osc_2[4][0], self.osc_2[5][0], self.osc_2[6][0], self.osc_2[7][0]]
        osc_2_r = [self.osc_2[0][1], self.osc_2[1][1], self.osc_2[2][1], self.osc_2[3][1], self.osc_2[4][1], self.osc_2[5][1], self.osc_2[6][1], self.osc_2[7][1]]


        if self.Tom_Stat:
            for i in range(len(osc_1_l)):
                osc_1_l[i] = osc_1_l[i]*self.TomL
            for i in range(len(osc_1_r)):
                osc_1_r[i] = osc_1_r[i]*self.TomR
            print("success Tom Cruise enabled!")
            plot += 1;
            plt.figure(plot)
            plt.subplot(1,2,1)
            plt.imshow(self.osc_1[0][0])
            plt.title('Orignal Left Channel')
            plt.subplot(1,2,2)
            plt.imshow(osc_1_l[0])
            plt.title('Tom Cruise Left Channel')

        if self.Drake_Stat:
            for i in range(len(osc_1_l)):
                osc_1_l[i] = osc_1_l[i]*self.DrakeL
            for i in range(len(osc_1_r)):
                osc_1_r[i] = osc_1_r[i]*self.DrakeR
            print("success Drake enabled!")
            plot += 1;
            plt.figure(plot)
            plt.subplot(1,2,1)
            plt.imshow(self.osc_1[0][0])
            plt.title('Orignal Left Channel')
            plt.subplot(1,2,2)
            plt.imshow(osc_1_l[0])
            plt.title('Drake Left Channel')


        """filter bank"""


        if self.LFO1_stat:
            LFO1 = LFO(self.LFO1_rate)
            for i in range(len(osc_1_l)):
                osc_1_l[i] = np.multiply(LFO1.map_lfo[0], osc_1_l[i])
            for i in range(len(osc_1_r)):
                osc_1_r[i] = np.multiply(LFO1.map_lfo[1], osc_1_r[i])
            print("success LFO enabled!")
            plot += 1;
            plt.figure(plot)
            plt.subplot(1,2,1)
            plt.imshow(self.osc_1[0][0])
            plt.title('Orignal Left Channel')
            plt.subplot(1,2,2)
            plt.imshow(osc_1_l[0])
            plt.title('LFO on Left Channel')

        if self.W_Stat:
            for i in range(len(osc_1_l)):
                osc_1_l[i], osc_1_r[i] = Filters.wavelet_filter(osc_1_l[i], osc_1_r[i], self.W_Type);
            print("success Wavelet filtered!")
            plot += 1;
            plt.figure(plot)
            plt.subplot(1,2,1)
            plt.imshow(self.osc_1[0][0])
            plt.title('Orignal Left Channel')
            plt.subplot(1,2,2)
            plt.imshow(osc_1_l[0])
            plt.title('Wavelet on Left Channel')


        if self.Gab_Stat:
            for i in range(len(osc_1_l)):
                osc_1_l[i], osc_1_r[i] = Filters.gabor_filter(osc_1_l[i], osc_1_r[i], self.Gab_Deg);
            print("success Gabor filtered!")
            plot += 1;
            plt.figure(plot)
            plt.subplot(1,2,1)
            plt.imshow(self.osc_1[0][0])
            plt.title('Orignal Left Channel')
            plt.subplot(1,2,2)
            gab_im = self.osc_1[0][0]-osc_1_l[0]
            plt.imshow(osc_1_l[0])
            plt.title('Gabor on Left Channel')

        if self.JPEG_Stat:
            for i in range(len(osc_1_l)):
                osc_1_l[i], osc_1_r[i] = Filters.jpeg_decompose(osc_1_l[i], osc_1_r[i], 100);
            print("success JPEG decomposed!")
            plot += 1;
            plt.figure(plot)
            plt.subplot(1,2,1)
            plt.imshow(self.osc_1[0][0])
            plt.title('Orignal Left Channel')
            plt.subplot(1,2,2)
            plt.imshow(osc_1_l[0])
            plt.title('JPEG on Left Channel')

        if self.Bilateral_Stat:
            for i in range(len(osc_1_l)):
                osc_1_l[i], osc_1_r[i] = Filters.bilateral_filter(osc_1_l[i], osc_1_r[i], 3, 25, 25);
            print("success Bilaterial filtered!")
            plot += 1;
            plt.figure(plot)
            plt.subplot(1,2,1)
            plt.imshow(self.osc_1[0][0])
            plt.title('Orignal Left Channel')
            plt.subplot(1,2,2)
            plt.imshow(osc_1_l[0])
            plt.title('Denoise/Smoothing on Left Channel')


        plt.show()

        """recombine"""
        self.osc_1 = [[osc_1_l[0], osc_1_r[0]], [osc_1_l[1], osc_1_r[1]],[osc_1_l[2], osc_1_r[2]],[osc_1_l[3], osc_1_r[3]],[osc_1_l[4], osc_1_r[4]],[osc_1_l[5], osc_1_r[5]], [osc_1_l[6], osc_1_r[6]], [osc_1_l[7], osc_1_r[7]]]


        return self.osc_1