msaf/base.py
def features(self):
        """This getter will compute the actual features if they haven't
        been computed yet.

        Returns
        -------
        features: np.array
            The actual features. Each row corresponds to a feature vector.
        """
        # Compute features if needed
        if self._features is None:
            try:
                self.read_features()
            except (NoFeaturesFileError, FeaturesNotFound,
                    WrongFeaturesFormatError, FeatureParamsError) as e:
                try:
                    self._compute_all_features()
                    self.write_features()
                except IOError:
                    if isinstance(e, FeaturesNotFound) or \
                            isinstance(e, FeatureParamsError):
                        msg = "Computation of the features is needed for " \
                            "current parameters but no audio file was found." \
                            "Please, change your parameters or add the audio" \
                            " file in %s"
                    else:
                        msg = "Couldn't find audio file in %s"
                    raise NoAudioFileError(msg % self.file_struct.audio_file)

        # Choose features based on type
        if self.feat_type is FeatureTypes.framesync:
            self._features = self._framesync_features
        elif self.feat_type is FeatureTypes.est_beatsync:
            self._features = self._est_beatsync_features
        elif self.feat_type is FeatureTypes.ann_beatsync:
            if self._ann_beatsync_features is None:
                raise FeatureTypeNotFound(
                    "Feature type %s is not valid because no annotated beats "
                    "were found" % self.feat_type)
            self._features = self._ann_beatsync_features
        else:
            raise FeatureTypeNotFound("Feature type %s is not valid." %
                                      self.feat_type)

        return self._features
def features(self):
        # Compute features if needed
        if self._features is None:
            try:
                self.read_features()
            except (NoFeaturesFileError, FeaturesNotFound,
                    WrongFeaturesFormatError, FeatureParamsError) as e:
                try:
                    self._compute_all_features()
                    self.write_features()
                except IOError:
                    if isinstance(e, FeaturesNotFound) or \
                            isinstance(e, FeatureParamsError):
                        msg = "Computation of the features is needed for " \
                            "current parameters but no audio file was found." \
                            "Please, change your parameters or add the audio" \
                            " file in %s"
                    else:
                        msg = "Couldn't find audio file in %s"
                    raise NoAudioFileError(msg % self.file_struct.audio_file)

        # Choose features based on type
        if self.feat_type is FeatureTypes.framesync:
            self._features = self._framesync_features
        elif self.feat_type is FeatureTypes.est_beatsync:
            self._features = self._est_beatsync_features
        elif self.feat_type is FeatureTypes.ann_beatsync:
            if self._ann_beatsync_features is None:
                raise FeatureTypeNotFound(
                    "Feature type %s is not valid because no annotated beats "
                    "were found" % self.feat_type)
            self._features = self._ann_beatsync_features
        else:
            raise FeatureTypeNotFound("Feature type %s is not valid." %
                                      self.feat_type)

        return self._features
def features ( self ) : # Compute features if needed if self . _features is None : try : self . read_features ( ) except ( NoFeaturesFileError , FeaturesNotFound , WrongFeaturesFormatError , FeatureParamsError ) as e : try : self . _compute_all_features ( ) self . write_features ( ) except IOError : if isinstance ( e , FeaturesNotFound ) or isinstance ( e , FeatureParamsError ) : msg = "Computation of the features is needed for " "current parameters but no audio file was found." "Please, change your parameters or add the audio" " file in %s" else : msg = "Couldn't find audio file in %s" raise NoAudioFileError ( msg % self . file_struct . audio_file ) # Choose features based on type if self . feat_type is FeatureTypes . framesync : self . _features = self . _framesync_features elif self . feat_type is FeatureTypes . est_beatsync : self . _features = self . _est_beatsync_features elif self . feat_type is FeatureTypes . ann_beatsync : if self . _ann_beatsync_features is None : raise FeatureTypeNotFound ( "Feature type %s is not valid because no annotated beats " "were found" % self . feat_type ) self . _features = self . _ann_beatsync_features else : raise FeatureTypeNotFound ( "Feature type %s is not valid." % self . feat_type ) return self . _features
This getter will compute the actual features if they haven't
        been computed yet.

        Returns
        -------
        features: np.array
            The actual features. Each row corresponds to a feature vector.
This getter will compute the actual features if they haven t been computed yet .