-
Notifications
You must be signed in to change notification settings - Fork 589
Description
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.pyContents 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.