Skip to content

ModuleNotFoundError: No module named 'essentia.tensorflow' on macOS ARM (osx-arm64) via pip #1486

@andrelcbr

Description

@andrelcbr

Hello Essentia Team,

I am experiencing an issue where the essentia.tensorflow submodule cannot be found on a macOS ARM (Apple Silicon) machine, despite the essentia-tensorflow package being successfully installed via pip.

System Details:

  • OS: macOS (ARM / Apple Silicon)
  • Python: 3.11.13 (installed via Conda/conda-forge)
  • Essentia Version: 2.1-beta6-dev (installed via pip)
  • Essentia-Tensorflow Version: 2.1-beta6-dev (installed via pip)

Problem Description:
After installing both essentia and essentia-tensorflow in a clean conda environment, any attempt to import essentia.tensorflow results in a ModuleNotFoundError.

As a result, TensorFlow-dependent prediction algorithms like TensorflowPredictEffnetDiscogs are not available in the essentia.standard namespace. A diagnostic script confirmed this.

Diagnostic Output:

Python 3.11.13 | packaged by conda-forge | (main, Jun 4 2025, 14:52:34) [Clang 18.1.8 ]
Type "copyright", "credits" or "license" for more information.

IPython 8.37.0 -- An enhanced Interactive Python. Type '?' for help.

Restarting kernel...

%runfile '/Users/andrecarvalho/Documents/Músicas/Similaridade/similaridade v3/check essentia.py' --wdir
--- ESSENTIA MODULE DIAGNOSTICS ---
Essentia Version: 2.1-beta6-dev
Essentia Path: /opt/anaconda3/envs/env_similaridade/lib/python3.11/site-packages/essentia/init.py

