MTG / essentia

C++ library for audio and music analysis, description and synthesis, including Python bindings
http://essentia.upf.edu
GNU Affero General Public License v3.0
2.83k stars 530 forks source link

AttributeError: 'module' object has no attribute 'MonoLoader' #676

Closed sampollard closed 3 years ago

sampollard commented 6 years ago

Hello,

I am trying to build essentia from source since I do not have sudo permission on the machine I'm running. I've tried to satisfy the necessary dependencies. Here is the output of ./waf configure --prefix=$HOME/.local

{0}15:42:42[talapas-ln1:essentia]$ ./waf configure --prefix=$HOME/.local
Setting top to                           : /gpfs/home/spollard/local/essentia
Setting out to                           : /gpfs/home/spollard/local/essentia/build
→ configuring the project in /gpfs/home/spollard/local/essentia
→ Building in release mode
Checking for 'g++' (c++ compiler)        : /usr/bin/g++
Checking for 'gcc' (c compiler)          : /usr/bin/gcc
Checking for program pkg-config          : /usr/bin/pkg-config
Checking for 'libavcodec' >= 55.34.1     : yes
Checking for 'libavformat'               : yes
Checking for 'libavutil'                 : yes
Checking for 'libavresample'             : yes
Checking for 'samplerate'                : yes
Checking for 'taglib' >= 1.9             : not found
Checking for 'yaml-0.1'                  : not found
Checking for 'fftw3f'                    : yes
================================ CONFIGURATION SUMMARY ================================
- using FFTW for FFT

- fftw detected!
- FFmpeg / libav detected!
- libsamplerate (SRC) detected!
  The following algorithms will be included: ['MonoLoader', 'Resample', 'AudioWriter', 'EasyLoader', 'MonoWriter', 'EqloudLoader', 'AudioLoader']

- TagLib seems to be missing.
  The following algorithms will be ignored: ['MetadataReader']

- libyaml seems to be missing.
  The following algorithms will be ignored: ['YamlInput', 'YamlOutput']

- Essentia is configured without Gaia2.
  The following algorithms will be ignored: ['GaiaTransform']
  Examples requiring Gaia2 will be ignored

Building all the algorithms
Ignoring the following algorithms: GaiaTransform, YamlInput, MetadataReader, IFFTA, FFTK, IFFTK, YamlOutput, FFTA
Created algorithms registration file
=======================================================================================

Followed by ./waf build and ./waf install. I am able to import essentia and essentia.standard, but I cannot find any AudioLoader methods. Here's the output:

