Dear Elie khoury,
Thank you very much for your earliest response.
I am using "xbob.spkrec-master.zip" filelist.
I observed that it generates ouput after energy detector in the same folder of ".sph" files.
After that it calls "extract_features" in xbob/spkrec/toolchain/ToolChain.py from xbob/spkrec/script/spkverif_isv.py ==> "self.m_tool_chain.extract_features".
In "extract_features" [xbob/spkrec/toolchain/ToolChain.py]
it does not call "feature = extractor(wav_file, vad_file)".
Since it reads "*.hdf5" file generated by energy detector as "feature_file".
Though
print("extract %d features from wav directory %s to directory %s" %(len(index_range), self.m_file_selector.m_config.wav_input_dir, self.m_file_selector.m_config.features_dir))
line prints
"extract 1 features from wav directory ./2004SPH to directory ./TEMP/lfcc/features"
Now if I forced it to call "feature = extractor(wav_file, vad_file)".
It generates the feature and overwrite the ".hdf5" (generated by energy detector) (directory: ./2004SPH).
As per command line option " --user-directory ./spkr --temp-directory ./TEMP" remains empty (without features).
Therefore next step does not get the features and gives error.
My config files are as follows:
1. config/database/2004.py
=======================
#!/usr/bin/env python
import xbob.db.verification.filelist
# 0/ The database to use
name = '2004'
db = xbob.db.verification.filelist.Database('./protocols/2004/')
protocol = None
# directory where the wave files are stored
wav_input_dir = './2004SPH'
wav_input_ext = '.sph'
2. config/features/lfcc_60.py
=========================
#!/usr/bin/env python
import xbob.spkrec
import numpy
feature_extractor = xbob.spkrec.feature_extraction.Cepstral
# Cepstral parameters
win_length_ms = 20
win_shift_ms = 10
n_filters = 24
dct_norm = False
f_min = 0.0
f_max = 4000
delta_win = 2
mel_scale = False
withEnergy = True
withDelta = True
withDeltaDelta = True
withDeltaEnergy = True
withDeltaDeltaEnergy = True
n_ceps = 19 # 0-->18
pre_emphasis_coef = 0.95
energy_mask = n_ceps # 19
features_mask = numpy.arange(0,60) # Cepstral features + Energy + 1st and 2nd derivatives
normalizeFeatures = True # Normalization
3.config/preprocessing/energy.py
=============================
#!/usr/bin/env python
import xbob.spkrec
preprocessor = xbob.spkrec.preprocessing.Energy
# Cepstral parameters
win_length_ms = 20
win_shift_ms = 10
# VAD parameters
alpha = 2
max_iterations = 10
smoothing_window = 10 # This corresponds to 100ms