Contents of 'essentia.standard':
['AfterMaxToBeforeMaxEnergyRatio', 'AllPass', 'Audio2Midi', 'Audio2Pitch', 'AudioLoader', 'AudioOnsetsMarker', 'AudioWriter', 'AutoCorrelation', 'BFCC', 'BPF', 'BandPass', 'BandReject', 'BarkBands', 'BeatTrackerDegara', 'BeatTrackerMultiFeature', 'Beatogram', 'BeatsLoudness', 'BinaryOperator', 'BinaryOperatorStream', 'BpmHistogram', 'BpmHistogramDescriptors', 'BpmRubato', 'CartesianToPolar', 'CentralMoments', 'Centroid', 'ChordsDescriptors', 'ChordsDetection', 'ChordsDetectionBeats', 'ChromaCrossSimilarity', 'Chromagram', 'Chromaprinter', 'ClickDetector', 'Clipper', 'ConstantQ', 'CoverSongSimilarity', 'Crest', 'CrossCorrelation', 'CrossSimilarityMatrix', 'CubicSpline', 'DCRemoval', 'DCT', 'Danceability', 'Decrease', 'Derivative', 'DerivativeSFX', 'DiscontinuityDetector', 'Dissonance', 'DistributionShape', 'Duration', 'DynamicComplexity', 'ERBBands', 'EasyLoader', 'EffectiveDuration', 'Energy', 'EnergyBand', 'EnergyBandRatio', 'Entropy', 'Envelope', 'EqloudLoader', 'EqualLoudness', 'Extractor', 'FFT', 'FFTC', 'FadeDetection', 'FalseStereoDetector', 'Flatness', 'FlatnessDB', 'FlatnessSFX', 'Flux', 'FrameBuffer', 'FrameCutter', 'FrameGenerator', 'FrameToReal', 'FreesoundExtractor', 'FrequencyBands', 'GFCC', 'GapsDetector', 'GeometricMean', 'HFC', 'HPCP', 'HarmonicBpm', 'HarmonicMask', 'HarmonicModelAnal', 'HarmonicPeaks', 'HighPass', 'HighResolutionFeatures', 'Histogram', 'HprModelAnal', 'HpsModelAnal', 'HumDetector', 'IDCT', 'IFFT', 'IFFTC', 'IIR', 'Inharmonicity', 'InstantPower', 'Intensity', 'Key', 'KeyExtractor', 'LPC', 'Larm', 'Leq', 'LevelExtractor', 'LogAttackTime', 'LogSpectrum', 'LoopBpmConfidence', 'LoopBpmEstimator', 'Loudness', 'LoudnessEBUR128', 'LoudnessVickers', 'LowLevelSpectralEqloudExtractor', 'LowLevelSpectralExtractor', 'LowPass', 'MFCC', 'Magnitude', 'MaxFilter', 'MaxMagFreq', 'MaxToTotal', 'Mean', 'Median', 'MedianFilter', 'MelBands', 'MetadataReader', 'Meter', 'MinMax', 'MinToTotal', 'MonoLoader', 'MonoMixer', 'MonoWriter', 'MovingAverage', 'MultiPitchKlapuri', 'MultiPitchMelodia', 'Multiplexer', 'MusicExtractor', 'NNLSChroma', 'NSGConstantQ', 'NSGIConstantQ', 'NoiseAdder', 'NoiseBurstDetector', 'NoveltyCurve', 'NoveltyCurveFixedBpmEstimator', 'OddToEvenHarmonicEnergyRatio', 'OnsetDetection', 'OnsetDetectionGlobal', 'OnsetRate', 'Onsets', 'OverlapAdd', 'PCA', 'Panning', 'PeakDetection', 'PercivalBpmEstimator', 'PercivalEnhanceHarmonics', 'PercivalEvaluatePulseTrains', 'Pitch2Midi', 'PitchContourSegmentation', 'PitchContours', 'PitchContoursMelody', 'PitchContoursMonoMelody', 'PitchContoursMultiMelody', 'PitchFilter', 'PitchMelodia', 'PitchSalience', 'PitchSalienceFunction', 'PitchSalienceFunctionPeaks', 'PitchYin', 'PitchYinFFT', 'PitchYinProbabilistic', 'PitchYinProbabilities', 'PitchYinProbabilitiesHMM', 'PolarToCartesian', 'PoolAggregator', 'PowerMean', 'PowerSpectrum', 'PredominantPitchMelodia', 'RMS', 'RawMoments', 'ReplayGain', 'Resample', 'ResampleFFT', 'RhythmDescriptors', 'RhythmExtractor', 'RhythmExtractor2013', 'RhythmTransform', 'RollOff', 'SBic', 'SNR', 'SaturationDetector', 'Scale', 'SilenceRate', 'SineModelAnal', 'SineModelSynth', 'SineSubtraction', 'SingleBeatLoudness', 'SingleGaussian', 'Slicer', 'SpectralCentroidTime', 'SpectralComplexity', 'SpectralContrast', 'SpectralPeaks', 'SpectralWhitening', 'Spectrum', 'SpectrumCQ', 'SpectrumToCent', 'Spline', 'SprModelAnal', 'SprModelSynth', 'SpsModelAnal', 'SpsModelSynth', 'StartStopCut', 'StartStopSilence', 'StereoDemuxer', 'StereoMuxer', 'StereoTrimmer', 'StochasticModelAnal', 'StochasticModelSynth', 'StrongDecay', 'StrongPeak', 'SuperFluxExtractor', 'SuperFluxNovelty', 'SuperFluxPeaks', 'TCToTotal', 'TempoScaleBands', 'TempoTap', 'TempoTapDegara', 'TempoTapMaxAgreement', 'TempoTapTicks', 'TensorNormalize', 'TensorTranspose', 'TensorflowInputFSDSINet', 'TensorflowInputMusiCNN', 'TensorflowInputTempoCNN', 'TensorflowInputVGGish', 'TonalExtractor', 'TonicIndianArtMusic', 'TriangularBands', 'TriangularBarkBands', 'Trimmer', 'Tristimulus', 'TruePeakDetector', 'TuningFrequency', 'TuningFrequencyExtractor', 'UnaryOperator', 'UnaryOperatorStream', 'Variance', 'Vibrato', 'Viterbi', 'WarpedAutoCorrelation', 'Welch', 'Windowing', 'YamlInput', 'YamlOutput', 'ZeroCrossingRate', 'algorithmInfo', 'algorithmNames', 'copy', 'essentia', 'iteritems']

Attempting to import essentia.tensorflow directly...
FAILURE: No module named 'essentia.tensorflow'

Python is searching for modules in the following paths:
/opt/anaconda3/envs/env_similaridade/lib/python311.zip
/opt/anaconda3/envs/env_similaridade/lib/python3.11
/opt/anaconda3/envs/env_similaridade/lib/python3.11/lib-dynload

/opt/anaconda3/envs/env_similaridade/lib/python3.11/site-packages

VERDICT: The algorithm 'TensorflowPredictEffnetDiscogs' WAS NOT FOUND in essentia.standard.

This seems to indicate that the PyPI wheel for essentia-tensorflow on the osx-arm64 platform may be missing files or is not structured correctly for Python's import system to find the submodule.

Thank you for looking into this.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions