Example #1
0
 def cqt_nsg(self, frame_size=4096):
     """
     invertible CQT algorithm based on Non-Stationary Gabor frames
     https://mtg.github.io/essentia-labs//news/2019/02/07/invertible-constant-q/
     https://essentia.upf.edu/documentation/reference/std_NSGConstantQ.html
     """
     import essentia.pytools.spectral as epy
     cq_frames, dc_frames, nb_frames = epy.nsgcqgram(self.audio_vector, frameSize=frame_size)
     return cq_frames
Example #2
0
    def cqt_nsg(self,
                frame_size=4096,
                transitionSize=1024,
                minFrequency=65.41,
                maxFrequency=6000,
                binsPerOctave=48,
                rasterize='full',
                phaseMode='global',
                gamma=0,
                normalize='none',
                window='hannnsgcq',
                params=None):
        """
        invertible CQT algorithm based on Non-Stationary Gabor frames
        https://mtg.github.io/essentia-labs//news/2019/02/07/invertible-constant-q/
        https://essentia.upf.edu/documentation/reference/std_NSGConstantQ.html
        """
        import essentia.pytools.spectral as epy

        if params is not None:
            if 'frame_size' in params.keys():
                frame_size = params['frame_size']
            if 'transitionSize' in params.keys():
                transitionSize = params['transitionSize']
            if 'minFrequency' in params.keys():
                minFrequency = params['minFrequency']
            if 'maxFrequency' in params.keys():
                maxFrequency = params['maxFrequency']
            if 'binsPerOctave' in params.keys():
                binsPerOctave = params['binsPerOctave']
            if 'rasterize' in params.keys():
                rasterize = params['rasterize']
            if 'phaseMode' in params.keys():
                phaseMode = params['phaseMode']
            if 'gamma' in params.keys():
                gamma = params['gamma']
            if 'normalize' in params.keys():
                normalize = params['normalize']
            if 'window' in params.keys():
                window = params['window']

        cq_frames, dc_frames, nb_frames = epy.nsgcqgram(
            self.audio_vector,
            sampleRate=self.fs,
            frameSize=frame_size,
            transitionSize=transitionSize,
            minFrequency=minFrequency,
            maxFrequency=maxFrequency,
            binsPerOctave=binsPerOctave,
            rasterize=rasterize,
            phaseMode=phaseMode,
            gamma=gamma,
            normalize=normalize,
            window=window)
        return cq_frames