>>> dir(essentia.standard)
['AfterMaxToBeforeMaxEnergyRatio', 'AllPass', 'AudioOnsetsMarker', 'AutoCorrelation', 'BPF', 'BandPass', 'BandReject', 'BarkBands', 'BeatTrackerDegara', 'BeatTrackerMultiFeature', 'Beatogram', 'BeatsLoudness', 'BinaryOperator', 'BinaryOperatorStream', 'BpmHistogram', 'BpmHistogramDescriptors', 'BpmRubato', 'CartesianToPolar', 'CentralMoments', 'Centroid', 'ChordsDescriptors', 'ChordsDetection', 'ChordsDetectionBeats', 'Chromagram', 'Clipper', 'ConstantQ', 'Crest', 'CrossCorrelation', 'CubicSpline', 'DCRemoval', 'DCT', 'Danceability', 'Decrease', 'Derivative', 'DerivativeSFX', 'Dissonance', 'DistributionShape', 'Duration', 'DynamicComplexity', 'ERBBands', 'EffectiveDuration', 'Energy', 'EnergyBand', 'EnergyBandRatio', 'Entropy', 'Envelope', 'EqualLoudness', 'Extractor', 'FFT', 'FFTC', 'FadeDetection', 'Flatness', 'FlatnessDB', 'FlatnessSFX', 'Flux', 'FrameCutter', 'FrameGenerator', 'FrameToReal', 'FrequencyBands', 'GFCC', 'GeometricMean', 'HFC', 'HPCP', 'HarmonicBpm', 'HarmonicMask', 'HarmonicModelAnal', 'HarmonicPeaks', 'HighPass', 'HighResolutionFeatures', 'HprModelAnal', 'HpsModelAnal', 'IFFT', 'IIR', 'Inharmonicity', 'InstantPower', 'Intensity', 'Key', 'KeyExtractor', 'LPC', 'Larm', 'Leq', 'LevelExtractor', 'LogAttackTime', 'LoopBpmConfidence', 'LoopBpmEstimator', 'Loudness', 'LoudnessEBUR128', 'LoudnessVickers', 'LowLevelSpectralEqloudExtractor', 'LowLevelSpectralExtractor', 'LowPass', 'MFCC', 'Magnitude', 'MaxFilter', 'MaxMagFreq', 'MaxToTotal', 'Mean', 'Median', 'MelBands', 'Meter', 'MinToTotal', 'MonoMixer', 'MovingAverage', 'MultiPitchKlapuri', 'MultiPitchMelodia', 'Multiplexer', 'NoiseAdder', 'NoveltyCurve', 'NoveltyCurveFixedBpmEstimator', 'OddToEvenHarmonicEnergyRatio', 'OnsetDetection', 'OnsetDetectionGlobal', 'OnsetRate', 'Onsets', 'OverlapAdd', 'PCA', 'Panning', 'PeakDetection', 'PercivalBpmEstimator', 'PercivalEnhanceHarmonics', 'PercivalEvaluatePulseTrains', 'PitchContourSegmentation', 'PitchContours', 'PitchContoursMelody', 'PitchContoursMonoMelody', 'PitchContoursMultiMelody', 'PitchFilter', 'PitchMelodia', 'PitchSalience', 'PitchSalienceFunction', 'PitchSalienceFunctionPeaks', 'PitchYin', 'PitchYinFFT', 'PolarToCartesian', 'PoolAggregator', 'PowerMean', 'PowerSpectrum', 'PredominantPitchMelodia', 'RMS', 'RawMoments', 'ReplayGain', 'ResampleFFT', 'RhythmDescriptors', 'RhythmExtractor', 'RhythmExtractor2013', 'RhythmTransform', 'RollOff', 'SBic', 'Scale', 'SilenceRate', 'SineModelAnal', 'SineModelSynth', 'SineSubtraction', 'SingleBeatLoudness', 'SingleGaussian', 'Slicer', 'SpectralCentroidTime', 'SpectralComplexity', 'SpectralContrast', 'SpectralPeaks', 'SpectralWhitening', 'Spectrum', 'Spline', 'SprModelAnal', 'SprModelSynth', 'SpsModelAnal', 'SpsModelSynth', 'StartStopSilence', 'StereoDemuxer', 'StochasticModelAnal', 'StochasticModelSynth', 'StrongDecay', 'StrongPeak', 'SuperFluxExtractor', 'SuperFluxNovelty', 'SuperFluxPeaks', 'TCToTotal', 'TempoScaleBands', 'TempoTap', 'TempoTapDegara', 'TempoTapMaxAgreement', 'TempoTapTicks', 'TonalExtractor', 'TonicIndianArtMusic', 'TriangularBands', 'Trimmer', 'Tristimulus', 'TuningFrequency', 'TuningFrequencyExtractor', 'UnaryOperator', 'UnaryOperatorStream', 'Variance', 'Vibrato', 'WarpedAutoCorrelation', 'Windowing', 'ZeroCrossingRate', '__builtins__', '__doc__', '__file__', '__name__', '__package__', '_c', '_create_essentia_class', '_create_python_algorithms', '_essentia', '_reloadAlgorithms', '_sys', 'algorithmInfo', 'algorithmNames', 'essentia']

EDIT: It appears the essentia shared object file doesn't contain AudioLoader: nm -D _essentia.so | grep AudioLoader returns nothing.

dbogdanov commented 3 years ago

Probably outdated. Re-open again, if necessary, after installing from the latest master.