# -*- coding: utf-8 -*-
+# ----- Load external libraries ------
+# Aubio
+try:
+ WITH_AUBIO = True
+ from aubio_temporal import AubioTemporal
+ from aubio_pitch import AubioPitch
+ from aubio_mfcc import *
+ from aubio_melenergy import *
+ from aubio_specdesc import *
+except ImportError:
+ WITH_AUBIO = False
+
+# Yaafe
+try:
+ WITH_YAAFE = True
+ from yaafe import *
+
+except ImportError:
+ WITH_YAAFE = False
+
+# Vamp Plugins
+try:
+ from vamp_plugin import VampSimpleHost
+ VampSimpleHost.SimpleHostProcess(['-v'])
+ WITH_VAMP = True
+except OSError:
+ WITH_VAMP = False
+
+
+# ----- Load timeside analyzers ------
from level import Level
from dc import MeanDCShift
-from aubio_temporal import AubioTemporal
-from aubio_pitch import AubioPitch
-from aubio_mfcc import *
-from aubio_melenergy import *
-from aubio_specdesc import *
-from yaafe import *
from spectrogram import Spectrogram
from waveform import Waveform
-from vamp_plugin import VampSimpleHost
from irit_speech_entropy import IRITSpeechEntropy
from irit_speech_4hz import IRITSpeech4Hz
from odf import OnsetDetectionFunction
-from limsi_sad import LimsiSad
+if WITH_YAAFE:
+ from limsi_sad import LimsiSad
from timeside.analyzer.core import Analyzer
from timeside.api import IAnalyzer
import timeside
-from yaafe import Yaafe
-import yaafelib
+from timeside.analyzer import WITH_YAAFE
+if WITH_YAAFE:
+ from yaafe import Yaafe
+ import yaafelib
import numpy as N
import pickle
import os.path