Essentia: how to use essentia in mobile apps for iOS and android

Created on 25 Feb 2016  路  7Comments  路  Source: MTG/essentia

how to use essentia in mobile apps for iOS and android ? anybody can give a demo, thanks!

Most helpful comment

@dbogdanov How to can run this script Android, can you please provide the tutorial to setup before run this script. Thank.

All 7 comments

You can cross-compile the library for Android and iOS.

Can you please provide some quick tutorial-like steps on how to create helloworld example to use essentia on iOS? Something like:

  1. ./waf configure --cross-compile-ios --lightweight= --fft=ACCELERATE --build-static
  2. ./waf (The static executables will be in the build/src/examples folder - if i'm correct)
  3. in a new iOS project, add these lines: .... or drag and drop these files...
  4. Run the iOS app.
    I've been trying to get this work but am stuck in step 2.
    Thanks so much in advance!

@xjefftang what is your problem on step 2?

@dbogdanov How to can run this script Android, can you please provide the tutorial to setup before run this script. Thank.

@dbogdanov I followed the instructions and used ./waf configure --cross-compile-ios --lightweight= --fft=ACCELERATE --build-static but that fails. This is what config.log contains:

Checking for 'eigen3'
['/usr/local/bin/pkg-config', 'eigen3 >= 3.3.4', '--cflags', '--libs', 'eigen3']
err: Package eigen3 was not found in the pkg-config search path.
Perhaps you should add the directory containing `eigen3.pc'
to the PKG_CONFIG_PATH environment variable
No package 'eigen3' found
Package eigen3 was not found in the pkg-config search path.
Perhaps you should add the directory containing `eigen3.pc'
to the PKG_CONFIG_PATH environment variable
No package 'eigen3' found

@dbogdanov fixed by running brew install eigen

Hmm now I get issues with dependencies not being found. I have done the following steps:
export PATH=/usr/local/bin:/usr/local/sbin:$PATH
brew install pkg-config gcc readline sqlite gdbm freetype libpng
brew install eigen libyaml fftw ffmpeg libsamplerate libtag tensorflow

================================ CONFIGURATION SUMMARY ================================
- using Accelerate Framework for FFT

- FFmpeg (or LibAv on debian/ubuntu) seems to be missing.
  The following algorithms will be ignored: ['AudioLoader', 'MonoLoader', 'EqloudLoader', 'EasyLoader', 'MonoWriter', 'AudioWriter']

- libsamplerate seems to be missing.
  The following algorithms will be ignored: ['Resample', 'MonoLoader', 'EqloudLoader', 'EasyLoader']

  Examples requiring FFmpeg / libav and libsamplerate will be ignored

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

- 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', 'MusicExtractorSVM']
  Examples requiring Gaia2 will be ignored

- Essentia is configured without Chromaprint.
  The following algorithms will be ignored: ['Chromaprinter']
- Essentia is configured without Tensorflow.
  The following algorithms will be ignored: ['TensorflowPredict', 'TensorflowPredictMusiCNN', 'TensorflowPredictVGGish']
Building all the algorithms
Ignoring the following algorithms: Chromaprinter, AudioLoader, IFFTWComplex, EasyLoader, GaiaTransform, MonoLoader, Resample, AudioWriter, MusicExtractor, MonoWriter, EqloudLoader, IFFTKComplex, YamlOutput, MusicExtractorSVM, MetadataReader, TensorflowPredict, TensorflowPredictMusiCNN, FreesoundExtractor, TensorflowPredictVGGish, YamlInput, IFFTW, FFTW, FFTK, FFTKComplex, IFFTK, FFTWComplex
Created algorithms registration file
Was this page helpful?
0 / 5 - 0 ratings

Related issues

aagnone3 picture aagnone3  路  3Comments

iOSzhangkai picture iOSzhangkai  路  24Comments

antlarr picture antlarr  路  13Comments

lajash picture lajash  路  25Comments

colonder picture colonder  路  7Comments