├── .gitignore ├── AuditoryToolbox ├── AuditoryToolboxTechReport.pdf ├── CorrelogramArray.m ├── CorrelogramFrame.m ├── CorrelogramMovie.m ├── CorrelogramPitch.m ├── DesignLyonFilters.m ├── ERBFilterBank.m ├── ERBSpace.m ├── EpsilonFromTauFS.m ├── FMPoints.m ├── FreqResp.m ├── LyonPassiveEar.m ├── MakeERBFilters.m ├── MakeVowel.m ├── MeddisHairCell.m ├── README ├── SecondOrderFilter.m ├── SeneffEar.m ├── SeneffEarSetup.m ├── SetGain.m ├── WhiteVowel.m ├── agc.dll ├── agc.mex ├── agc.mex.bin ├── agc.mexsg ├── agc.mexsg64 ├── agc.mexsol ├── agc.o ├── contents.m ├── dtw.mex ├── dtw.mexlx ├── dtw.mexsg ├── dtw.mexsg64 ├── dtw.mexsol ├── dtw.o ├── inverseagc.dll ├── inverseagc.mex.bin ├── inverseagc.mexsg ├── inverseagc.mexsg64 ├── inverseagc.mexsol ├── invsoscascade.dll ├── invsoscascade.mex ├── invsoscascade.mex.bin ├── invsoscascade.mexsg ├── invsoscascade.mexsg64 ├── invsoscascade.mexsol ├── invsoscascade.o ├── mfcc.m ├── proclpc.m ├── rasta.m ├── soscascade.dll ├── soscascade.mex ├── soscascade.mex.bin ├── soscascade.mexsg ├── soscascade.mexsg64 ├── soscascade.mexsol ├── soscascade.o ├── sosfilters.dll ├── sosfilters.mex ├── sosfilters.mex.bin ├── sosfilters.mexsg ├── sosfilters.mexsg64 ├── sosfilters.mexsol ├── sosfilters.o ├── spectrogram.m ├── src │ ├── Makefile │ ├── Makefile.m │ ├── agc.c │ ├── agc.mex │ ├── agc.o │ ├── dtw.c │ ├── dtw.mex │ ├── dtw.o │ ├── invsoscascade.c │ ├── invsoscascade.mex │ ├── invsoscascade.o │ ├── soscascade.c │ ├── soscascade.mex │ ├── soscascade.o │ ├── sosfilters.c │ ├── sosfilters.mex │ └── sosfilters.o ├── synlpc.m ├── tapestry.wav └── test_auditory.m ├── README.md ├── amtoolbox ├── COPYING ├── Contents.m ├── INSTALL ├── amtbasepath.m ├── amthelp.m ├── amtmex.m ├── amtoolbox_version ├── amtredofile.m ├── amtstart.m ├── binaural │ ├── Contents.m │ ├── binauralinit.m │ ├── breebaart2001preproc.m │ ├── dietz2011.m │ ├── dietz2011interauralfunctions.m │ ├── estimate_azimuth.m │ ├── lindcentroid.m │ ├── lindemann1986.m │ ├── may2011.m │ ├── plotlindemann1986.m │ ├── plotziegelwanger2013.m │ ├── takanen2013.m │ ├── ziegelwanger2013.m │ ├── ziegelwanger2013offaxis.m │ └── ziegelwanger2013onaxis.m ├── breebart │ └── RunModel.m ├── comp │ ├── arg_absolutethreshold.m │ ├── arg_adaptloop.m │ ├── arg_amtredofile.m │ ├── arg_auditoryfilterbank.m │ ├── arg_drnl.m │ ├── arg_eicell.m │ ├── arg_ihcenvelope.m │ ├── arg_langendijkcomp.m │ ├── arg_lindemann1986bincorr.m │ ├── comp_adaptloop.m │ ├── compinit.m │ └── progressbar.m ├── demos │ ├── Contents.m │ ├── demo_absolutethreshold.m │ ├── demo_adaptloop.m │ ├── demo_baumgartner2013.m │ ├── demo_drnl.m │ ├── demo_hohmannfilterbank.m │ ├── demo_lindemann1986.m │ ├── demo_may2011.m │ ├── demo_takanen2013.m │ ├── demo_transposedtone.m │ ├── demosinit.m │ └── poly_lookup.mat ├── doc │ ├── HRTF format description.odt │ ├── HRTF format meta data.ods │ ├── LangendijkDoc.odt │ └── modelstatus.lyx ├── experiments │ ├── Contents.m │ ├── azi_lookup_4.mat │ ├── exp_baumgartner2013.m │ ├── exp_dietz2011.m │ ├── exp_enzner2008.m │ ├── exp_georganti2013.m │ ├── exp_jelfs2011.m │ ├── exp_joergensen2011.m │ ├── exp_langendijk2002.m │ ├── exp_lindemann1986.m │ ├── exp_lindemann1986a_fig10.mat │ ├── exp_lindemann1986a_fig11.mat │ ├── exp_lindemann1986a_fig12.mat │ ├── exp_lindemann1986a_fig13.mat │ ├── exp_lindemann1986a_fig14a.mat │ ├── exp_lindemann1986a_fig14b.mat │ ├── exp_lindemann1986a_fig15.mat │ ├── exp_lindemann1986a_fig16.mat │ ├── exp_lindemann1986a_fig17.mat │ ├── exp_lindemann1986a_fig18.mat │ ├── exp_lindemann1986a_fig6.mat │ ├── exp_lindemann1986a_fig7.mat │ ├── exp_lindemann1986a_fig8.mat │ ├── exp_lopezpoveda2001.m │ ├── exp_roenne2012.m │ ├── exp_roenne2012_fig5.mat │ ├── exp_roenne2012_fig6.mat │ ├── exp_roenne2012_fig7.mat │ ├── exp_spille2013.m │ ├── exp_takanen2013.m │ ├── exp_ziegelwanger2013.m │ └── experimentsinit.m ├── filters │ ├── Contents.m │ ├── Example_Filter.m │ ├── Example_Synthesis.m │ ├── cqdft.m │ ├── filterbank_block.m │ ├── filterbank_init.m │ ├── filterbankz.m │ ├── filtersinit.m │ ├── gammatone.m │ ├── gfb_analyzer_clear_state.m │ ├── gfb_analyzer_new.m │ ├── gfb_analyzer_process.m │ ├── gfb_analyzer_zresponse.m │ ├── gfb_delay_clear_state.m │ ├── gfb_delay_new.m │ ├── gfb_delay_process.m │ ├── gfb_filter_clear_state.m │ ├── gfb_filter_new.m │ ├── gfb_filter_process.m │ ├── gfb_filter_zresponse.m │ ├── gfb_hohmann │ │ ├── Gfb_Analyzer_fprocess.c │ │ ├── Gfb_analyze.c │ │ ├── Gfb_analyze.h │ │ ├── README.txt │ │ ├── README_examples.txt │ │ └── README_implementation.txt │ ├── gfb_mixer_new.m │ ├── gfb_mixer_process.m │ ├── gfb_set_constants.m │ ├── gfb_synthesizer_clear_state.m │ ├── gfb_synthesizer_new.m │ ├── gfb_synthesizer_process.m │ ├── may2011gammatone.m │ ├── may2011gammatoneinit.m │ ├── obsolete │ │ └── gfb_center_frequencies.m │ ├── thirdoctrmsanalysis24.m │ ├── ufilterbankz.m │ └── weightedaveragefilter.m ├── general │ ├── Contents.m │ ├── audspecgram.m │ ├── dbspl.m │ ├── generalinit.m │ ├── itd2angle.m │ ├── joergensen2011multchansnrenv.m │ ├── joergensen2011overlapadd3.m │ ├── joergensen2011specsub.m │ ├── modspecgram.m │ ├── setdbspl.m │ ├── sph2horpolar.m │ └── stmodspecgram.m ├── gpl-3.0.txt ├── hrtf │ ├── Contents.m │ ├── enzner2008.m │ ├── extractsp.m │ ├── hrtf_M_langendijk2002 P3.mat │ ├── hrtf_M_langendijk2002 P6.mat │ ├── hrtfinit.m │ └── read_hrir.m ├── humandata │ ├── Contents.m │ ├── absolutethreshold.m │ ├── data_baumgartner2013.m │ ├── data_dietz2011.m │ ├── data_elberling2010.m │ ├── data_glasberg1990.m │ ├── data_goode1994.m │ ├── data_harte2009.m │ ├── data_joergensen2011.m │ ├── data_langendijk2002.m │ ├── data_lindemann1986.m │ ├── data_lopezpoveda2001.m │ ├── data_neely1988.m │ ├── data_pralong1996.m │ ├── data_roenne2012.m │ ├── data_takanen2013.m │ ├── data_ziegelwanger2013.m │ ├── data_zwicker1961.m │ ├── humandatainit.m │ ├── langendijk2002-P3.mat │ ├── langendijk2002-P6.mat │ ├── roenne2012_elberling2010stim.mat │ ├── roenne2012_harte2009stim.mat │ ├── siiweightings.m │ ├── speechpercentcorrect.m │ ├── spille2013_s123456.wav │ ├── takanen2013_cochleardelays.mat │ ├── takanen2013_lookuptable.mat │ ├── takanen2013_msolimits.mat │ ├── takanen2013_onsetmultp.mat │ ├── takanen2013_periphenergyaverages.mat │ ├── takanen2013_wbmsomultp.mat │ └── ur.mat ├── mex │ ├── comp_adaptloop.c │ ├── comp_meddishaircell.c │ ├── comp_zilany2007humanized.c │ ├── gammatoneMEX.cpp │ └── mexinit.m ├── modelstages │ ├── Contents.m │ ├── adaptloop.m │ ├── adaptloop_init.m │ ├── adaptloop_run.m │ ├── auditoryfilterbank.m │ ├── caspmdecide.m │ ├── casptemplate.m │ ├── culling2005bmld.m │ ├── drnl.m │ ├── eicell.m │ ├── headphonefilter.m │ ├── ihcenvelope.m │ ├── itd2azimuth.m │ ├── langendijkcomp.m │ ├── lindemann1986bincorr.m │ ├── lookup_table.m │ ├── may2011neuraltransduction.m │ ├── mfc.m │ ├── mfc2.m │ ├── middleearfilter.m │ ├── modelstagesinit.m │ ├── modfilterbank.m │ ├── modfilterbankepsm.m │ ├── optimaldetector.m │ ├── pmv2ppp.m │ ├── takanen2013contracomparison.m │ ├── takanen2013cueconsistency.m │ ├── takanen2013directionmapping.m │ ├── takanen2013formbinauralactivitymap.m │ ├── takanen2013lso.m │ ├── takanen2013mso.m │ ├── takanen2013onsetenhancement.m │ ├── takanen2013periphery.m │ ├── takanen2013wbmso.m │ └── unwrap_itd.m ├── monaural │ ├── Contents.m │ ├── baumgartner2013.m │ ├── dau1996preproc.m │ ├── dau1997preproc.m │ ├── jepsen2008preproc.m │ ├── langendijk.m │ ├── likelilangendijk.m │ ├── monauralinit.m │ ├── petibubtest.txt │ ├── plotbaumgartner2013.m │ ├── plotlangendijk.m │ ├── plotlikelilangendijk.m │ ├── plotroenne2012.m │ ├── plotroenne2012chirp.m │ ├── plotroenne2012tonebursts.m │ ├── roenne2012.m │ ├── roenne2012chirp.m │ ├── roenne2012click.m │ ├── roenne2012tonebursts.m │ ├── verhulst2012.m │ ├── viemeister79.m │ └── zilany2007humanized.m ├── oct │ ├── Makefile │ ├── comp_adaptloop.cc │ ├── comp_adaptloop.o │ ├── comp_adaptloop.oct │ ├── comp_adaptloop_run.cc │ ├── comp_adaptloop_run.o │ ├── comp_adaptloop_run.oct │ ├── comp_meddishaircell.cc │ └── octinit.m ├── signals │ ├── Contents.m │ ├── Danish_CLUE_10sentence_samples_22kHz.mat │ ├── bincorrnoise.m │ ├── bmsin.m │ ├── dietz2011_bNoise.wav │ ├── dietz2011_five_speakers.wav │ ├── dietz2011_one_of_three.wav │ ├── dietz2011_one_speaker_reverb.wav │ ├── dietz2011_three_of_three.wav │ ├── dietz2011_two_of_three.wav │ ├── dietz2011_two_speakers.wav │ ├── ildsin.m │ ├── irns.m │ ├── itdildsin.m │ ├── itdsin.m │ ├── notchednoise.m │ ├── perfectsweep.m │ ├── signalsinit.m │ └── transposedtone.m ├── speech │ ├── Contents.m │ ├── dsrts_from_pc_mean.m │ ├── jelfs2011.m │ ├── joergensen2011combineinformation.m │ ├── joergensen2011snrenv.m │ ├── plotjelfs2011.m │ └── speechinit.m ├── src │ ├── Makefile │ ├── adaptloop.c │ ├── amtoolbox.h │ ├── meddishaircell.c │ └── verhulst │ │ ├── AllocationError.f90 │ │ ├── CloseWrite.f90 │ │ ├── CochleaParameters.f90 │ │ ├── DeInitialize.f90 │ │ ├── DecibelToLevel.f90 │ │ ├── Declare.f90 │ │ ├── FilesModule.f90 │ │ ├── GraphsModule.f90 │ │ ├── Initialize.f90 │ │ ├── InitializeCochlea.f90 │ │ ├── InitializeFiles.f90 │ │ ├── InitializeGaussElimination.f90 │ │ ├── InitializeGraphs.f90 │ │ ├── InitializeMiddleEar.f90 │ │ ├── InitializeStimulus.f90 │ │ ├── InitializeZweig.f90 │ │ ├── IntToString.f90 │ │ ├── KaiserBessel.f90 │ │ ├── LowPassFilter.f90 │ │ ├── Makefile │ │ ├── Message.f90 │ │ ├── MessageModule.f90 │ │ ├── OpenPressureEarCanal.f90 │ │ ├── OpenProbing.f90 │ │ ├── OpenWrite.f90 │ │ ├── Parameters.f90 │ │ ├── ParametersModule.f90 │ │ ├── PlotGraphs.f90 │ │ ├── PoleCalculation.f90 │ │ ├── PuriaM1.f90 │ │ ├── PuriaM2.f90 │ │ ├── RK4.f90 │ │ ├── ReadError.f90 │ │ ├── ReadMembraneStatus.f90 │ │ ├── ReadParameterFile.f90 │ │ ├── Resample.f90 │ │ ├── SampleUpAndDown.f90 │ │ ├── SetDampingAndStiffness.f90 │ │ ├── SheraParameters.f90 │ │ ├── SolveTridiag.f90 │ │ ├── WaveRead.f90 │ │ ├── WaveReadModule.f90 │ │ ├── WriteData.f90 │ │ ├── WriteError.f90 │ │ ├── WriteMembraneStatus.f90 │ │ ├── WriteProbing.f90 │ │ ├── WriteProfile.f90 │ │ ├── ZweigImpedance.f90 │ │ └── cochlea.f90 └── verhulst │ └── parameters.dat ├── config_doc.rst ├── drnl_config.json ├── features.m ├── features.py ├── get_center_times.m ├── jsonlab ├── AUTHORS.txt ├── ChangeLog.txt ├── LICENSE_BSD.txt ├── README.txt ├── examples │ ├── demo_jsonlab_basic.m │ ├── demo_ubjson_basic.m │ ├── example1.json │ ├── example2.json │ ├── example3.json │ ├── example4.json │ ├── jsonlab_basictest.matlab │ ├── jsonlab_selftest.m │ ├── jsonlab_selftest.matlab │ └── jsonlab_speedtest.m ├── jsonopt.m ├── license.txt ├── loadjson.m ├── loadubjson.m ├── mergestruct.m ├── savejson.m ├── saveubjson.m └── varargin2struct.m ├── kaldi_features.py ├── kaldi_io.py ├── licence └── LICENSE.txt ├── ltfat ├── AUTHORS ├── CITATION ├── COPYING ├── ChangeLog ├── Contents.m ├── INSTALL ├── INSTALL-Matlab ├── INSTALL-Octave ├── NEWS ├── README ├── auditory │ ├── Contents.m │ ├── audfiltbw.m │ ├── auditoryinit.m │ ├── audspace.m │ ├── audspacebw.m │ ├── audtofreq.m │ ├── erbspace.m │ ├── erbspacebw.m │ ├── erbtofreq.m │ ├── freqtoaud.m │ ├── freqtoerb.m │ ├── gammatonefir.m │ ├── rangecompress.m │ ├── rangeexpand.m │ └── semiaudplot.m ├── blockproc │ ├── Contents.m │ ├── block.m │ ├── block_fwt.m │ ├── block_ifwt.m │ ├── blockana.m │ ├── blockdevices.m │ ├── blockdone.m │ ├── blockfigure.m │ ├── blockframeaccel.m │ ├── blockframepairaccel.m │ ├── blockpanel.m │ ├── blockpanelget.m │ ├── blockplay.m │ ├── blockplot.m │ ├── blockprocinit.m │ ├── blockread.m │ ├── blocksyn.m │ └── java │ │ ├── Makefile │ │ ├── blockproc.jar │ │ └── net │ │ └── sourceforge │ │ └── ltfat │ │ ├── ContFrame.java │ │ ├── SpectFrame.java │ │ ├── Utils.java │ │ └── thirdparty │ │ └── JRangeSlider.java ├── comp │ ├── arg_firwin.m │ ├── arg_freqtoaud.m │ ├── arg_fwt.m │ ├── arg_fwt2.m │ ├── arg_fwtcommon.m │ ├── arg_fwtext.m │ ├── arg_groupthresh.m │ ├── arg_ltfattranslate.m │ ├── arg_normalize.m │ ├── arg_pfilt.m │ ├── arg_plotfilterbank.m │ ├── arg_plotfwt.m │ ├── arg_tfplot.m │ ├── arg_thresh.m │ ├── arg_wfbtcommon.m │ ├── assert_L.m │ ├── assert_classname.m │ ├── assert_groworder.m │ ├── assert_sigreshape_post.m │ ├── assert_sigreshape_pre.m │ ├── assert_squarelat.m │ ├── block_interface.m │ ├── comp_atrousfilterbank_td.m │ ├── comp_cellcoef2tf.m │ ├── comp_chirpzt.m │ ├── comp_col2diag.m │ ├── comp_dct.m │ ├── comp_dgt.m │ ├── comp_dgt_fb.m │ ├── comp_dgt_long.m │ ├── comp_dgt_ola.m │ ├── comp_dgt_walnut.m │ ├── comp_dgtreal.m │ ├── comp_dgtreal_fb.m │ ├── comp_dgtreal_long.m │ ├── comp_dgtreal_ola.m │ ├── comp_downs.m │ ├── comp_dst.m │ ├── comp_dwilt.m │ ├── comp_dwilt_fb.m │ ├── comp_dwilt_long.m │ ├── comp_dwiltii.m │ ├── comp_dwiltiii.m │ ├── comp_dwiltiv.m │ ├── comp_edgt6.m │ ├── comp_extBoundary.m │ ├── comp_fftreal.m │ ├── comp_filterbank.m │ ├── comp_filterbank_a.m │ ├── comp_filterbank_fft.m │ ├── comp_filterbank_fftbl.m │ ├── comp_filterbank_pre.m │ ├── comp_filterbank_td.m │ ├── comp_filterbankresponse.m │ ├── comp_fourierwindow.m │ ├── comp_framelength_fusion.m │ ├── comp_framelength_tensor.m │ ├── comp_frana_fusion.m │ ├── comp_frana_tensor.m │ ├── comp_frsyn_fusion.m │ ├── comp_frsyn_tensor.m │ ├── comp_fwt.m │ ├── comp_gabdual_long.m │ ├── comp_gabmixdual_fac.m │ ├── comp_gabreassign.m │ ├── comp_gabtight_long.m │ ├── comp_gdgt.m │ ├── comp_gfeigs.m │ ├── comp_gga.m │ ├── comp_hermite.m │ ├── comp_hermite_all.m │ ├── comp_iatrousfilterbank_td.m │ ├── comp_idgt.m │ ├── comp_idgt_fac.m │ ├── comp_idgt_fb.m │ ├── comp_idgtreal.m │ ├── comp_idgtreal_fac.m │ ├── comp_idgtreal_fb.m │ ├── comp_idwilt.m │ ├── comp_idwiltii.m │ ├── comp_idwiltiii.m │ ├── comp_idwiltiv.m │ ├── comp_iedgt6.m │ ├── comp_ifftreal.m │ ├── comp_ifilterbank.m │ ├── comp_ifilterbank_fft.m │ ├── comp_ifilterbank_fftbl.m │ ├── comp_ifilterbank_td.m │ ├── comp_ifwt.m │ ├── comp_igdgt.m │ ├── comp_inonsepdgt.m │ ├── comp_inonsepdgt_shear.m │ ├── comp_inonsepdgtreal_quinqux.m │ ├── comp_irdgt.m │ ├── comp_irdgtii.m │ ├── comp_irdgtiii.m │ ├── comp_iufilterbank_td.m │ ├── comp_iufwt.m │ ├── comp_iuwfbt.m │ ├── comp_iuwpfbt.m │ ├── comp_iwfac.m │ ├── comp_iwfbt.m │ ├── comp_iwpfbt.m │ ├── comp_nonsepdgt_multi.m │ ├── comp_nonsepdgt_shear.m │ ├── comp_nonsepdgtreal_quinqux.m │ ├── comp_nonsepwin2multi.m │ ├── comp_pchirp.m │ ├── comp_pgauss.m │ ├── comp_sigreshape_post.m │ ├── comp_sigreshape_pre.m │ ├── comp_transferfunction.m │ ├── comp_ufilterbank_fft.m │ ├── comp_ufilterbank_td.m │ ├── comp_ufwt.m │ ├── comp_ups.m │ ├── comp_uwfbt.m │ ├── comp_uwpfbt.m │ ├── comp_warpedfoff.m │ ├── comp_warpedfreqresponse.m │ ├── comp_wfac.m │ ├── comp_wfbt.m │ ├── comp_window.m │ ├── comp_wpfbt.m │ ├── compinit.m │ ├── demo_blockproc_header.m │ ├── gabpars_from_window.m │ ├── gabpars_from_windowsignal.m │ ├── nonsepgabpars_from_window.m │ └── vect2cell.m ├── demos │ ├── Contents.m │ ├── demo_audiocompression.m │ ├── demo_audiodenoise.m │ ├── demo_audioshrink.m │ ├── demo_auditoryfilterbank.m │ ├── demo_audscales.m │ ├── demo_blockproc_basicloop.m │ ├── demo_blockproc_denoising.m │ ├── demo_blockproc_dgtequalizer.m │ ├── demo_blockproc_erblets.m │ ├── demo_blockproc_paramequalizer.m │ ├── demo_blockproc_pitchshift.m │ ├── demo_blockproc_slidingsgram.m │ ├── demo_dgt.m │ ├── demo_firwin.m │ ├── demo_gabfir.m │ ├── demo_gabmixdual.m │ ├── demo_gabmul.m │ ├── demo_gabmulappr.m │ ├── demo_imagecompression.m │ ├── demo_isgram.m │ ├── demo_lasso.m │ ├── demo_nextfastfft.m │ ├── demo_nsdgt.m │ ├── demo_ofdm.m │ ├── demo_pbspline.m │ ├── demo_pgauss.m │ ├── demo_phaseplot.m │ └── demosinit.m ├── deprecated │ ├── Contents.m │ ├── deprecatedinit.m │ ├── gabelitistlasso.m │ ├── gabgrouplasso.m │ ├── gablasso.m │ ├── gabmul.m │ ├── gabmuleigs.m │ ├── iufilterbank.m │ ├── iunsdgt.m │ ├── iunsdgtreal.m │ └── tfmat.m ├── filterbank │ ├── Contents.m │ ├── cqt.m │ ├── erbfilters.m │ ├── erblett.m │ ├── filterbank.m │ ├── filterbankbounds.m │ ├── filterbankdual.m │ ├── filterbankinit.m │ ├── filterbanklength.m │ ├── filterbanklengthcoef.m │ ├── filterbankrealbounds.m │ ├── filterbankrealdual.m │ ├── filterbankrealtight.m │ ├── filterbankresponse.m │ ├── filterbanktight.m │ ├── filterbankwin.m │ ├── icqt.m │ ├── ierblett.m │ ├── ifilterbank.m │ ├── insdgfb.m │ ├── nonu2ufilterbank.m │ ├── plotfilterbank.m │ └── ufilterbank.m ├── fourier │ ├── Contents.m │ ├── blfilter.m │ ├── ceil23.m │ ├── ceil235.m │ ├── chirpzt.m │ ├── convolve.m │ ├── dcti.m │ ├── dctii.m │ ├── dctiii.m │ ├── dctiv.m │ ├── dctresample.m │ ├── dfracft.m │ ├── dft.m │ ├── dsti.m │ ├── dstii.m │ ├── dstiii.m │ ├── dstiv.m │ ├── expwave.m │ ├── ffracft.m │ ├── fftindex.m │ ├── fftreal.m │ ├── fftresample.m │ ├── fir2long.m │ ├── firfilter.m │ ├── firkaiser.m │ ├── firwin.m │ ├── floor23.m │ ├── floor235.m │ ├── fourierinit.m │ ├── gga.m │ ├── hermbasis.m │ ├── idft.m │ ├── ifftreal.m │ ├── involute.m │ ├── isevenfunction.m │ ├── long2fir.m │ ├── magresp.m │ ├── middlepad.m │ ├── modcent.m │ ├── nextfastfft.m │ ├── pbspline.m │ ├── pchirp.m │ ├── pconv.m │ ├── pderiv.m │ ├── peven.m │ ├── pfilt.m │ ├── pgauss.m │ ├── pheaviside.m │ ├── pherm.m │ ├── plotfft.m │ ├── plotfftreal.m │ ├── podd.m │ ├── prect.m │ ├── psech.m │ ├── psinc.m │ ├── pxcorr.m │ ├── shah.m │ ├── transferfunction.m │ └── warpedblfilter.m ├── frames │ ├── Contents.m │ ├── frame.m │ ├── frameaccel.m │ ├── framebounds.m │ ├── framecoef2native.m │ ├── framecoef2tf.m │ ├── framediag.m │ ├── framedual.m │ ├── framegram.m │ ├── framelength.m │ ├── framelengthcoef.m │ ├── framematrix.m │ ├── framenative2coef.m │ ├── framepair.m │ ├── framered.m │ ├── framesinit.m │ ├── frametf2coef.m │ ├── frametight.m │ ├── frana.m │ ├── franagrouplasso.m │ ├── franaiter.m │ ├── franalasso.m │ ├── frsyn.m │ ├── frsynabs.m │ ├── frsyniter.m │ └── plotframe.m ├── gabor │ ├── Contents.m │ ├── col2diag.m │ ├── constructphase.m │ ├── dgt.m │ ├── dgt2.m │ ├── dgtlength.m │ ├── dgtreal.m │ ├── dsft.m │ ├── dwilt.m │ ├── dwilt2.m │ ├── dwiltlength.m │ ├── gabdual.m │ ├── gabdualnorm.m │ ├── gabframebounds.m │ ├── gabframediag.m │ ├── gabimagepars.m │ ├── gabmixdual.m │ ├── gaborinit.m │ ├── gabphasegrad.m │ ├── gabprojdual.m │ ├── gabreassign.m │ ├── gabrieszbounds.m │ ├── gabtight.m │ ├── gabwin.m │ ├── idgt.m │ ├── idgt2.m │ ├── idgtreal.m │ ├── idwilt.m │ ├── idwilt2.m │ ├── instfreqplot.m │ ├── isgram.m │ ├── isgramreal.m │ ├── iwmdct.m │ ├── iwmdct2.m │ ├── izak.m │ ├── latticetype2matrix.m │ ├── longpar.m │ ├── matrix2latticetype.m │ ├── noshearlength.m │ ├── phaselock.m │ ├── phaseplot.m │ ├── phaseunlock.m │ ├── plotdgt.m │ ├── plotdgtreal.m │ ├── plotdwilt.m │ ├── plotwmdct.m │ ├── projkern.m │ ├── rect2wil.m │ ├── resgram.m │ ├── s0norm.m │ ├── sgram.m │ ├── shearfind.m │ ├── symphase.m │ ├── tconv.m │ ├── tfplot.m │ ├── wil2rect.m │ ├── wilbounds.m │ ├── wildual.m │ ├── wilframediag.m │ ├── wilorth.m │ ├── wilwin.m │ ├── wmdct.m │ ├── wmdct2.m │ └── zak.m ├── isoctave.m ├── ltfat_version ├── ltfatarghelper.m ├── ltfatbasepath.m ├── ltfatgetdefaults.m ├── ltfathelp.m ├── ltfatmex.m ├── ltfatsetdefaults.m ├── ltfatstart.m ├── ltfatstop.m ├── mex │ ├── Makefile │ ├── Makefile_mac │ ├── Makefile_mingw │ ├── Makefile_unix │ ├── Makefile_unix_old │ ├── block_interface.c │ ├── block_interface.h │ ├── comp_atrousfilterbank_td.c │ ├── comp_cellcoef2tf.c │ ├── comp_chirpzt.c │ ├── comp_col2diag.c │ ├── comp_dct.c │ ├── comp_dgt_fb.c │ ├── comp_dgt_long.c │ ├── comp_dgt_ola.c │ ├── comp_dgtreal_fb.c │ ├── comp_dgtreal_long.c │ ├── comp_dgtreal_ola.c │ ├── comp_dst.c │ ├── comp_dwilt_long.c │ ├── comp_fftreal.c │ ├── comp_filterbank.c │ ├── comp_filterbank_fft.c │ ├── comp_filterbank_fftbl.c │ ├── comp_filterbank_td.c │ ├── comp_gabdual_long.c │ ├── comp_gabreassign.c │ ├── comp_gabtight_long.c │ ├── comp_gga.c │ ├── comp_heapint.c │ ├── comp_iatrousfilterbank_td.c │ ├── comp_idgt_fac.c │ ├── comp_idgt_fb.c │ ├── comp_idgtreal_fac.c │ ├── comp_idgtreal_fb.c │ ├── comp_ifftreal.c │ ├── comp_ifilterbank.c │ ├── comp_ifilterbank_fft.c │ ├── comp_ifilterbank_fftbl.c │ ├── comp_ifilterbank_td.c │ ├── comp_iwfac.c │ ├── comp_nonsepdgt_multi.c │ ├── comp_nonsepdgt_shear.c │ ├── comp_nonsepdgt_shearola.c │ ├── comp_nonsepwin2multi.c │ ├── comp_pchirp.c │ ├── comp_pgauss.c │ ├── comp_ufilterbank_fft.c │ ├── comp_wfac.c │ ├── config.h │ ├── filedefs.mk │ ├── ltfat_mex_template_helper.h │ ├── ltfat_mex_typecomplexindependent.h │ ├── ltfat_mex_typeindependent.h │ ├── mex-memalloc.c │ ├── mexinit.m │ ├── postpad.m │ └── vect2cell.c ├── mulaclab.m ├── mulaclab │ └── icons │ │ ├── apply.png │ │ ├── colormap.png │ │ ├── difference.png │ │ ├── freehand.png │ │ ├── intersection.png │ │ ├── loop.png │ │ ├── magicwand.png │ │ ├── pan.png │ │ ├── play.png │ │ ├── resizebutton.png │ │ ├── showsymbol.png │ │ ├── stop.png │ │ ├── subbandsel.png │ │ ├── union.png │ │ ├── zoomin.png │ │ └── zoomout.png ├── nonstatgab │ ├── Contents.m │ ├── insdgt.m │ ├── insdgtreal.m │ ├── nonstatgabinit.m │ ├── nsdgt.m │ ├── nsdgtlength.m │ ├── nsdgtreal.m │ ├── nsgabdual.m │ ├── nsgabframebounds.m │ ├── nsgabframediag.m │ ├── nsgabtight.m │ ├── nsgabwin.m │ ├── plotnsdgt.m │ ├── plotnsdgtreal.m │ ├── unsdgt.m │ └── unsdgtreal.m ├── oct │ ├── Makefile_mac │ ├── Makefile_mingwoct │ ├── Makefile_unix │ ├── comp_atrousfilterbank_td.cc │ ├── comp_chirpzt.cc │ ├── comp_col2diag.cc │ ├── comp_dct.cc │ ├── comp_dgt_fb.cc │ ├── comp_dgt_long.cc │ ├── comp_dgt_ola.cc │ ├── comp_dgtreal_fb.cc │ ├── comp_dgtreal_long.cc │ ├── comp_dgtreal_ola.cc │ ├── comp_dst.cc │ ├── comp_dwilt_long.cc │ ├── comp_fftreal.cc │ ├── comp_filterbank_fft.cc │ ├── comp_filterbank_fftbl.cc │ ├── comp_filterbank_td.cc │ ├── comp_gabdual_long.cc │ ├── comp_gabreassign.cc │ ├── comp_gabtight_long.cc │ ├── comp_gga.cc │ ├── comp_heapint.cc │ ├── comp_iatrousfilterbank_td.cc │ ├── comp_idgt_fac.cc │ ├── comp_idgt_fb.cc │ ├── comp_idgtreal_fac.cc │ ├── comp_idgtreal_fb.cc │ ├── comp_ifftreal.cc │ ├── comp_ifilterbank_fft.cc │ ├── comp_ifilterbank_fftbl.cc │ ├── comp_ifilterbank_td.cc │ ├── comp_iwfac.cc │ ├── comp_nonsepdgt_multi.cc │ ├── comp_nonsepdgt_shear.cc │ ├── comp_nonsepwin2multi.cc │ ├── comp_pchirp.cc │ ├── comp_pgauss.cc │ ├── comp_ufilterbank_fft.cc │ ├── comp_wfac.cc │ ├── config.h │ ├── ltfat_oct_template_helper.h │ ├── oct-memalloc.c │ └── octinit.m ├── operators │ ├── Contents.m │ ├── framemul.m │ ├── framemuladj.m │ ├── framemulappr.m │ ├── framemuleigs.m │ ├── gabmulappr.m │ ├── iframemul.m │ ├── ioperator.m │ ├── operator.m │ ├── operatoradj.m │ ├── operatorappr.m │ ├── operatoreigs.m │ ├── operatormatrix.m │ ├── operatornew.m │ ├── operatorsinit.m │ ├── spreadadj.m │ ├── spreadeigs.m │ ├── spreadfun.m │ ├── spreadinv.m │ └── spreadop.m ├── scalardistribute.m ├── signals │ ├── Clar.wav │ ├── Contents.m │ ├── Piano2.wav │ ├── bat.asc │ ├── bat.m │ ├── batmask.asc │ ├── batmask.m │ ├── cameraman.m │ ├── cameraman.png │ ├── cocktailparty.m │ ├── cocktailparty.wav │ ├── ctestfun.m │ ├── expchirp.m │ ├── greasy.m │ ├── greasy.wav │ ├── gspi.m │ ├── gspi.wav │ ├── lichtenstein.m │ ├── lichtenstein.png │ ├── linus.m │ ├── linus.wav │ ├── ltfatlogo.m │ ├── ltfatlogo.wav │ ├── ltfattext.m │ ├── ltfattext.png │ ├── noise.m │ ├── otoclick.asc │ ├── otoclick.m │ ├── pinknoise.m │ ├── signalsinit.m │ ├── traindoppler.m │ └── traindoppler.wav ├── sigproc │ ├── Contents.m │ ├── crestfactor.m │ ├── dynlimit.m │ ├── elitistthresh.m │ ├── gaindb.m │ ├── groupthresh.m │ ├── iqam4.m │ ├── jpeg2rgb.m │ ├── largestn.m │ ├── largestr.m │ ├── normalize.m │ ├── qam4.m │ ├── rampdown.m │ ├── rampsignal.m │ ├── rampup.m │ ├── rgb2jpeg.m │ ├── rms.m │ ├── sigprocinit.m │ ├── thresh.m │ └── uquant.m ├── src │ ├── Makefile_mac │ ├── Makefile_mingw │ ├── Makefile_mingwoct │ ├── Makefile_octpkg │ ├── Makefile_unix │ ├── README │ ├── bootstrap │ ├── c-safe-memalloc.c │ ├── ciutils.c │ ├── ciutils.h │ ├── config.h │ ├── configure.ac │ ├── dgt.c │ ├── dgt_fac.c │ ├── dgt_fb.c │ ├── dgt_long.h │ ├── dgt_multi.c │ ├── dgt_multi.h │ ├── dgt_ola.c │ ├── dgt_shear.c │ ├── dgt_shear.h │ ├── dgt_shearola.c │ ├── dgt_walnut.c │ ├── dgtreal_fac.c │ ├── drivers.c │ ├── dwilt.c │ ├── filedefs.mk │ ├── filterbank.c │ ├── gabdual.c │ ├── gabdual_fac.c │ ├── gabtight.c │ ├── gabtight_fac.c │ ├── goertzel.c │ ├── goertzel.h │ ├── heapint.c │ ├── idgt_fac.c │ ├── idgt_fb.c │ ├── integer_manip.c │ ├── iwfac.c │ ├── ltfat.h │ ├── ltfat_blaslapack.c │ ├── ltfat_complexindependent.c │ ├── ltfat_complexindependent_bl.c │ ├── ltfat_notdllexport.def │ ├── ltfat_typecomplexindependent.h │ ├── ltfat_typeindependent.h │ ├── ltfat_types.h │ ├── m4 │ │ ├── ax_blas.m4 │ │ └── ax_lapack.m4 │ ├── ostools.mk │ ├── pfilt.c │ ├── reassign.c │ ├── spread.c │ ├── tfutil.c │ ├── thirdparty │ │ ├── cblas.h │ │ ├── f77-fcn.h │ │ ├── fftw3.h │ │ └── portaudio.h │ ├── wavelets.c │ ├── wavelets.h │ ├── wfac.c │ ├── windows.c │ └── winmanip.c ├── thirdparty │ ├── GPC │ │ ├── GPC-README.pdf │ │ ├── VERSIONS.TXT │ │ ├── gpc.c │ │ └── gpc.h │ ├── Playrec │ │ ├── Makefile_mac │ │ ├── Makefile_macoct │ │ ├── Makefile_mingw │ │ ├── Makefile_mingwoct │ │ ├── Makefile_unix │ │ ├── Makefile_unixoct │ │ ├── license.txt │ │ ├── mex_dll_core.c │ │ ├── mex_dll_core.h │ │ ├── pa_dll_playrec.c │ │ └── pa_dll_playrec.h │ ├── PolygonClip │ │ ├── Makefile_mac │ │ ├── Makefile_mingw │ │ ├── Makefile_unix │ │ ├── PolygonClip.c │ │ ├── PolygonClip.h │ │ ├── ReadMe.txt │ │ └── license.txt │ └── thirdpartyinit.m └── wavelets │ ├── Contents.m │ ├── fwt.m │ ├── fwt2.m │ ├── fwt2filterbank.m │ ├── fwtbounds.m │ ├── fwtclength.m │ ├── fwtinit.m │ ├── fwtlength.m │ ├── ifwt.m │ ├── ifwt2.m │ ├── iufwt.m │ ├── iuwfbt.m │ ├── iuwpfbt.m │ ├── iwfbt.m │ ├── iwpfbt.m │ ├── iwtfft.m │ ├── plotwavelets.m │ ├── ufwt.m │ ├── uwfbt.m │ ├── uwpfbt.m │ ├── wavcell2pack.m │ ├── waveletsinit.m │ ├── wavfun.m │ ├── wavpack2cell.m │ ├── wfbt.m │ ├── wfbt2filterbank.m │ ├── wfbtbounds.m │ ├── wfbtclength.m │ ├── wfbtinit.m │ ├── wfbtlength.m │ ├── wfbtmanip │ ├── deleteNode.m │ ├── deleteSubtree.m │ ├── depthIndex2NodeNo.m │ ├── maxTreeSub.m │ ├── nat2freqOrder.m │ ├── noOfChildOutputs.m │ ├── noOfNodeOutputs.m │ ├── noOfOutputs.m │ ├── noOfSubtreeOutputs.m │ ├── nodeFiltUps.m │ ├── nodeInLen.m │ ├── nodePredecesors.m │ ├── nodeSub.m │ ├── nodeSubtreeBF.m │ ├── nodeSubtreeDF.m │ ├── nodesBForder.m │ ├── nodesDForder.m │ ├── nodesLevelsBForder.m │ ├── nodesMultid.m │ ├── rangeInLocalOutputs.m │ ├── rangeInNodeOutputs.m │ ├── rangeInOutputs.m │ ├── rangeInWpOutputs.m │ ├── rangeWpBF.m │ └── treeSub.m │ ├── wfbtput.m │ ├── wfbtremove.m │ ├── wfilt_algmband.m │ ├── wfilt_apr.m │ ├── wfilt_db.m │ ├── wfilt_dden.m │ ├── wfilt_dgrid.m │ ├── wfilt_dtree.m │ ├── wfilt_hden.m │ ├── wfilt_lemarie.m │ ├── wfilt_matlabwtwrapper.m │ ├── wfilt_maxflat.m │ ├── wfilt_mband.m │ ├── wfilt_optfs.m │ ├── wfilt_remez.m │ ├── wfilt_spline.m │ ├── wfilt_sym.m │ ├── wfilt_symds.m │ ├── wfiltinfo.m │ ├── wfreq_lemarie.m │ ├── wpbest.m │ └── wpfbt.m ├── lyon_config.json ├── mel_config.json ├── mfcc_config.json ├── npz2csv.py ├── npz2h5features.py ├── oct.m ├── rasta_config.json ├── rastamat ├── audspec.m ├── bark2hz.m ├── cep2spec.m ├── deltas.m ├── dolpc.m ├── fft2barkmx.m ├── fft2melmx.m ├── hz2bark.m ├── hz2mel.m ├── invaudspec.m ├── invmelfcc.m ├── invpostaud.m ├── invpowspec.m ├── ispecgram.m ├── levinson_fix.m ├── lifter.m ├── lpc2cep.m ├── lpc2spec.m ├── mel2hz.m ├── melfcc.m ├── postaud.m ├── powspec.m ├── process_options.m ├── rastafilt.m ├── rastaplp.m ├── readhtk.m ├── sm1_cln.wav └── spec2cep.m ├── requirements.txt ├── sample2frameno.m ├── setup.py ├── sig2drnl.m ├── sig2lyon.m ├── sig2rasta.m └── test └── wavs ├── s_f101_ba.wav ├── s_f101_bc.wav ├── s_f101_be.wav ├── s_f101_bi.wav ├── s_f101_bo.wav ├── s_f101_bu.wav ├── s_f101_bxe.wav └── s_f101_bxi.wav /.gitignore: -------------------------------------------------------------------------------- 1 | # Mac specific files 2 | .DS_Store 3 | 4 | # Spyder IDE files 5 | .spyderproject 6 | .spyderworkspace 7 | 8 | # Byte-compiled / optimized / DLL files 9 | __pycache__/ 10 | *.py[cod] 11 | 12 | # C extensions 13 | *.so 14 | 15 | # Distribution / packaging 16 | .Python 17 | env/ 18 | bin/ 19 | build/ 20 | develop-eggs/ 21 | dist/ 22 | eggs/ 23 | lib/ 24 | lib64/ 25 | parts/ 26 | sdist/ 27 | var/ 28 | *.egg-info/ 29 | .installed.cfg 30 | *.egg 31 | 32 | # Installer logs 33 | pip-log.txt 34 | pip-delete-this-directory.txt 35 | 36 | # Unit test / coverage reports 37 | htmlcov/ 38 | .tox/ 39 | .coverage 40 | .cache 41 | nosetests.xml 42 | coverage.xml 43 | 44 | # Translations 45 | *.mo 46 | 47 | # Mr Developer 48 | .mr.developer.cfg 49 | .project 50 | .pydevproject 51 | 52 | # Rope 53 | .ropeproject 54 | 55 | # Django stuff: 56 | *.log 57 | *.pot 58 | 59 | # Sphinx documentation 60 | docs/_build/ 61 | 62 | # pyTest cache 63 | test/__pycache__ -------------------------------------------------------------------------------- /AuditoryToolbox/AuditoryToolboxTechReport.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bootphon/features_extraction/e781ea0b7fa49ff67158b49114359963f985930d/AuditoryToolbox/AuditoryToolboxTechReport.pdf -------------------------------------------------------------------------------- /AuditoryToolbox/CorrelogramArray.m: -------------------------------------------------------------------------------- 1 | function movie = CorrelogramArray(data, sr, frameRate, width) 2 | % function movie = CorrelogramArray(data, sr, frameRate, width) 3 | % Compute an array of correlogram frames, from the sound file data with 4 | % a sampling rate of sr Hz. Compute frameRate frames per second, using 5 | % a window size of "width" samples. 6 | 7 | % (c) 1998 Interval Research Corporation 8 | 9 | if nargin < 2, sr = 16000; end 10 | if nargin < 3, frameRate = 12; end 11 | if nargin < 4, width = 256; end 12 | 13 | [channels, len] = size(data); 14 | frameIncrement = fix(sr/frameRate); 15 | frameCount = floor((len-width)/frameIncrement)+1; 16 | fprintf('Correlogram spacing is %g samples per frame.\n', frameIncrement); 17 | 18 | movie = zeros(channels*width, frameCount); 19 | for i=1:frameCount 20 | start = (i-1)*frameIncrement + 1; 21 | pic = CorrelogramFrame(data, width, start, frameIncrement*4); 22 | minimum = min(min(pic)); 23 | maximum = max(max(pic)); 24 | image((pic-minimum)/(maximum-minimum)*length(colormap)); 25 | drawnow; 26 | movie(:,i) = reshape(pic, channels*width, 1); 27 | end 28 | -------------------------------------------------------------------------------- /AuditoryToolbox/CorrelogramMovie.m: -------------------------------------------------------------------------------- 1 | function movie = CorrelogramMovie(data, sr, frameRate, width) 2 | % function movie = CorrelogramMovie(data, sr, frameRate, width) 3 | % Compute a Matlab movie of a sound array called "data" which has 4 | % a sampling rate of sr Hz. Compute frameRate frames per second, each 5 | % time taking "width" samples for analysis. 6 | 7 | % (c) 1998 Interval Research Corporation 8 | 9 | if nargin < 2, sr = 16000; end 10 | if nargin < 3, frameRate = 12; end 11 | if nargin < 4, width = 256; end 12 | 13 | [channels, len] = size(data); 14 | frameIncrement = fix(sr/frameRate); 15 | frameCount = floor((len-width)/frameIncrement)+1; 16 | 17 | movie = moviein(frameCount); 18 | for i=1:frameCount 19 | start = (i-1)*frameIncrement + 1; 20 | pic = CorrelogramFrame(data, width, start, frameIncrement*2); 21 | minimum = min(min(pic)); 22 | maximum = max(max(pic)); 23 | image((pic-minimum)/(maximum-minimum)*length(colormap)); 24 | drawnow; 25 | movie(:,i) = getframe; 26 | end 27 | -------------------------------------------------------------------------------- /AuditoryToolbox/ERBSpace.m: -------------------------------------------------------------------------------- 1 | function cfArray = ERBSpace(lowFreq, highFreq, N) 2 | % function cfArray = ERBSpace(lowFreq, highFreq, N) 3 | % This function computes an array of N frequencies uniformly spaced between 4 | % highFreq and lowFreq on an ERB scale. N is set to 100 if not specified. 5 | % 6 | % See also linspace, logspace, MakeERBCoeffs, MakeERBFilters. 7 | % 8 | % For a definition of ERB, see Moore, B. C. J., and Glasberg, B. R. (1983). 9 | % "Suggested formulae for calculating auditory-filter bandwidths and 10 | % excitation patterns," J. Acoust. Soc. Am. 74, 750-753. 11 | 12 | if nargin < 1 13 | lowFreq = 100; 14 | end 15 | 16 | if nargin < 2 17 | highFreq = 44100/4; 18 | end 19 | 20 | if nargin < 3 21 | N = 100; 22 | end 23 | 24 | % Change the following three parameters if you wish to use a different 25 | % ERB scale. Must change in MakeERBCoeffs too. 26 | EarQ = 9.26449; % Glasberg and Moore Parameters 27 | minBW = 24.7; 28 | order = 1; 29 | 30 | % All of the followFreqing expressions are derived in Apple TR #35, "An 31 | % Efficient Implementation of the Patterson-Holdsworth Cochlear 32 | % Filter Bank." See pages 33-34. 33 | cfArray = -(EarQ*minBW) + exp((1:N)'*(-log(highFreq + EarQ*minBW) + ... 34 | log(lowFreq + EarQ*minBW))/N) * (highFreq + EarQ*minBW); 35 | 36 | -------------------------------------------------------------------------------- /AuditoryToolbox/EpsilonFromTauFS.m: -------------------------------------------------------------------------------- 1 | function y=EpslionFromTauFS(tau, fs) 2 | % EpsilonFromTauFS - Find first order filter coefficient 3 | % as a function of time constant (tau) and sample rate (fs) 4 | 5 | % (c) 1998 Interval Research Corporation 6 | y=1-exp(-1/tau/fs); 7 | -------------------------------------------------------------------------------- /AuditoryToolbox/FMPoints.m: -------------------------------------------------------------------------------- 1 | function points=FMPoints(len, freq, fmFreq, fmAmp, fs) 2 | % points=FMPoints(len, freq, fmFreq, fmAmp, fs) 3 | % Generates (fractional) sample locations for frequency-modulated impulses 4 | % len = number of samples 5 | % freq = pitch frequency (Hz) 6 | % fmFreq = vibrato frequency (Hz) (defaults to 6 Hz) 7 | % fmAmp = max change in pitch (defaults to 5% of freq) 8 | % fs = sample frequency (defaults to 22254.545454 samples/s) 9 | % 10 | % Basic formula: phase angle = 2*pi*freq*t + (fmAmp/fmFreq)*sin(2*pi*fmFreq*t) 11 | % k-th zero crossing approximately at sample number 12 | % (fs/freq)*(k - (fmAmp/(2*pi*fmFreq))*sin(2*pi*k*(fmFreq/freq))) 13 | 14 | % (c) 1998 Interval Research Corporation 15 | 16 | if nargin<2, 17 | fprintf('Format: sig=fmPoints(len, freq [, fmAmp, fmFreq, sampleRate])\n'); 18 | return; 19 | end; 20 | if nargin<5, 21 | fs=22254.545454; 22 | end; 23 | if nargin<4, 24 | fmAmp=0.05*freq; 25 | end; 26 | if nargin<3, 27 | fmFreq=6; 28 | end; 29 | 30 | kmax=fix(freq*(len/fs)); 31 | points=0:kmax-1; 32 | points=1+(fs/freq)*(points-(fmAmp/(2*pi*fmFreq))* ... 33 | sin(2*pi*(fmFreq/freq)*points)); 34 | -------------------------------------------------------------------------------- /AuditoryToolbox/FreqResp.m: -------------------------------------------------------------------------------- 1 | % mag = FreqResp(filter, f, fs) 2 | % Find the frequency response (in dB) of a filter (1x5 vector) at 3 | % frequency f and sampling rate fs. 4 | 5 | % (c) 1998 Interval Research Corporation 6 | 7 | function mag=FreqResp(filter,f,fs) 8 | cf = exp(i*2*pi*f/fs); 9 | mag = (filter(3) + filter(2)*cf + filter(1)*cf.^2) ./ ... 10 | (filter(5) + filter(4)*cf + cf.^2); 11 | mag = 20*log10(abs(mag)); 12 | -------------------------------------------------------------------------------- /AuditoryToolbox/SecondOrderFilter.m: -------------------------------------------------------------------------------- 1 | % filter = SecondOrderFilter(f, q, fs) 2 | % Design a second order digital filter with a center frequency of 3 | % f, filter quality of q, and digital sampling rate of fs (Hz). 4 | 5 | % (c) 1998 Interval Research Corporation 6 | 7 | function filts = SecondOrderFilter(f,q,fs) 8 | cft = f'/fs; 9 | rho = exp(- pi * cft ./ q'); 10 | theta = 2 * pi * cft .* sqrt(1-1 ./(4*q'.^2)); 11 | filts = [ ones(size(rho)) -2*rho.*cos(theta) rho.^2 ]; 12 | -------------------------------------------------------------------------------- /AuditoryToolbox/SetGain.m: -------------------------------------------------------------------------------- 1 | % filter = SetGain(filter, desired, f, fs) 2 | % Set the gain of a filter (1x5 vector) to any desired gain 3 | % at any desired frequency (f). 4 | 5 | % (c) 1998 Interval Research Corporation 6 | 7 | function filter = SetGain(filter, desired, f, fs) 8 | oldGain = 10^(FreqResp(filter, f, fs)/20); 9 | filter(1:3) = filter(1:3)*desired/oldGain; 10 | -------------------------------------------------------------------------------- /AuditoryToolbox/agc.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bootphon/features_extraction/e781ea0b7fa49ff67158b49114359963f985930d/AuditoryToolbox/agc.dll -------------------------------------------------------------------------------- /AuditoryToolbox/agc.mex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bootphon/features_extraction/e781ea0b7fa49ff67158b49114359963f985930d/AuditoryToolbox/agc.mex -------------------------------------------------------------------------------- /AuditoryToolbox/agc.mex.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bootphon/features_extraction/e781ea0b7fa49ff67158b49114359963f985930d/AuditoryToolbox/agc.mex.bin -------------------------------------------------------------------------------- /AuditoryToolbox/agc.mexsg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bootphon/features_extraction/e781ea0b7fa49ff67158b49114359963f985930d/AuditoryToolbox/agc.mexsg -------------------------------------------------------------------------------- /AuditoryToolbox/agc.mexsg64: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bootphon/features_extraction/e781ea0b7fa49ff67158b49114359963f985930d/AuditoryToolbox/agc.mexsg64 -------------------------------------------------------------------------------- /AuditoryToolbox/agc.mexsol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bootphon/features_extraction/e781ea0b7fa49ff67158b49114359963f985930d/AuditoryToolbox/agc.mexsol -------------------------------------------------------------------------------- /AuditoryToolbox/agc.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bootphon/features_extraction/e781ea0b7fa49ff67158b49114359963f985930d/AuditoryToolbox/agc.o -------------------------------------------------------------------------------- /AuditoryToolbox/dtw.mex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bootphon/features_extraction/e781ea0b7fa49ff67158b49114359963f985930d/AuditoryToolbox/dtw.mex -------------------------------------------------------------------------------- /AuditoryToolbox/dtw.mexlx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bootphon/features_extraction/e781ea0b7fa49ff67158b49114359963f985930d/AuditoryToolbox/dtw.mexlx -------------------------------------------------------------------------------- /AuditoryToolbox/dtw.mexsg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bootphon/features_extraction/e781ea0b7fa49ff67158b49114359963f985930d/AuditoryToolbox/dtw.mexsg -------------------------------------------------------------------------------- /AuditoryToolbox/dtw.mexsg64: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bootphon/features_extraction/e781ea0b7fa49ff67158b49114359963f985930d/AuditoryToolbox/dtw.mexsg64 -------------------------------------------------------------------------------- /AuditoryToolbox/dtw.mexsol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bootphon/features_extraction/e781ea0b7fa49ff67158b49114359963f985930d/AuditoryToolbox/dtw.mexsol -------------------------------------------------------------------------------- /AuditoryToolbox/dtw.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bootphon/features_extraction/e781ea0b7fa49ff67158b49114359963f985930d/AuditoryToolbox/dtw.o -------------------------------------------------------------------------------- /AuditoryToolbox/inverseagc.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bootphon/features_extraction/e781ea0b7fa49ff67158b49114359963f985930d/AuditoryToolbox/inverseagc.dll -------------------------------------------------------------------------------- /AuditoryToolbox/inverseagc.mex.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bootphon/features_extraction/e781ea0b7fa49ff67158b49114359963f985930d/AuditoryToolbox/inverseagc.mex.bin -------------------------------------------------------------------------------- /AuditoryToolbox/inverseagc.mexsg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bootphon/features_extraction/e781ea0b7fa49ff67158b49114359963f985930d/AuditoryToolbox/inverseagc.mexsg -------------------------------------------------------------------------------- /AuditoryToolbox/inverseagc.mexsg64: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bootphon/features_extraction/e781ea0b7fa49ff67158b49114359963f985930d/AuditoryToolbox/inverseagc.mexsg64 -------------------------------------------------------------------------------- /AuditoryToolbox/inverseagc.mexsol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bootphon/features_extraction/e781ea0b7fa49ff67158b49114359963f985930d/AuditoryToolbox/inverseagc.mexsol -------------------------------------------------------------------------------- /AuditoryToolbox/invsoscascade.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bootphon/features_extraction/e781ea0b7fa49ff67158b49114359963f985930d/AuditoryToolbox/invsoscascade.dll -------------------------------------------------------------------------------- /AuditoryToolbox/invsoscascade.mex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bootphon/features_extraction/e781ea0b7fa49ff67158b49114359963f985930d/AuditoryToolbox/invsoscascade.mex -------------------------------------------------------------------------------- /AuditoryToolbox/invsoscascade.mex.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bootphon/features_extraction/e781ea0b7fa49ff67158b49114359963f985930d/AuditoryToolbox/invsoscascade.mex.bin -------------------------------------------------------------------------------- /AuditoryToolbox/invsoscascade.mexsg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bootphon/features_extraction/e781ea0b7fa49ff67158b49114359963f985930d/AuditoryToolbox/invsoscascade.mexsg -------------------------------------------------------------------------------- /AuditoryToolbox/invsoscascade.mexsg64: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bootphon/features_extraction/e781ea0b7fa49ff67158b49114359963f985930d/AuditoryToolbox/invsoscascade.mexsg64 -------------------------------------------------------------------------------- /AuditoryToolbox/invsoscascade.mexsol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bootphon/features_extraction/e781ea0b7fa49ff67158b49114359963f985930d/AuditoryToolbox/invsoscascade.mexsol -------------------------------------------------------------------------------- /AuditoryToolbox/invsoscascade.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bootphon/features_extraction/e781ea0b7fa49ff67158b49114359963f985930d/AuditoryToolbox/invsoscascade.o -------------------------------------------------------------------------------- /AuditoryToolbox/soscascade.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bootphon/features_extraction/e781ea0b7fa49ff67158b49114359963f985930d/AuditoryToolbox/soscascade.dll -------------------------------------------------------------------------------- /AuditoryToolbox/soscascade.mex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bootphon/features_extraction/e781ea0b7fa49ff67158b49114359963f985930d/AuditoryToolbox/soscascade.mex -------------------------------------------------------------------------------- /AuditoryToolbox/soscascade.mex.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bootphon/features_extraction/e781ea0b7fa49ff67158b49114359963f985930d/AuditoryToolbox/soscascade.mex.bin -------------------------------------------------------------------------------- /AuditoryToolbox/soscascade.mexsg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bootphon/features_extraction/e781ea0b7fa49ff67158b49114359963f985930d/AuditoryToolbox/soscascade.mexsg -------------------------------------------------------------------------------- /AuditoryToolbox/soscascade.mexsg64: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bootphon/features_extraction/e781ea0b7fa49ff67158b49114359963f985930d/AuditoryToolbox/soscascade.mexsg64 -------------------------------------------------------------------------------- /AuditoryToolbox/soscascade.mexsol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bootphon/features_extraction/e781ea0b7fa49ff67158b49114359963f985930d/AuditoryToolbox/soscascade.mexsol -------------------------------------------------------------------------------- /AuditoryToolbox/soscascade.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bootphon/features_extraction/e781ea0b7fa49ff67158b49114359963f985930d/AuditoryToolbox/soscascade.o -------------------------------------------------------------------------------- /AuditoryToolbox/sosfilters.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bootphon/features_extraction/e781ea0b7fa49ff67158b49114359963f985930d/AuditoryToolbox/sosfilters.dll -------------------------------------------------------------------------------- /AuditoryToolbox/sosfilters.mex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bootphon/features_extraction/e781ea0b7fa49ff67158b49114359963f985930d/AuditoryToolbox/sosfilters.mex -------------------------------------------------------------------------------- /AuditoryToolbox/sosfilters.mex.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bootphon/features_extraction/e781ea0b7fa49ff67158b49114359963f985930d/AuditoryToolbox/sosfilters.mex.bin -------------------------------------------------------------------------------- /AuditoryToolbox/sosfilters.mexsg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bootphon/features_extraction/e781ea0b7fa49ff67158b49114359963f985930d/AuditoryToolbox/sosfilters.mexsg -------------------------------------------------------------------------------- /AuditoryToolbox/sosfilters.mexsg64: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bootphon/features_extraction/e781ea0b7fa49ff67158b49114359963f985930d/AuditoryToolbox/sosfilters.mexsg64 -------------------------------------------------------------------------------- /AuditoryToolbox/sosfilters.mexsol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bootphon/features_extraction/e781ea0b7fa49ff67158b49114359963f985930d/AuditoryToolbox/sosfilters.mexsol -------------------------------------------------------------------------------- /AuditoryToolbox/sosfilters.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bootphon/features_extraction/e781ea0b7fa49ff67158b49114359963f985930d/AuditoryToolbox/sosfilters.o -------------------------------------------------------------------------------- /AuditoryToolbox/src/Makefile: -------------------------------------------------------------------------------- 1 | MEX = agc.c soscascade.c sosfilters.c dtw.c 2 | 3 | MEXFLAGS = 4 | 5 | all: soscascade sosfilters agc invsoscascade dtw inverseagc 6 | 7 | soscascade: soscascade.c 8 | # mex $(MEXFLAGS) soscascade.c 9 | mkoctfile --mex $(MEXFLAGS) soscascade.c 10 | cp soscascade.mex* .. 11 | 12 | invsoscascade: invsoscascade.c 13 | # mex $(MEXFLAGS) invsoscascade.c 14 | mkoctfile --mex $(MEXFLAGS) invsoscascade.c 15 | cp invsoscascade.mex* .. 16 | 17 | sosfilters: sosfilters.c 18 | # mex $(MEXFLAGS) sosfilters.c 19 | mkoctfile --mex $(MEXFLAGS) sosfilters.c 20 | cp sosfilters.mex* .. 21 | 22 | agc: agc.c 23 | # mex $(MEXFLAGS) agc.c 24 | mkoctfile --mex $(MEXFLAGS) agc.c 25 | cp agc.mex* .. 26 | 27 | inverseagc: agc.c 28 | # mex $(MEXFLAGS) agc.c -DINVERSE -output inverseagc 29 | mkoctfile --mex $(MEXFLAGS) agc.c -DINVERSE -o inverseagc 30 | cp inverseagc.mex* .. 31 | 32 | dtw: dtw.c 33 | # mex $(MEXFLAGS) dtw.c -DMATLAB 34 | mkoctfile --mex $(MEXFLAGS) dtw.c -DMATLAB 35 | cp dtw.mex* .. 36 | -------------------------------------------------------------------------------- /AuditoryToolbox/src/Makefile.m: -------------------------------------------------------------------------------- 1 | mex agc.c -O 2 | agc(ones(1,20),[.5;.5]) 3 | agc(ones(1,20),[.5;.5]) 4 | [output s] = agc(ones(1,10),[.5;.5]) 5 | agc(ones(1,10),[.5; .5], s) 6 | 7 | 8 | 9 | mex agc.c -DINVERSE -output inverseagc -O 10 | output = agc(ones(1,20),[.5;.5]); 11 | inverseagc(output, [.5; .5]) 12 | 13 | mex soscascade.c -O 14 | soscascade([1 0 0 0 0],[1 0 0 -.9 0;1 1 0 0 0]) 15 | soscascade([1 0 0 0 0 0 0 0 0 0],[1 0 0 -.9 0;1 1 0 0 0]) 16 | [y,s] = soscascade([1 0 0 0 0],[1 0 0 -.9 0;1 1 0 0 0]) 17 | soscascade([0 0 0 0 0],[1 0 0 -.9 0;1 1 0 0 0], s) 18 | 19 | mex invsoscascade.c -O 20 | invsoscascade([1 0 0 0 0;1 0 0 0 0],[1 0 0 -.9 0;1 1 0 0 0]) 21 | 22 | mex sosfilters.c -O 23 | sosfilters([1 0 0 0 0 0], [1 0 0 -.9 0; 1 0 0 -.8 0]) 24 | sosfilters([1 0 0 0 0 0;2 0 0 0 0 0], [1 0 0 -.9 0]) 25 | sosfilters([1 zeros(1,9)], [1 0 0 -.9 0; 1 0 0 -.8 0]) 26 | [output,s] = sosfilters([1 zeros(1,4)], [1 0 0 -.9 0; 1 0 0 -.8 0]) 27 | sosfilters(zeros(1,5), [1 0 0 -.9 0; 1 0 0 -.8 0], s) 28 | -------------------------------------------------------------------------------- /AuditoryToolbox/src/agc.mex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bootphon/features_extraction/e781ea0b7fa49ff67158b49114359963f985930d/AuditoryToolbox/src/agc.mex -------------------------------------------------------------------------------- /AuditoryToolbox/src/agc.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bootphon/features_extraction/e781ea0b7fa49ff67158b49114359963f985930d/AuditoryToolbox/src/agc.o -------------------------------------------------------------------------------- /AuditoryToolbox/src/dtw.mex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bootphon/features_extraction/e781ea0b7fa49ff67158b49114359963f985930d/AuditoryToolbox/src/dtw.mex -------------------------------------------------------------------------------- /AuditoryToolbox/src/dtw.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bootphon/features_extraction/e781ea0b7fa49ff67158b49114359963f985930d/AuditoryToolbox/src/dtw.o -------------------------------------------------------------------------------- /AuditoryToolbox/src/invsoscascade.mex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bootphon/features_extraction/e781ea0b7fa49ff67158b49114359963f985930d/AuditoryToolbox/src/invsoscascade.mex -------------------------------------------------------------------------------- /AuditoryToolbox/src/invsoscascade.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bootphon/features_extraction/e781ea0b7fa49ff67158b49114359963f985930d/AuditoryToolbox/src/invsoscascade.o -------------------------------------------------------------------------------- /AuditoryToolbox/src/soscascade.mex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bootphon/features_extraction/e781ea0b7fa49ff67158b49114359963f985930d/AuditoryToolbox/src/soscascade.mex -------------------------------------------------------------------------------- /AuditoryToolbox/src/soscascade.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bootphon/features_extraction/e781ea0b7fa49ff67158b49114359963f985930d/AuditoryToolbox/src/soscascade.o -------------------------------------------------------------------------------- /AuditoryToolbox/src/sosfilters.mex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bootphon/features_extraction/e781ea0b7fa49ff67158b49114359963f985930d/AuditoryToolbox/src/sosfilters.mex -------------------------------------------------------------------------------- /AuditoryToolbox/src/sosfilters.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bootphon/features_extraction/e781ea0b7fa49ff67158b49114359963f985930d/AuditoryToolbox/src/sosfilters.o -------------------------------------------------------------------------------- /AuditoryToolbox/tapestry.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bootphon/features_extraction/e781ea0b7fa49ff67158b49114359963f985930d/AuditoryToolbox/tapestry.wav -------------------------------------------------------------------------------- /amtoolbox/COPYING: -------------------------------------------------------------------------------- 1 | This software is licensed under the GPL version 3.0 with the possibily 2 | to obtain a commercial license, if you cannot abide by the terms of 3 | the GPL. 4 | 5 | For the exact terms of the GPL, see the file glp-3.0.txt 6 | 7 | If you wish to obtain a commercial license, please contact the authors at 8 | amtoolbox-help@ltfat.sourceforge.net 9 | -------------------------------------------------------------------------------- /amtoolbox/INSTALL: -------------------------------------------------------------------------------- 1 | 2 | --------- Running the toolbox -------------------- 3 | 4 | AMToolbox depends on LTFAT. You must first download LTFAT from 5 | http://ltfat.sourceforge.net/ and unpack the downloaded file. 6 | 7 | To start LTFAT in Matlab or Octave type "ltfatstart" as the first 8 | command from the installation directory. This will set up the correct 9 | paths. Similarly, type "amtstart" to start AMToolbox. 10 | 11 | In Octave you can put these commands in your ~/.octaverc file. In Matlab 12 | you can put these command in your startup.m file. Your startup file of 13 | choice should contain some lines like this: 14 | 15 | addpath /path/to/ltfat 16 | addpath /path/to/amtoolbox 17 | ltfatstart; 18 | amtstart; 19 | 20 | The "ltfatstart" and "amtstart" commands will add all the necessary 21 | subdirectories (so please don't add these manually), and will print 22 | statements telling you which backend you are currently using. 23 | 24 | -------- Compiling the toolbox ------- ------------ 25 | 26 | If you wish to compile the C and Fortran functions in the toolbox, 27 | execute the "amtmex" command. This will execute all the necessary 28 | compilation scripts if you have the required compilers installed. 29 | 30 | -------------------------------------------------------------------------------- /amtoolbox/amtbasepath.m: -------------------------------------------------------------------------------- 1 | function bp = amtbasepath; 2 | %AMTBASEPATH The base path of the AMT installation 3 | % Usage: bp = amtbasepath; 4 | % 5 | % AMTBASEPATH returns the top level directory in which the AMT 6 | % files are installed. 7 | % 8 | % See also: amtstart 9 | % 10 | % Url: http://amtoolbox.sourceforge.net/doc//amtbasepath.php 11 | 12 | % Copyright (C) 2009-2013 Peter L. Søndergaard and others. 13 | % This file is part of AMToolbox version 0.9.1 14 | % 15 | % This program is free software: you can redistribute it and/or modify 16 | % it under the terms of the GNU General Public License as published by 17 | % the Free Software Foundation, either version 3 of the License, or 18 | % (at your option) any later version. 19 | % 20 | % This program is distributed in the hope that it will be useful, 21 | % but WITHOUT ANY WARRANTY; without even the implied warranty of 22 | % MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 23 | % GNU General Public License for more details. 24 | % 25 | % You should have received a copy of the GNU General Public License 26 | % along with this program. If not, see . 27 | 28 | f=mfilename('fullpath'); 29 | 30 | bp = f(1:end-11); 31 | 32 | -------------------------------------------------------------------------------- /amtoolbox/amtoolbox_version: -------------------------------------------------------------------------------- 1 | 0.9.1 2 | -------------------------------------------------------------------------------- /amtoolbox/binaural/binauralinit.m: -------------------------------------------------------------------------------- 1 | % 2 | % Url: http://amtoolbox.sourceforge.net/doc//binaural/binauralinit.php 3 | 4 | % Copyright (C) 2009-2013 Peter L. Søndergaard and others. 5 | % This file is part of AMToolbox version 0.9.1 6 | % 7 | % This program is free software: you can redistribute it and/or modify 8 | % it under the terms of the GNU General Public License as published by 9 | % the Free Software Foundation, either version 3 of the License, or 10 | % (at your option) any later version. 11 | % 12 | % This program is distributed in the hope that it will be useful, 13 | % but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | % MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | % GNU General Public License for more details. 16 | % 17 | % You should have received a copy of the GNU General Public License 18 | % along with this program. If not, see . 19 | status=1; 20 | 21 | -------------------------------------------------------------------------------- /amtoolbox/comp/arg_amtredofile.m: -------------------------------------------------------------------------------- 1 | function definput=arg_amtredofile(definput) 2 | % 3 | % Url: http://amtoolbox.sourceforge.net/doc//comp/arg_amtredofile.php 4 | 5 | % Copyright (C) 2009-2013 Peter L. Søndergaard and others. 6 | % This file is part of AMToolbox version 0.9.1 7 | % 8 | % This program is free software: you can redistribute it and/or modify 9 | % it under the terms of the GNU General Public License as published by 10 | % the Free Software Foundation, either version 3 of the License, or 11 | % (at your option) any later version. 12 | % 13 | % This program is distributed in the hope that it will be useful, 14 | % but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | % MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | % GNU General Public License for more details. 17 | % 18 | % You should have received a copy of the GNU General Public License 19 | % along with this program. If not, see . 20 | 21 | definput.flags.redomode={'autorefresh','refresh','cached'}; 22 | 23 | -------------------------------------------------------------------------------- /amtoolbox/comp/arg_auditoryfilterbank.m: -------------------------------------------------------------------------------- 1 | function definput=arg_auditoryfilterbank(definput) 2 | % 3 | % Url: http://amtoolbox.sourceforge.net/doc//comp/arg_auditoryfilterbank.php 4 | 5 | % Copyright (C) 2009-2013 Peter L. Søndergaard and others. 6 | % This file is part of AMToolbox version 0.9.1 7 | % 8 | % This program is free software: you can redistribute it and/or modify 9 | % it under the terms of the GNU General Public License as published by 10 | % the Free Software Foundation, either version 3 of the License, or 11 | % (at your option) any later version. 12 | % 13 | % This program is distributed in the hope that it will be useful, 14 | % but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | % MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | % GNU General Public License for more details. 17 | % 18 | % You should have received a copy of the GNU General Public License 19 | % along with this program. If not, see . 20 | 21 | definput.keyvals.flow=80; 22 | definput.keyvals.fhigh=8000; 23 | definput.keyvals.basef=[]; 24 | definput.keyvals.bwmul=1; 25 | 26 | -------------------------------------------------------------------------------- /amtoolbox/comp/arg_eicell.m: -------------------------------------------------------------------------------- 1 | function definput=arg_eicell(definput) 2 | % 3 | % Url: http://amtoolbox.sourceforge.net/doc//comp/arg_eicell.php 4 | 5 | % Copyright (C) 2009-2013 Peter L. Søndergaard and others. 6 | % This file is part of AMToolbox version 0.9.1 7 | % 8 | % This program is free software: you can redistribute it and/or modify 9 | % it under the terms of the GNU General Public License as published by 10 | % the Free Software Foundation, either version 3 of the License, or 11 | % (at your option) any later version. 12 | % 13 | % This program is distributed in the hope that it will be useful, 14 | % but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | % MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | % GNU General Public License for more details. 17 | % 18 | % You should have received a copy of the GNU General Public License 19 | % along with this program. If not, see . 20 | 21 | definput.keyvals.tc = 30e-3; % Temporal smoothing constant 22 | definput.keyvals.rc_a = 0.1; % Range compression parameter 'a' 23 | definput.keyvals.rc_b = .00002; % Range compression parameter 'b' 24 | definput.keyvals.ptau = 2.2e-3; % time constant for p(tau) function 25 | 26 | -------------------------------------------------------------------------------- /amtoolbox/comp/arg_ihcenvelope.m: -------------------------------------------------------------------------------- 1 | function definput=arg_ihcenvelope(definput) 2 | % 3 | % Url: http://amtoolbox.sourceforge.net/doc//comp/arg_ihcenvelope.php 4 | 5 | % Copyright (C) 2009-2013 Peter L. Søndergaard and others. 6 | % This file is part of AMToolbox version 0.9.1 7 | % 8 | % This program is free software: you can redistribute it and/or modify 9 | % it under the terms of the GNU General Public License as published by 10 | % the Free Software Foundation, either version 3 of the License, or 11 | % (at your option) any later version. 12 | % 13 | % This program is distributed in the hope that it will be useful, 14 | % but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | % MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | % GNU General Public License for more details. 17 | % 18 | % You should have received a copy of the GNU General Public License 19 | % along with this program. If not, see . 20 | 21 | definput.flags.ihctype={'nodefault','ihc_bernstein','ihc_breebaart','ihc_dau','hilbert', ... 22 | 'ihc_lindemann','ihc_meddis'}; 23 | 24 | definput.keyvals.minlvl=[]; 25 | 26 | -------------------------------------------------------------------------------- /amtoolbox/comp/arg_langendijkcomp.m: -------------------------------------------------------------------------------- 1 | function definput=arg_langendijkcomp(definput) 2 | % 3 | % Url: http://amtoolbox.sourceforge.net/doc//comp/arg_langendijkcomp.php 4 | 5 | % Copyright (C) 2009-2013 Peter L. Søndergaard and others. 6 | % This file is part of AMToolbox version 0.9.1 7 | % 8 | % This program is free software: you can redistribute it and/or modify 9 | % it under the terms of the GNU General Public License as published by 10 | % the Free Software Foundation, either version 3 of the License, or 11 | % (at your option) any later version. 12 | % 13 | % This program is distributed in the hope that it will be useful, 14 | % but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | % MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | % GNU General Public License for more details. 17 | % 18 | % You should have received a copy of the GNU General Public License 19 | % along with this program. If not, see . 20 | 21 | definput.flags.cp={'std','xcorr'}; 22 | 23 | definput.keyvals.s=2; 24 | definput.keyvals.do=0; 25 | 26 | end 27 | -------------------------------------------------------------------------------- /amtoolbox/comp/arg_lindemann1986bincorr.m: -------------------------------------------------------------------------------- 1 | function definput=arg_lindemann1986bincorr(definput) 2 | % 3 | % Url: http://amtoolbox.sourceforge.net/doc//comp/arg_lindemann1986bincorr.php 4 | 5 | % Copyright (C) 2009-2013 Peter L. Søndergaard and others. 6 | % This file is part of AMToolbox version 0.9.1 7 | % 8 | % This program is free software: you can redistribute it and/or modify 9 | % it under the terms of the GNU General Public License as published by 10 | % the Free Software Foundation, either version 3 of the License, or 11 | % (at your option) any later version. 12 | % 13 | % This program is distributed in the hope that it will be useful, 14 | % but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | % MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | % GNU General Public License for more details. 17 | % 18 | % You should have received a copy of the GNU General Public License 19 | % along with this program. If not, see . 20 | 21 | definput.keyvals.c_s = 0.3; 22 | definput.keyvals.w_f = 0.035; 23 | definput.keyvals.M_f = 6; 24 | definput.keyvals.T_int = 5; 25 | definput.keyvals.N_1 = 1; 26 | 27 | definput.groups.stationary={'T_int',Inf,'N_1',17640'}; 28 | 29 | -------------------------------------------------------------------------------- /amtoolbox/comp/compinit.m: -------------------------------------------------------------------------------- 1 | % 2 | % Url: http://amtoolbox.sourceforge.net/doc//comp/compinit.php 3 | 4 | % Copyright (C) 2009-2013 Peter L. Søndergaard and others. 5 | % This file is part of AMToolbox version 0.9.1 6 | % 7 | % This program is free software: you can redistribute it and/or modify 8 | % it under the terms of the GNU General Public License as published by 9 | % the Free Software Foundation, either version 3 of the License, or 10 | % (at your option) any later version. 11 | % 12 | % This program is distributed in the hope that it will be useful, 13 | % but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | % MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | % GNU General Public License for more details. 16 | % 17 | % You should have received a copy of the GNU General Public License 18 | % along with this program. If not, see . 19 | status=2; 20 | 21 | -------------------------------------------------------------------------------- /amtoolbox/demos/demo_transposedtone.m: -------------------------------------------------------------------------------- 1 | %DEMO_TRANSPOSEDTONE 2 | % 3 | % These are some example parameters used in the sudy by S. Santurette. 4 | % 5 | % 6 | % Url: http://amtoolbox.sourceforge.net/doc//demos/demo_transposedtone.php 7 | 8 | % Copyright (C) 2009-2013 Peter L. Søndergaard and others. 9 | % This file is part of AMToolbox version 0.9.1 10 | % 11 | % This program is free software: you can redistribute it and/or modify 12 | % it under the terms of the GNU General Public License as published by 13 | % the Free Software Foundation, either version 3 of the License, or 14 | % (at your option) any later version. 15 | % 16 | % This program is distributed in the hope that it will be useful, 17 | % but WITHOUT ANY WARRANTY; without even the implied warranty of 18 | % MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 19 | % GNU General Public License for more details. 20 | % 21 | % You should have received a copy of the GNU General Public License 22 | % along with this program. If not, see . 23 | 24 | fc = 5000; 25 | fm = 435; 26 | dur = 1; 27 | fs = 44100; 28 | 29 | outsig = transposedtone(fc,fm,dur,fs); 30 | %OLDFORMAT 31 | 32 | -------------------------------------------------------------------------------- /amtoolbox/demos/demosinit.m: -------------------------------------------------------------------------------- 1 | % 2 | % Url: http://amtoolbox.sourceforge.net/doc//demos/demosinit.php 3 | 4 | % Copyright (C) 2009-2013 Peter L. Søndergaard and others. 5 | % This file is part of AMToolbox version 0.9.1 6 | % 7 | % This program is free software: you can redistribute it and/or modify 8 | % it under the terms of the GNU General Public License as published by 9 | % the Free Software Foundation, either version 3 of the License, or 10 | % (at your option) any later version. 11 | % 12 | % This program is distributed in the hope that it will be useful, 13 | % but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | % MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | % GNU General Public License for more details. 16 | % 17 | % You should have received a copy of the GNU General Public License 18 | % along with this program. If not, see . 19 | status=1; 20 | %OLDFORMAT 21 | 22 | -------------------------------------------------------------------------------- /amtoolbox/demos/poly_lookup.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bootphon/features_extraction/e781ea0b7fa49ff67158b49114359963f985930d/amtoolbox/demos/poly_lookup.mat -------------------------------------------------------------------------------- /amtoolbox/doc/HRTF format description.odt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bootphon/features_extraction/e781ea0b7fa49ff67158b49114359963f985930d/amtoolbox/doc/HRTF format description.odt -------------------------------------------------------------------------------- /amtoolbox/doc/HRTF format meta data.ods: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bootphon/features_extraction/e781ea0b7fa49ff67158b49114359963f985930d/amtoolbox/doc/HRTF format meta data.ods -------------------------------------------------------------------------------- /amtoolbox/doc/LangendijkDoc.odt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bootphon/features_extraction/e781ea0b7fa49ff67158b49114359963f985930d/amtoolbox/doc/LangendijkDoc.odt -------------------------------------------------------------------------------- /amtoolbox/experiments/azi_lookup_4.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bootphon/features_extraction/e781ea0b7fa49ff67158b49114359963f985930d/amtoolbox/experiments/azi_lookup_4.mat -------------------------------------------------------------------------------- /amtoolbox/experiments/exp_lindemann1986a_fig10.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bootphon/features_extraction/e781ea0b7fa49ff67158b49114359963f985930d/amtoolbox/experiments/exp_lindemann1986a_fig10.mat -------------------------------------------------------------------------------- /amtoolbox/experiments/exp_lindemann1986a_fig11.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bootphon/features_extraction/e781ea0b7fa49ff67158b49114359963f985930d/amtoolbox/experiments/exp_lindemann1986a_fig11.mat -------------------------------------------------------------------------------- /amtoolbox/experiments/exp_lindemann1986a_fig12.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bootphon/features_extraction/e781ea0b7fa49ff67158b49114359963f985930d/amtoolbox/experiments/exp_lindemann1986a_fig12.mat -------------------------------------------------------------------------------- /amtoolbox/experiments/exp_lindemann1986a_fig13.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bootphon/features_extraction/e781ea0b7fa49ff67158b49114359963f985930d/amtoolbox/experiments/exp_lindemann1986a_fig13.mat -------------------------------------------------------------------------------- /amtoolbox/experiments/exp_lindemann1986a_fig14a.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bootphon/features_extraction/e781ea0b7fa49ff67158b49114359963f985930d/amtoolbox/experiments/exp_lindemann1986a_fig14a.mat -------------------------------------------------------------------------------- /amtoolbox/experiments/exp_lindemann1986a_fig14b.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bootphon/features_extraction/e781ea0b7fa49ff67158b49114359963f985930d/amtoolbox/experiments/exp_lindemann1986a_fig14b.mat -------------------------------------------------------------------------------- /amtoolbox/experiments/exp_lindemann1986a_fig15.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bootphon/features_extraction/e781ea0b7fa49ff67158b49114359963f985930d/amtoolbox/experiments/exp_lindemann1986a_fig15.mat -------------------------------------------------------------------------------- /amtoolbox/experiments/exp_lindemann1986a_fig16.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bootphon/features_extraction/e781ea0b7fa49ff67158b49114359963f985930d/amtoolbox/experiments/exp_lindemann1986a_fig16.mat -------------------------------------------------------------------------------- /amtoolbox/experiments/exp_lindemann1986a_fig17.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bootphon/features_extraction/e781ea0b7fa49ff67158b49114359963f985930d/amtoolbox/experiments/exp_lindemann1986a_fig17.mat -------------------------------------------------------------------------------- /amtoolbox/experiments/exp_lindemann1986a_fig18.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bootphon/features_extraction/e781ea0b7fa49ff67158b49114359963f985930d/amtoolbox/experiments/exp_lindemann1986a_fig18.mat -------------------------------------------------------------------------------- /amtoolbox/experiments/exp_lindemann1986a_fig6.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bootphon/features_extraction/e781ea0b7fa49ff67158b49114359963f985930d/amtoolbox/experiments/exp_lindemann1986a_fig6.mat -------------------------------------------------------------------------------- /amtoolbox/experiments/exp_lindemann1986a_fig7.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bootphon/features_extraction/e781ea0b7fa49ff67158b49114359963f985930d/amtoolbox/experiments/exp_lindemann1986a_fig7.mat -------------------------------------------------------------------------------- /amtoolbox/experiments/exp_lindemann1986a_fig8.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bootphon/features_extraction/e781ea0b7fa49ff67158b49114359963f985930d/amtoolbox/experiments/exp_lindemann1986a_fig8.mat -------------------------------------------------------------------------------- /amtoolbox/experiments/exp_roenne2012_fig5.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bootphon/features_extraction/e781ea0b7fa49ff67158b49114359963f985930d/amtoolbox/experiments/exp_roenne2012_fig5.mat -------------------------------------------------------------------------------- /amtoolbox/experiments/exp_roenne2012_fig6.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bootphon/features_extraction/e781ea0b7fa49ff67158b49114359963f985930d/amtoolbox/experiments/exp_roenne2012_fig6.mat -------------------------------------------------------------------------------- /amtoolbox/experiments/exp_roenne2012_fig7.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bootphon/features_extraction/e781ea0b7fa49ff67158b49114359963f985930d/amtoolbox/experiments/exp_roenne2012_fig7.mat -------------------------------------------------------------------------------- /amtoolbox/experiments/experimentsinit.m: -------------------------------------------------------------------------------- 1 | % 2 | % Url: http://amtoolbox.sourceforge.net/doc//experiments/experimentsinit.php 3 | 4 | % Copyright (C) 2009-2013 Peter L. Søndergaard and others. 5 | % This file is part of AMToolbox version 0.9.1 6 | % 7 | % This program is free software: you can redistribute it and/or modify 8 | % it under the terms of the GNU General Public License as published by 9 | % the Free Software Foundation, either version 3 of the License, or 10 | % (at your option) any later version. 11 | % 12 | % This program is distributed in the hope that it will be useful, 13 | % but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | % MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | % GNU General Public License for more details. 16 | % 17 | % You should have received a copy of the GNU General Public License 18 | % along with this program. If not, see . 19 | status=1; 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /amtoolbox/filters/filtersinit.m: -------------------------------------------------------------------------------- 1 | % 2 | % Url: http://amtoolbox.sourceforge.net/doc//filters/filtersinit.php 3 | 4 | % Copyright (C) 2009-2013 Peter L. Søndergaard and others. 5 | % This file is part of AMToolbox version 0.9.1 6 | % 7 | % This program is free software: you can redistribute it and/or modify 8 | % it under the terms of the GNU General Public License as published by 9 | % the Free Software Foundation, either version 3 of the License, or 10 | % (at your option) any later version. 11 | % 12 | % This program is distributed in the hope that it will be useful, 13 | % but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | % MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | % GNU General Public License for more details. 16 | % 17 | % You should have received a copy of the GNU General Public License 18 | % along with this program. If not, see . 19 | status=1; 20 | 21 | p = mfilename('fullpath'); 22 | addpath([p(1:end-11),'obsolete']); 23 | 24 | 25 | -------------------------------------------------------------------------------- /amtoolbox/filters/gfb_hohmann/README.txt: -------------------------------------------------------------------------------- 1 | This directory contains a Matlab implementation of the gammatone 2 | filterbank described in V. Hohmann's Paper `Frequency analysis and 3 | synthesis using a Gammatone filterbank', published 2002 in `acta 4 | acustica'. It uses numerical methods described in `Improved numerical 5 | methods for gammatone filterbank analysis and synthesis' by T. Herzke 6 | and V. Hohmann, published 2007 in `acta acustica'. 7 | 8 | copyright: Universitaet Oldenburg 9 | author : tp 10 | date : Jan Apr 2002, Nov 2003, Nov 2006, Jan Feb 2007 11 | filename : README.txt 12 | 13 | Documentation 14 | ============= 15 | 16 | README_implementation.txt: Introduces the design principles behind this 17 | implementation, and containes a list of the 18 | implemented Matlab functions. 19 | README_examples.txt: Explains where to find the specific implementations 20 | and how to execute the examples promised in section 21 | 5 of Hohmann's 2002 `acta acustica' article. 22 | 23 | -------------------------------------------------------------------------------- /amtoolbox/general/generalinit.m: -------------------------------------------------------------------------------- 1 | % 2 | % Url: http://amtoolbox.sourceforge.net/doc//general/generalinit.php 3 | 4 | % Copyright (C) 2009-2013 Peter L. Søndergaard and others. 5 | % This file is part of AMToolbox version 0.9.1 6 | % 7 | % This program is free software: you can redistribute it and/or modify 8 | % it under the terms of the GNU General Public License as published by 9 | % the Free Software Foundation, either version 3 of the License, or 10 | % (at your option) any later version. 11 | % 12 | % This program is distributed in the hope that it will be useful, 13 | % but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | % MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | % GNU General Public License for more details. 16 | % 17 | % You should have received a copy of the GNU General Public License 18 | % along with this program. If not, see . 19 | status=1; 20 | 21 | -------------------------------------------------------------------------------- /amtoolbox/hrtf/Contents.m: -------------------------------------------------------------------------------- 1 | % AMT - Functions for reading HRTFs 2 | % 3 | % The AMT team, 2012 - 2013. 4 | % 5 | % HRTF and HRIR 6 | % READ_HRIR - Read HRIR from selected databases. 7 | % ENZNER2008 - Calculate a set of HRIRs 8 | % 9 | % For help, bug reports, suggestions etc. please send email to 10 | % amtoolbox-help@lists.sourceforge.net 11 | % 12 | % Url: http://amtoolbox.sourceforge.net/doc//hrtf/Contents.php 13 | 14 | % Copyright (C) 2009-2013 Peter L. Søndergaard and others. 15 | % This file is part of AMToolbox version 0.9.1 16 | % 17 | % This program is free software: you can redistribute it and/or modify 18 | % it under the terms of the GNU General Public License as published by 19 | % the Free Software Foundation, either version 3 of the License, or 20 | % (at your option) any later version. 21 | % 22 | % This program is distributed in the hope that it will be useful, 23 | % but WITHOUT ANY WARRANTY; without even the implied warranty of 24 | % MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 25 | % GNU General Public License for more details. 26 | % 27 | % You should have received a copy of the GNU General Public License 28 | % along with this program. If not, see . 29 | 30 | 31 | -------------------------------------------------------------------------------- /amtoolbox/hrtf/hrtf_M_langendijk2002 P3.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bootphon/features_extraction/e781ea0b7fa49ff67158b49114359963f985930d/amtoolbox/hrtf/hrtf_M_langendijk2002 P3.mat -------------------------------------------------------------------------------- /amtoolbox/hrtf/hrtf_M_langendijk2002 P6.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bootphon/features_extraction/e781ea0b7fa49ff67158b49114359963f985930d/amtoolbox/hrtf/hrtf_M_langendijk2002 P6.mat -------------------------------------------------------------------------------- /amtoolbox/hrtf/hrtfinit.m: -------------------------------------------------------------------------------- 1 | % 2 | % Url: http://amtoolbox.sourceforge.net/doc//hrtf/hrtfinit.php 3 | 4 | % Copyright (C) 2009-2013 Peter L. Søndergaard and others. 5 | % This file is part of AMToolbox version 0.9.1 6 | % 7 | % This program is free software: you can redistribute it and/or modify 8 | % it under the terms of the GNU General Public License as published by 9 | % the Free Software Foundation, either version 3 of the License, or 10 | % (at your option) any later version. 11 | % 12 | % This program is distributed in the hope that it will be useful, 13 | % but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | % MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | % GNU General Public License for more details. 16 | % 17 | % You should have received a copy of the GNU General Public License 18 | % along with this program. If not, see . 19 | status=2; 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /amtoolbox/humandata/humandatainit.m: -------------------------------------------------------------------------------- 1 | % 2 | % Url: http://amtoolbox.sourceforge.net/doc//humandata/humandatainit.php 3 | 4 | % Copyright (C) 2009-2013 Peter L. Søndergaard and others. 5 | % This file is part of AMToolbox version 0.9.1 6 | % 7 | % This program is free software: you can redistribute it and/or modify 8 | % it under the terms of the GNU General Public License as published by 9 | % the Free Software Foundation, either version 3 of the License, or 10 | % (at your option) any later version. 11 | % 12 | % This program is distributed in the hope that it will be useful, 13 | % but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | % MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | % GNU General Public License for more details. 16 | % 17 | % You should have received a copy of the GNU General Public License 18 | % along with this program. If not, see . 19 | status=1; 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /amtoolbox/humandata/langendijk2002-P3.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bootphon/features_extraction/e781ea0b7fa49ff67158b49114359963f985930d/amtoolbox/humandata/langendijk2002-P3.mat -------------------------------------------------------------------------------- /amtoolbox/humandata/langendijk2002-P6.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bootphon/features_extraction/e781ea0b7fa49ff67158b49114359963f985930d/amtoolbox/humandata/langendijk2002-P6.mat -------------------------------------------------------------------------------- /amtoolbox/humandata/roenne2012_elberling2010stim.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bootphon/features_extraction/e781ea0b7fa49ff67158b49114359963f985930d/amtoolbox/humandata/roenne2012_elberling2010stim.mat -------------------------------------------------------------------------------- /amtoolbox/humandata/roenne2012_harte2009stim.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bootphon/features_extraction/e781ea0b7fa49ff67158b49114359963f985930d/amtoolbox/humandata/roenne2012_harte2009stim.mat -------------------------------------------------------------------------------- /amtoolbox/humandata/spille2013_s123456.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bootphon/features_extraction/e781ea0b7fa49ff67158b49114359963f985930d/amtoolbox/humandata/spille2013_s123456.wav -------------------------------------------------------------------------------- /amtoolbox/humandata/takanen2013_cochleardelays.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bootphon/features_extraction/e781ea0b7fa49ff67158b49114359963f985930d/amtoolbox/humandata/takanen2013_cochleardelays.mat -------------------------------------------------------------------------------- /amtoolbox/humandata/takanen2013_lookuptable.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bootphon/features_extraction/e781ea0b7fa49ff67158b49114359963f985930d/amtoolbox/humandata/takanen2013_lookuptable.mat -------------------------------------------------------------------------------- /amtoolbox/humandata/takanen2013_msolimits.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bootphon/features_extraction/e781ea0b7fa49ff67158b49114359963f985930d/amtoolbox/humandata/takanen2013_msolimits.mat -------------------------------------------------------------------------------- /amtoolbox/humandata/takanen2013_onsetmultp.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bootphon/features_extraction/e781ea0b7fa49ff67158b49114359963f985930d/amtoolbox/humandata/takanen2013_onsetmultp.mat -------------------------------------------------------------------------------- /amtoolbox/humandata/takanen2013_periphenergyaverages.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bootphon/features_extraction/e781ea0b7fa49ff67158b49114359963f985930d/amtoolbox/humandata/takanen2013_periphenergyaverages.mat -------------------------------------------------------------------------------- /amtoolbox/humandata/takanen2013_wbmsomultp.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bootphon/features_extraction/e781ea0b7fa49ff67158b49114359963f985930d/amtoolbox/humandata/takanen2013_wbmsomultp.mat -------------------------------------------------------------------------------- /amtoolbox/humandata/ur.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bootphon/features_extraction/e781ea0b7fa49ff67158b49114359963f985930d/amtoolbox/humandata/ur.mat -------------------------------------------------------------------------------- /amtoolbox/mex/comp_meddishaircell.c: -------------------------------------------------------------------------------- 1 | #include "mex.h" 2 | 3 | #include "../src/meddishaircell.c" 4 | 5 | void mexFunction(int nlhs, mxArray *plhs[], 6 | int nrhs, const mxArray *prhs[]) 7 | { 8 | 9 | int siglen,nsigs; /* temporary array size holders */ 10 | int fs; 11 | 12 | siglen = mxGetM(prhs[0]); 13 | nsigs = mxGetN(prhs[0]); 14 | fs = mxGetScalar(prhs[1]); 15 | 16 | /* Step 1: Error Checking Step 1a: is nlhs 1? If not, 17 | generate an error message and exit mexample (mexErrMsgTxt 18 | does this for us!) */ 19 | if (nlhs!=1) 20 | mexErrMsgTxt("mhc requires one output argument."); 21 | 22 | /* Step 1b: is nrhs 2? */ 23 | if (nrhs!=2) 24 | mexErrMsgTxt("mhc requires two input arguments, \ 25 | prhs[0] and SAMPLERATE"); 26 | 27 | plhs[0] = mxCreateDoubleMatrix(siglen, nsigs, mxREAL); 28 | 29 | meddishaircell(mxGetPr(prhs[0]), fs, siglen, nsigs, 30 | mxGetPr(plhs[0])); 31 | 32 | } 33 | -------------------------------------------------------------------------------- /amtoolbox/mex/mexinit.m: -------------------------------------------------------------------------------- 1 | % 2 | % Url: http://amtoolbox.sourceforge.net/doc//mex/mexinit.php 3 | 4 | % Copyright (C) 2009-2013 Peter L. Søndergaard and others. 5 | % This file is part of AMToolbox version 0.9.1 6 | % 7 | % This program is free software: you can redistribute it and/or modify 8 | % it under the terms of the GNU General Public License as published by 9 | % the Free Software Foundation, either version 3 of the License, or 10 | % (at your option) any later version. 11 | % 12 | % This program is distributed in the hope that it will be useful, 13 | % but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | % MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | % GNU General Public License for more details. 16 | % 17 | % You should have received a copy of the GNU General Public License 18 | % along with this program. If not, see . 19 | status=2; 20 | 21 | -------------------------------------------------------------------------------- /amtoolbox/modelstages/modelstagesinit.m: -------------------------------------------------------------------------------- 1 | % 2 | % Url: http://amtoolbox.sourceforge.net/doc//modelstages/modelstagesinit.php 3 | 4 | % Copyright (C) 2009-2013 Peter L. Søndergaard and others. 5 | % This file is part of AMToolbox version 0.9.1 6 | % 7 | % This program is free software: you can redistribute it and/or modify 8 | % it under the terms of the GNU General Public License as published by 9 | % the Free Software Foundation, either version 3 of the License, or 10 | % (at your option) any later version. 11 | % 12 | % This program is distributed in the hope that it will be useful, 13 | % but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | % MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | % GNU General Public License for more details. 16 | % 17 | % You should have received a copy of the GNU General Public License 18 | % along with this program. If not, see . 19 | status=1; 20 | 21 | -------------------------------------------------------------------------------- /amtoolbox/monaural/monauralinit.m: -------------------------------------------------------------------------------- 1 | % 2 | % Url: http://amtoolbox.sourceforge.net/doc//monaural/monauralinit.php 3 | 4 | % Copyright (C) 2009-2013 Peter L. Søndergaard and others. 5 | % This file is part of AMToolbox version 0.9.1 6 | % 7 | % This program is free software: you can redistribute it and/or modify 8 | % it under the terms of the GNU General Public License as published by 9 | % the Free Software Foundation, either version 3 of the License, or 10 | % (at your option) any later version. 11 | % 12 | % This program is distributed in the hope that it will be useful, 13 | % but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | % MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | % GNU General Public License for more details. 16 | % 17 | % You should have received a copy of the GNU General Public License 18 | % along with this program. If not, see . 19 | status=1; 20 | 21 | -------------------------------------------------------------------------------- /amtoolbox/monaural/petibubtest.txt: -------------------------------------------------------------------------------- 1 | kfhsafhkjf -------------------------------------------------------------------------------- /amtoolbox/oct/Makefile: -------------------------------------------------------------------------------- 1 | OCTS = comp_adaptloop.oct 2 | 3 | all: $(OCTS) 4 | 5 | %.oct: %.cc Makefile 6 | mkoctfile -Wall -I. $< 7 | 8 | clean: 9 | rm *.oct 10 | 11 | .PHONY: all clean -------------------------------------------------------------------------------- /amtoolbox/oct/comp_adaptloop.cc: -------------------------------------------------------------------------------- 1 | #include 2 | #include "../src/adaptloop.c" 3 | 4 | DEFUN_DLD (comp_adaptloop, args, , 5 | "This function calls the C-library\n\ 6 | c=comp_adaptloop(insig,fs,limit,minlvl);\n\ 7 | Yeah.") 8 | { 9 | 10 | const Matrix insig = args(0).matrix_value(); 11 | 12 | const int siglen = insig.rows(); 13 | const int nsigs = insig.columns(); 14 | 15 | const int fs = args(1).int_value(); 16 | const double limit = args(2).double_value(); 17 | const double minlvl = args(3).double_value(); 18 | const Matrix tau = args(4).matrix_value(); 19 | 20 | const int nloops = tau.rows()*tau.columns(); 21 | 22 | adaptloopstate s; 23 | 24 | Matrix outsig(siglen,nsigs); 25 | 26 | adaptloop_init(&s, nsigs, nloops); 27 | adaptloop_set(&s, fs, limit, minlvl, (const double*)tau.data()); 28 | adaptloop_run(&s, (double*)insig.data(), siglen, (double*)outsig.data()); 29 | adaptloop_free(&s); 30 | 31 | //adaptloop((double*)insig.data(),fs,siglen,nsigs,limit,minlvl,(double*)outsig.data()); 32 | return octave_value (outsig); 33 | } 34 | 35 | -------------------------------------------------------------------------------- /amtoolbox/oct/comp_adaptloop.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bootphon/features_extraction/e781ea0b7fa49ff67158b49114359963f985930d/amtoolbox/oct/comp_adaptloop.o -------------------------------------------------------------------------------- /amtoolbox/oct/comp_adaptloop.oct: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bootphon/features_extraction/e781ea0b7fa49ff67158b49114359963f985930d/amtoolbox/oct/comp_adaptloop.oct -------------------------------------------------------------------------------- /amtoolbox/oct/comp_adaptloop_run.cc: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | 4 | DEFUN_DLD (structdemo, args, , "Struct demo.") 5 | { 6 | int nargin = args.length (); 7 | octave_value retval; 8 | 9 | if (nargin != 2) 10 | print_usage (); 11 | else 12 | { 13 | Octave_map arg0 = args(0).map_value (); 14 | std::string arg1 = args(1).string_value (); 15 | 16 | if (! error_state && arg0.contains (arg1)) 17 | { 18 | // The following two lines might be written as 19 | // octave_value tmp; 20 | // for (Octave_map::iterator p0 = arg0.begin() ; 21 | // p0 != arg0.end(); p0++ ) 22 | // if (arg0.key (p0) == arg1) 23 | // { 24 | // tmp = arg0.contents (p0) (0); 25 | // break; 26 | // } 27 | // though using seek is more concise. 28 | Octave_map::const_iterator p1 = arg0.seek (arg1); 29 | octave_value tmp = arg0.contents(p1)(0); 30 | Octave_map st; 31 | st.assign ("selected", tmp); 32 | retval = octave_value (st); 33 | } 34 | } 35 | return retval; 36 | } 37 | -------------------------------------------------------------------------------- /amtoolbox/oct/comp_adaptloop_run.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bootphon/features_extraction/e781ea0b7fa49ff67158b49114359963f985930d/amtoolbox/oct/comp_adaptloop_run.o -------------------------------------------------------------------------------- /amtoolbox/oct/comp_adaptloop_run.oct: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bootphon/features_extraction/e781ea0b7fa49ff67158b49114359963f985930d/amtoolbox/oct/comp_adaptloop_run.oct -------------------------------------------------------------------------------- /amtoolbox/oct/comp_meddishaircell.cc: -------------------------------------------------------------------------------- 1 | #include 2 | #include "../src/meddishaircell.c" 3 | 4 | DEFUN_DLD (comp_meddishaircell, args, , 5 | "This function calls the C-library\n\ 6 | c=comp_meddishaircell(insig,fs);\n\ 7 | Yeah.") 8 | { 9 | 10 | const Matrix insig = args(0).matrix_value(); 11 | 12 | const int siglen = insig.rows(); 13 | const int nsigs = insig.columns(); 14 | 15 | const int fs = args(1).int_value(); 16 | 17 | 18 | Matrix outsig(siglen,nsigs); 19 | 20 | meddishaircell((double*)insig.data(), 21 | fs, 22 | siglen, 23 | (double*)outsig.data()); 24 | 25 | return octave_value (outsig); 26 | } 27 | 28 | -------------------------------------------------------------------------------- /amtoolbox/oct/octinit.m: -------------------------------------------------------------------------------- 1 | % 2 | % Url: http://amtoolbox.sourceforge.net/doc//oct/octinit.php 3 | 4 | % Copyright (C) 2009-2013 Peter L. Søndergaard and others. 5 | % This file is part of AMToolbox version 0.9.1 6 | % 7 | % This program is free software: you can redistribute it and/or modify 8 | % it under the terms of the GNU General Public License as published by 9 | % the Free Software Foundation, either version 3 of the License, or 10 | % (at your option) any later version. 11 | % 12 | % This program is distributed in the hope that it will be useful, 13 | % but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | % MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | % GNU General Public License for more details. 16 | % 17 | % You should have received a copy of the GNU General Public License 18 | % along with this program. If not, see . 19 | status=2; 20 | 21 | -------------------------------------------------------------------------------- /amtoolbox/signals/Danish_CLUE_10sentence_samples_22kHz.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bootphon/features_extraction/e781ea0b7fa49ff67158b49114359963f985930d/amtoolbox/signals/Danish_CLUE_10sentence_samples_22kHz.mat -------------------------------------------------------------------------------- /amtoolbox/signals/dietz2011_bNoise.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bootphon/features_extraction/e781ea0b7fa49ff67158b49114359963f985930d/amtoolbox/signals/dietz2011_bNoise.wav -------------------------------------------------------------------------------- /amtoolbox/signals/dietz2011_five_speakers.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bootphon/features_extraction/e781ea0b7fa49ff67158b49114359963f985930d/amtoolbox/signals/dietz2011_five_speakers.wav -------------------------------------------------------------------------------- /amtoolbox/signals/dietz2011_one_of_three.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bootphon/features_extraction/e781ea0b7fa49ff67158b49114359963f985930d/amtoolbox/signals/dietz2011_one_of_three.wav -------------------------------------------------------------------------------- /amtoolbox/signals/dietz2011_one_speaker_reverb.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bootphon/features_extraction/e781ea0b7fa49ff67158b49114359963f985930d/amtoolbox/signals/dietz2011_one_speaker_reverb.wav -------------------------------------------------------------------------------- /amtoolbox/signals/dietz2011_three_of_three.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bootphon/features_extraction/e781ea0b7fa49ff67158b49114359963f985930d/amtoolbox/signals/dietz2011_three_of_three.wav -------------------------------------------------------------------------------- /amtoolbox/signals/dietz2011_two_of_three.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bootphon/features_extraction/e781ea0b7fa49ff67158b49114359963f985930d/amtoolbox/signals/dietz2011_two_of_three.wav -------------------------------------------------------------------------------- /amtoolbox/signals/dietz2011_two_speakers.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bootphon/features_extraction/e781ea0b7fa49ff67158b49114359963f985930d/amtoolbox/signals/dietz2011_two_speakers.wav -------------------------------------------------------------------------------- /amtoolbox/signals/signalsinit.m: -------------------------------------------------------------------------------- 1 | % 2 | % Url: http://amtoolbox.sourceforge.net/doc//signals/signalsinit.php 3 | 4 | % Copyright (C) 2009-2013 Peter L. Søndergaard and others. 5 | % This file is part of AMToolbox version 0.9.1 6 | % 7 | % This program is free software: you can redistribute it and/or modify 8 | % it under the terms of the GNU General Public License as published by 9 | % the Free Software Foundation, either version 3 of the License, or 10 | % (at your option) any later version. 11 | % 12 | % This program is distributed in the hope that it will be useful, 13 | % but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | % MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | % GNU General Public License for more details. 16 | % 17 | % You should have received a copy of the GNU General Public License 18 | % along with this program. If not, see . 19 | status=1; 20 | 21 | 22 | -------------------------------------------------------------------------------- /amtoolbox/speech/speechinit.m: -------------------------------------------------------------------------------- 1 | % 2 | % Url: http://amtoolbox.sourceforge.net/doc//speech/speechinit.php 3 | 4 | % Copyright (C) 2009-2013 Peter L. Søndergaard and others. 5 | % This file is part of AMToolbox version 0.9.1 6 | % 7 | % This program is free software: you can redistribute it and/or modify 8 | % it under the terms of the GNU General Public License as published by 9 | % the Free Software Foundation, either version 3 of the License, or 10 | % (at your option) any later version. 11 | % 12 | % This program is distributed in the hope that it will be useful, 13 | % but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | % MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | % GNU General Public License for more details. 16 | % 17 | % You should have received a copy of the GNU General Public License 18 | % along with this program. If not, see . 19 | status=1; 20 | 21 | -------------------------------------------------------------------------------- /amtoolbox/src/Makefile: -------------------------------------------------------------------------------- 1 | # Use GNU Make to process this file 2 | CC = gcc 3 | CFLAGS=-O2 -Wall -fPIC -std=c99 4 | 5 | files = adaptloop.o meddishaircell.o strube1985.o 6 | 7 | all: libamtoolbox.a verhulst2012 8 | 9 | libamtoolbox.a: $(files) 10 | ar rvu libamtoolbox.a $(files_unix) 11 | ranlib libamtoolbox.a 12 | 13 | verhulst2012: 14 | $(MAKE) -C verhulst 15 | 16 | %.o: %.c Makefile 17 | $(CC) $(CFLAGS) -c $< 18 | 19 | clean: 20 | rm *.o *.a 21 | $(MAKE) -C verhulst clean 22 | -------------------------------------------------------------------------------- /amtoolbox/src/amtoolbox.h: -------------------------------------------------------------------------------- 1 | #ifndef AMTOOLBOX_H 2 | #define AMTOOLBOX_H 3 | 4 | /* BEGIN_C_DECLS */ 5 | 6 | #ifdef __cplusplus 7 | extern "C" 8 | { 9 | #endif /* __cplusplus */ 10 | 11 | typedef struct adaptloopstatevar 12 | { 13 | int loops; 14 | int nsigs; 15 | double *state; 16 | double corr; 17 | double mult; 18 | double limit; 19 | double minlvl; 20 | double *a1; 21 | double *factor, *expfac, *offset; 22 | } adaptloopstate; 23 | 24 | 25 | void adaptloop_init(adaptloopstate *s, const int nsigs, const int loops); 26 | 27 | void adaptloop_set(adaptloopstate *s, const int fs, const double limit, 28 | const double minlvl, const double *tau); 29 | 30 | void adaptloop_run(adaptloopstate *s, const double *insig, const int siglen, 31 | double *outsig); 32 | 33 | void adaptloop_free(adaptloopstate *s); 34 | 35 | 36 | #ifdef __cplusplus 37 | } /* extern "C" */ 38 | #endif /* __cplusplus */ 39 | 40 | /* END_C_DECLS */ 41 | 42 | 43 | #endif /* AMTOOLBOX_H */ 44 | -------------------------------------------------------------------------------- /amtoolbox/src/verhulst/AllocationError.f90: -------------------------------------------------------------------------------- 1 | ! Releases all allocated memory, 2 | ! displays message and 3 | ! terminates program 4 | 5 | SUBROUTINE AllocationError 6 | USE MessageModule 7 | IMPLICIT NONE 8 | 9 | CALL DeInitialize (.TRUE.) 10 | CALL DeInitialize (.FALSE.) 11 | CALL Message (MessageText(ALLOCATIONFAILURE), MessageTitle(ALLOCATIONFAILURE)) 12 | STOP 13 | 14 | END SUBROUTINE -------------------------------------------------------------------------------- /amtoolbox/src/verhulst/CloseWrite.f90: -------------------------------------------------------------------------------- 1 | ! Opens in 2 | ! If , a header row will be written, indicating 3 | ! what values will be written in each colum, that is: "time (s)" 4 | ! and "pressure Ear Canal (Pa)" 5 | 6 | SUBROUTINE CloseWrite 7 | USE Declare 8 | USE FilesModule 9 | IMPLICIT NONE 10 | 11 | IF (storePressureEarCanal) THEN 12 | CLOSE (FH_pEarcan) 13 | ENDIF 14 | 15 | IF (storeProbing) THEN 16 | CLOSE (FH_probing) 17 | ENDIF 18 | 19 | !IF (storeCochlea) THEN 20 | ! CLOSE (FH_cochlea) 21 | !ENDIF 22 | END SUBROUTINE CloseWrite 23 | -------------------------------------------------------------------------------- /amtoolbox/src/verhulst/DecibelToLevel.f90: -------------------------------------------------------------------------------- 1 | ! returns the level in pressure, corresponding to the relative to the - pressure. 2 | 3 | FUNCTION DecibelToLevel (dB_value, reference) 4 | IMPLICIT NONE 5 | REAL(8) DecibelToLevel 6 | REAL(8), INTENT(IN) :: dB_value 7 | REAL(8), INTENT(IN) :: reference 8 | 9 | DecibelToLevel = reference * 10 ** (dB_value / 20) 10 | 11 | END FUNCTION -------------------------------------------------------------------------------- /amtoolbox/src/verhulst/FilesModule.f90: -------------------------------------------------------------------------------- 1 | !This module is shared by "Cochlea" and "CochleaDialog" 2 | 3 | MODULE FilesModule 4 | SAVE 5 | 6 | ! File Handlers 7 | INTEGER, PARAMETER :: FH_PARAMETERS = 10 8 | INTEGER, PARAMETER :: FH_GAMMA = 20 9 | INTEGER, PARAMETER :: FH_FINALPOSITIONS = 30 10 | INTEGER, PARAMETER :: FH_FINALVELOCITIES = 40 11 | INTEGER, PARAMETER :: FH_PEARCAN = 100 12 | INTEGER, PARAMETER :: FH_PROFILE = 200 13 | INTEGER, PARAMETER :: FH_PROBING = 300 14 | INTEGER, PARAMETER :: FH_COCHLEA = 400 15 | 16 | ! File Names 17 | CHARACTER(*), PARAMETER :: FN_PARAMETERS = 'parameters.dat' 18 | CHARACTER(*), PARAMETER :: FN_GAMMA = 'gamma.dat' 19 | CHARACTER(*), PARAMETER :: FN_FINALPOSITIONS = 'final_y.bin' 20 | CHARACTER(*), PARAMETER :: FN_FINALVELOCITIES = 'final_v.bin' 21 | 22 | INTEGER, PARAMETER :: READS = 0 23 | INTEGER, PARAMETER :: WRITES = 1 24 | LOGICAL ParameterFileSucceeded !indicates whether last write/read parameters operation succeeded or not 25 | 26 | CHARACTER(9) writeFormat 27 | 28 | END MODULE FilesModule 29 | -------------------------------------------------------------------------------- /amtoolbox/src/verhulst/GraphsModule.f90: -------------------------------------------------------------------------------- 1 | MODULE GraphsModule 2 | IMPLICIT NONE 3 | 4 | INTEGER(2), ALLOCATABLE :: membrane_y_pixel (:) 5 | INTEGER(2), ALLOCATABLE :: section_axis(:) 6 | INTEGER, ALLOCATABLE :: white(:) 7 | INTEGER, ALLOCATABLE :: black(:) 8 | REAL, ALLOCATABLE :: velocityMatrix ( : , : ) 9 | REAL, ALLOCATABLE :: positionMatrix ( : , : ) 10 | INTEGER(2) t_plotCounter 11 | REAL(8), ALLOCATABLE :: PositionPhase(:) 12 | REAL(8), ALLOCATABLE :: VelocityPhase(:) 13 | REAL(8), ALLOCATABLE :: previousPosition(:) 14 | REAL(8), ALLOCATABLE :: previousVelocity(:) 15 | REAL, ALLOCATABLE :: LastPositionPoints(:, :) 16 | REAL, ALLOCATABLE :: LastVelocityPoints(:, :) 17 | 18 | INTEGER LastIndex 19 | REAL maximumVelocity 20 | REAL minimumVelocity 21 | REAL maximumPosition 22 | REAL minimumPosition 23 | INTEGER t_plotpoints 24 | INTEGER n_plotpoints 25 | 26 | END MODULE GraphsModule 27 | -------------------------------------------------------------------------------- /amtoolbox/src/verhulst/InitializeFiles.f90: -------------------------------------------------------------------------------- 1 | SUBROUTINE InitializeFiles 2 | USE Declare 3 | USE FilesModule 4 | USE MessageModule 5 | ! USE DFLIB 6 | IMPLICIT NONE 7 | INTEGER length, startIndex 8 | LOGICAL ok, driveLetterPresent 9 | 10 | IF (storePressureEarCanal .OR. storeProfile .OR. storeProbing) THEN 11 | OutputDirectory = ADJUSTL(OutputDirectory) 12 | driveLetterPresent = INDEX(OutputDirectory, ":") == 2 13 | length = LEN_TRIM(outputDirectory) 14 | 15 | length = LEN_TRIM(outputDirectory) 16 | 17 | startIndex = 1 18 | IF (driveLetterPresent) startIndex = 3 19 | 20 | WriteFormat = 'FORMATTED' 21 | 22 | ENDIF 23 | 24 | END SUBROUTINE InitializeFiles 25 | -------------------------------------------------------------------------------- /amtoolbox/src/verhulst/InitializeGraphs.f90: -------------------------------------------------------------------------------- 1 | SUBROUTINE InitializeGraphs 2 | USE Declare 3 | USE GraphsModule 4 | IMPLICIT NONE 5 | 6 | n_plotpoints = (n-1)/plotEvery_n_points +1 7 | t_plotpoints = kmax/plotEvery_t_points +1 8 | ALLOCATE (section_axis(0: n_plotpoints-1), & 9 | 10 | velocityMatrix (0:n_plotpoints-1, 0:t_plotpoints-1), & 11 | positionMatrix (0:n_plotpoints-1, 0:t_plotpoints-1), & 12 | PositionPhase(0:n_plotpoints - 1), & 13 | VelocityPhase(0:n_plotpoints - 1), & 14 | previousPosition(0:n_plotpoints - 1), & 15 | previousVelocity(0:n_plotpoints - 1), & 16 | STAT = err) 17 | 18 | IF (err /= 0) CALL AllocationError 19 | PositionPhase = -1 20 | VelocityPhase = -1 21 | previousPosition = 0 22 | previousVelocity = 0 23 | 24 | section_axis = [0 : n_plotpoints - 1] 25 | membrane_y_pixel = 0 26 | t_plotCounter = -1 27 | 28 | END SUBROUTINE InitializeGraphs 29 | -------------------------------------------------------------------------------- /amtoolbox/src/verhulst/InitializeMiddleEar.f90: -------------------------------------------------------------------------------- 1 | SUBROUTINE InitializeMiddleEar 2 | USE Declare 3 | IMPLICIT NONE 4 | 5 | REAL(8) stapes_area 6 | stapes_area = stapesArea(parameterSet) 7 | 8 | !the ME represents a resistance Rme 9 | !that equals the cochlear input impedance at low frequencies. 10 | !By doing this, there are little reflections of cochlear energy 11 | !back into the model, as it absorbs the energy at the stapes. 12 | 13 | Mme=1d0 !dummy parameter 14 | q0_factor = ZweigMpo * bm_width 15 | p0x = (ZweigMso * dx) / (Mme * ZweigMpo * bm_width ) 16 | d_m_factor = - p0x * stapes_area * Rme 17 | RK4_0 = -(bm_width * ZweigMpo)/(Mme * stapes_area) !for RK4 method 18 | RK4G_0= (ZweigMpo * bm_width)/(ZweigMso * stapes_area * dx) 19 | END SUBROUTINE InitializeMiddleEar 20 | -------------------------------------------------------------------------------- /amtoolbox/src/verhulst/InitializeStimulus.f90: -------------------------------------------------------------------------------- 1 | ! Calculation of values related to 'loudness' and frequency of an external stimulus. 2 | 3 | SUBROUTINE InitializeStimulus 4 | USE Declare 5 | IMPLICIT NONE 6 | REAL(8) DecibelToLevel 7 | 8 | signal1Pressure = DecibelToLevel (signal1Level, p0) 9 | signal2Pressure = DecibelToLevel (signal2Level, p0) 10 | signal3Pressure = DecibelToLevel (signal3Level, p0) 11 | audioFilePressure = DecibelToLevel (audioFileLevel, p0) 12 | signal1AngularFrequency =2 * pi * signal1Frequency 13 | signal2AngularFrequency = 2 * pi * signal2Frequency 14 | IF (useAudioFile) THEN 15 | maximumSignalPressure = audioFilePressure 16 | ELSE 17 | maximumSignalPressure = 0 18 | IF (useSignal1) maximumSignalPressure = signal1Pressure 19 | IF (useSignal2) maximumSignalPressure = maximumSignalPressure + signal2Pressure 20 | IF (useSignal3) maximumSignalPressure = maximumSignalPressure + signal3Pressure 21 | ENDIF 22 | 23 | END SUBROUTINE InitializeStimulus -------------------------------------------------------------------------------- /amtoolbox/src/verhulst/InitializeZweig.f90: -------------------------------------------------------------------------------- 1 | SUBROUTINE InitializeZweig 2 | 3 | USE Declare 4 | IMPLICIT NONE 5 | REAL(8) f_resonance(1:n) 6 | REAL(8) exact_delay(1:n) 7 | REAL(8) relative_position(n) 8 | REAL(8) adaptation(n) 9 | REAL(8) HighFrequencyAdaptationFactor 10 | 11 | 12 | !Delay corresponds to the maximal possible delay in the model 13 | !determines the length of the buffers 14 | f_resonance = omega(1:n) / (2d0 * pi) 15 | exact_delay = SheraMuMax / (f_resonance(1:n) * dt) ![] 16 | delay = INT (exact_delay) + 1.d0 ! delay in integer number of samples 17 | 18 | ALLOCATE (Ybuffer(SUM(delay)), STAT = err) 19 | IF (err/=0) CALL AllocationError 20 | 21 | Ybuffer = 0 22 | ZweigSample1(1) = 1d0 !write pointer 23 | Zwp(1)=1d0 !write pointer 24 | DO i = 2, n 25 | ZweigSample1(i) = ZweigSample1(i-1) + delay(i-1) 26 | Zwp(i)=Zwp(i-1) + delay(i-1) 27 | ENDDO 28 | ZweigSample2 = ZweigSample1 + 1d0 29 | 30 | END SUBROUTINE InitializeZweig 31 | -------------------------------------------------------------------------------- /amtoolbox/src/verhulst/IntToString.f90: -------------------------------------------------------------------------------- 1 | !This function is used by "cochlea" and "cochleaDialog" 2 | 3 | !Returns a left-aligned string of 12 characters representing the integer 4 | 5 | FUNCTION IntToString (int) 6 | IMPLICIT NONE 7 | INTEGER int 8 | CHARACTER(12) IntToString, temp 9 | 10 | WRITE (temp, *) int 11 | IntToString = ADJUSTL (temp) 12 | 13 | END FUNCTION IntToString 14 | -------------------------------------------------------------------------------- /amtoolbox/src/verhulst/LowPassFilter.f90: -------------------------------------------------------------------------------- 1 | ! Calculates the Inverse Fourier Transform of a low pass filter 2 | ! with cut off frequency . 3 | ! answer(n) = 2 * f * sinc (2 * pi * f * n) = sin (2 * pi * f * n)/(pi * n) 4 | ! Answer is array [-M ... 0 ... M] containing 2*M + 1 values 5 | 6 | SUBROUTINE LowPassFilter (answer, M, f_cutoff) 7 | IMPLICIT NONE 8 | 9 | INTEGER, INTENT(IN) :: M 10 | REAL, INTENT(OUT) :: answer(-M:M) 11 | REAL, INTENT(IN) :: f_cutoff 12 | REAL sinc 13 | 14 | REAL, PARAMETER :: pi = 3.14159265 15 | REAL two_pi_f 16 | INTEGER n 17 | 18 | two_pi_f = 2 * pi * f_cutoff 19 | 20 | DO n = 1, M 21 | answer(n) = SIN (two_pi_f * n) / (pi * n) 22 | ! sinc is symmetrisch, dus: 23 | answer(-n) = answer(n) 24 | ENDDO 25 | answer(0) = 2 * f_cutoff 26 | 27 | END SUBROUTINE LowPassFilter -------------------------------------------------------------------------------- /amtoolbox/src/verhulst/Message.f90: -------------------------------------------------------------------------------- 1 | ! displays message box with and 2 | 3 | SUBROUTINE Message (text, title) 4 | ! USE IFQWIN 5 | IMPLICIT NONE 6 | CHARACTER(*), INTENT(IN) :: text 7 | CHARACTER(*), INTENT(IN) :: title 8 | ! integer(4) :: messageResult 9 | 10 | ! messageResult = MessageBoxQQ (TRIM(text), TRIM(title), MB$OK .OR. MB$ICONEXCLAMATION) 11 | WRITE (*,*) text 12 | 13 | END SUBROUTINE 14 | -------------------------------------------------------------------------------- /amtoolbox/src/verhulst/OpenPressureEarCanal.f90: -------------------------------------------------------------------------------- 1 | ! Opens <PressureEarCanalFileName> in <outputDirectory> 2 | ! If <storeExtraInfo>, a header row will be written, indicating 3 | ! what values will be written in each colum, that is: "time (s)" 4 | ! and "pressure Ear Canal (Pa)" 5 | 6 | SUBROUTINE OpenPressureEarCanal 7 | USE Declare 8 | USE FilesModule 9 | IMPLICIT NONE 10 | INTEGER ios 11 | 12 | IF (storePressureEarCanal) THEN 13 | OPEN (FH_pEarcan, FILE = TRIM(OutputDirectory) // TRIM(PressureEarCanalFileName), FORM = writeFormat, IOSTAT = ios) 14 | 15 | ENDIF 16 | END SUBROUTINE OpenPressureEarCanal 17 | -------------------------------------------------------------------------------- /amtoolbox/src/verhulst/OpenWrite.f90: -------------------------------------------------------------------------------- 1 | ! Opens <PressureEarCanalFileName> in <outputDirectory> 2 | ! If <storeExtraInfo>, a header row will be written, indicating 3 | ! what values will be written in each colum, that is: "time (s)" 4 | ! and "pressure Ear Canal (Pa)" 5 | 6 | SUBROUTINE OpenWrite 7 | USE Declare 8 | USE FilesModule 9 | IMPLICIT NONE 10 | INTEGER ios 11 | INTEGER iosec 12 | 13 | IF (storePressureEarCanal) THEN 14 | OPEN (FH_pEarcan, FILE = TRIM(OutputDirectory) // TRIM(PressureEarCanalFileName), FORM = writeFormat, IOSTAT = iosec) 15 | ENDIF 16 | 17 | IF (storeProbing) THEN 18 | OPEN (FH_probing, FILE = TRIM(outputDirectory) // TRIM(probingFileName), FORM = writeFormat, IOSTAT = ios) 19 | ENDIF 20 | 21 | !IF (storeCochlea) THEN 22 | ! OPEN (FH_cochlea, FILE = TRIM(outputDirectory) // TRIM(CochleaFileName), FORM = writeFormat, IOSTAT = ios) 23 | 24 | !ENDIF 25 | END SUBROUTINE OpenWrite 26 | -------------------------------------------------------------------------------- /amtoolbox/src/verhulst/PlotGraphs.f90: -------------------------------------------------------------------------------- 1 | SUBROUTINE PlotGraphs 2 | 3 | USE Declare 4 | USE GraphsModule 5 | IMPLICIT NONE 6 | INTEGER ii 7 | 8 | ! IF (MOD(kk, plotEvery_t_points) == 0) THEN 9 | ! t_plotCounter = t_plotCounter +1 10 | ! store current velocities and position of sections 1:n with an interval of plotEvery_n_points in velocityMatrix and positionMatrix 11 | ! velocityMatrix(section_axis, t_plotCounter) = REAL(V(1:n:plotEvery_n_points))! 12 | ! positionMatrix(section_axis, t_plotCounter) = REAL(Y(1:n:plotEvery_n_points)) 13 | ! ENDIF 14 | 15 | END SUBROUTINE PlotGraphs 16 | -------------------------------------------------------------------------------- /amtoolbox/src/verhulst/ReadError.f90: -------------------------------------------------------------------------------- 1 | !displays a message box informing the user that a read error occurred 2 | ! while reading from <fileName> 3 | 4 | SUBROUTINE ReadError(fileName) 5 | ! USE DFLIB 6 | IMPLICIT NONE 7 | CHARACTER (*), INTENT(IN) :: fileName 8 | ! integer(4) :: messageBoxQQresult 9 | 10 | ! messageBoxQQresult = MESSAGEBOXQQ ("Could not read from " // TRIM(fileName) // & 11 | ! &".\nMake sure the file is in the right directory, it's a correct & 12 | ! &\nfile and the file is not in use by another program"C, & 13 | ! &"Error reading "//TRIM(FileName) // ""C, MB$OK .OR. MB$ICONINFORMATION) 14 | WRITE (*,*) 'could not read data file: ' // TRIM(fileName) 15 | 16 | END SUBROUTINE 17 | -------------------------------------------------------------------------------- /amtoolbox/src/verhulst/ReadParameterFile.f90: -------------------------------------------------------------------------------- 1 | ! This routine is shared by "Cochlea" and CochleaDialog" 2 | 3 | ! reads parameters from <FileName> using a call to Parameters 4 | 5 | SUBROUTINE ReadParameterFile (FileName) 6 | USE FilesModule 7 | IMPLICIT NONE 8 | CHARACTER(512), INTENT (IN) :: FileName 9 | INTEGER ios 10 | 11 | OPEN (FH_parameters, FILE = FileName, IOSTAT = ios) 12 | CALL Parameters (READS, FH_parameters) 13 | CLOSE (FH_parameters) 14 | 15 | END SUBROUTINE ReadParameterFile -------------------------------------------------------------------------------- /amtoolbox/src/verhulst/SheraParameters.f90: -------------------------------------------------------------------------------- 1 | !this subroutine calculates SheraRho(1:n), SheraMu(1:n) and Sherad(1:n) 2 | !for a given pole distribtion SheraP(1:n) along the length of the cochlea 3 | !for calculation details see footnote 8 of Shera 2001 4 | 5 | SUBROUTINE SheraParameters 6 | USE Declare 7 | IMPLICIT NONE 8 | REAL(8), PARAMETER :: c = 120.8998691636393d0 9 | REAL(8) a(1:n) 10 | REAL(8) pimu(1:n) 11 | 12 | a(1:n) = ( SheraP(1:n) + DSQRT( (SheraP(1:n) ** 2d0) + c * (1d0 - (SheraP(1:n) ** 2d0))) ) / c 13 | Sherad(1:n) = 2d0 * (SheraP(1:n) - (a(1:n))) 14 | !SheraMu(1:n) = 1.7435d0 !to be idem to ZweigFactor !1.7441d0 15 | SheraMu(1:n)=1d0 / (2d0 * pi * a(1:n)) !replaced from the tlm2012 implementation. Is now made variable 16 | ! pimu = 1 / (2 * a(1:n)) 17 | ! SheraRho = (DSQRT(1.d0 - (Sherad(1:n) ** 2d0)/4)) / (pimu(1:n) * DEXP(1.d0 + pimu * Sherad)) 18 | SheraRho(1:n) = 2d0 * a(1:n) * DSQRT(1d0 - (Sherad(1:n)/2d0)**2d0) * DEXP(-SheraP(1:n)/a(1:n)) !replaced from the tlm2012 implementation 19 | 20 | END SUBROUTINE SheraParameters 21 | -------------------------------------------------------------------------------- /amtoolbox/src/verhulst/WriteError.f90: -------------------------------------------------------------------------------- 1 | !displays a message box informing the user that a write error occurred 2 | ! while writing to <fileName> 3 | 4 | SUBROUTINE WriteError(message) 5 | ! USE DFLIB 6 | IMPLICIT NONE 7 | CHARACTER (*), INTENT(IN) :: message 8 | ! integer(4) :: MESSAGEBOXQQresult 9 | ! MESSAGEBOXQQresult = MESSAGEBOXQQ ("Could not write to " // TRIM(fileName) // ".\nMake sure file is not write protected or in use by\nanother program and that there is enough disk space."C, & 10 | ! "Error writing "//TRIM(FileName) // ""C, MB$OK .OR. MB$ICONINFORMATION) 11 | WRITE (*,*) 'Could not write to file: ' // TRIM(message) 12 | END SUBROUTINE 13 | -------------------------------------------------------------------------------- /amtoolbox/src/verhulst/WriteMembraneStatus.f90: -------------------------------------------------------------------------------- 1 | ! If <storeMembraneStatus>, stores final BM-displacement 2 | ! <Y> and BM-velocity <V> in the binary files 3 | ! <FN_FINALPOSITIONS> and <FN_FINALVELOCITIES> respectively. 4 | 5 | ! If a write error occurres, WriteError is called 6 | SUBROUTINE WriteMembraneStatus 7 | USE Declare 8 | USE FilesModule 9 | IMPLICIT NONE 10 | 11 | INTEGER irl, ios 12 | 13 | IF (storeMembraneStatus) THEN 14 | irl = (n+1)*8 15 | 16 | ! write final mebrane state (positions) 17 | OPEN (FH_FINALPOSITIONS, FILE = FN_FINALPOSITIONS, ACCESS='direct', RECL=irl, IOSTAT = ios) 18 | WRITE (FH_FINALPOSITIONS, REC = 1, IOSTAT = ios) Y !(Y(i), i=0,n) 19 | CLOSE (FH_FINALPOSITIONS) 20 | IF (ios /= 0) CALL WriteError(FN_FINALPOSITIONS) 21 | 22 | ! write final mebrane state (velocities) 23 | OPEN (FH_FINALVELOCITIES, FILE = FN_FINALVELOCITIES, ACCESS='direct', RECL=irl, IOSTAT = ios) 24 | WRITE (FH_FINALVELOCITIES, REC=1, IOSTAT = ios) V !(v(i), i=0,n) 25 | CLOSE (FH_FINALVELOCITIES) 26 | IF (ios /= 0) CALL WriteError(FN_FINALVELOCITIES) 27 | 28 | ENDIF 29 | 30 | END SUBROUTINE WriteMembraneStatus 31 | -------------------------------------------------------------------------------- /config_doc.rst: -------------------------------------------------------------------------------- 1 | =========== 2 | Parameters: 3 | =========== 4 | Mel: 5 | ---- 6 | 7 | - *alpha*: pre-emphasis 8 | - *frate*: frame rate 9 | - *fs*: frequency sampling 10 | - *lowerf*: 11 | - *upperf*: 12 | - *nfft*: fast fourier transform ? 13 | - *nfilt*: filterbanks ? 14 | - *wlen*: window length 15 | 16 | Mfcc: 17 | ----- 18 | 19 | - *alpha*: pre-emphasis 20 | - *frate*: frame rate 21 | - *fs*: frequency sampling 22 | - *lowerf*: 23 | - *upperf*: 24 | - *nfft*: 25 | - *nfilt*: 26 | - *wlen*: window length 27 | - *do_deltas*: calculate deltas 28 | - *do_deltasdeltas*: calculate double deltas 29 | 30 | Rasta: 31 | ------ 32 | - *dorasta*: do rasta; if 0, just calculate PLP 33 | - *modelorder*: order of the PLP model 34 | - *wlen*: window length 35 | - *frate*: frame rate 36 | -------------------------------------------------------------------------------- /drnl_config.json: -------------------------------------------------------------------------------- 1 | { 2 | "features": "drnl", 3 | "wlen": 0.010, 4 | "frate": 100, 5 | "fs": 44100 6 | } -------------------------------------------------------------------------------- /get_center_times.m: -------------------------------------------------------------------------------- 1 | function [center_times] = get_center_times(sig, fs, frate, wlen); 2 | 3 | duration = numel(sig)/fs; 4 | center_times = linspace(0, duration, numel(sig)) 5 | 6 | % wshift_smp = fs / frate; 7 | % wlen_smp = wlen * fs; 8 | % nframes = size(sig, 1) / wshift_smp + 1; 9 | % center_times = zeros(nframes, 1); 10 | % for fr = 1:nframes 11 | % start_smp = round(fr * wshift_smp); 12 | % end_smp = min(size(sig, 1), start_smp + wlen_smp); 13 | % start_ms = start_smp / fs; 14 | % end_ms = end_smp / fs; 15 | % center_times(fr) = (start_ms + end_ms) / 2; 16 | % end -------------------------------------------------------------------------------- /jsonlab/README.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bootphon/features_extraction/e781ea0b7fa49ff67158b49114359963f985930d/jsonlab/README.txt -------------------------------------------------------------------------------- /jsonlab/examples/example1.json: -------------------------------------------------------------------------------- 1 | { 2 | "firstName": "John", 3 | "lastName": "Smith", 4 | "age": 25, 5 | "address": 6 | { 7 | "streetAddress": "21 2nd Street", 8 | "city": "New York", 9 | "state": "NY", 10 | "postalCode": "10021" 11 | }, 12 | "phoneNumber": 13 | [ 14 | { 15 | "type": "home", 16 | "number": "212 555-1234" 17 | }, 18 | { 19 | "type": "fax", 20 | "number": "646 555-4567" 21 | } 22 | ] 23 | } 24 | -------------------------------------------------------------------------------- /jsonlab/examples/example2.json: -------------------------------------------------------------------------------- 1 | { 2 | "glossary": { 3 | "title": "example glossary", 4 | "GlossDiv": { 5 | "title": "S", 6 | "GlossList": { 7 | "GlossEntry": { 8 | "ID": "SGML", 9 | "SortAs": "SGML", 10 | "GlossTerm": "Standard Generalized Markup Language", 11 | "Acronym": "SGML", 12 | "Abbrev": "ISO 8879:1986", 13 | "GlossDef": { 14 | "para": "A meta-markup language, used to create markup languages such as DocBook.", 15 | "GlossSeeAlso": ["GML", "XML"] 16 | }, 17 | "GlossSee": "markup" 18 | } 19 | } 20 | } 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /jsonlab/examples/example3.json: -------------------------------------------------------------------------------- 1 | {"menu": { 2 | "id": "file", 3 | "value": "_&File", 4 | "popup": { 5 | "menuitem": [ 6 | {"value": "_&New", "onclick": "CreateNewDoc(\"\"\")"}, 7 | {"value": "_&Open", "onclick": "OpenDoc()"}, 8 | {"value": "_&Close", "onclick": "CloseDoc()"} 9 | ] 10 | } 11 | }} 12 | -------------------------------------------------------------------------------- /jsonlab/examples/example4.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "sample" : { 4 | "rho" : 1 5 | } 6 | }, 7 | { 8 | "sample" : { 9 | "rho" : 2 10 | } 11 | }, 12 | [ 13 | { 14 | "_ArrayType_" : "double", 15 | "_ArraySize_" : [1,2], 16 | "_ArrayData_" : [1,0] 17 | }, 18 | { 19 | "_ArrayType_" : "double", 20 | "_ArraySize_" : [1,2], 21 | "_ArrayData_" : [1,1] 22 | }, 23 | { 24 | "_ArrayType_" : "double", 25 | "_ArraySize_" : [1,2], 26 | "_ArrayData_" : [1,2] 27 | } 28 | ], 29 | [ 30 | "Paper", 31 | "Scissors", 32 | "Stone" 33 | ] 34 | ] 35 | -------------------------------------------------------------------------------- /jsonlab/examples/jsonlab_selftest.m: -------------------------------------------------------------------------------- 1 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 2 | % Regression Test Unit of loadjson and savejson 3 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 4 | 5 | for i=1:4 6 | fname=sprintf('example%d.json',i); 7 | if(exist(fname,'file')==0) break; end 8 | fprintf(1,'===============================================\n>> %s\n',fname); 9 | json=savejson('data',loadjson(fname)); 10 | fprintf(1,'%s\n',json); 11 | data=loadjson(json); 12 | end 13 | 14 | for i=1:4 15 | fname=sprintf('example%d.json',i); 16 | if(exist(fname,'file')==0) break; end 17 | fprintf(1,'===============================================\n>> %s\n',fname); 18 | json=saveubjson('data',loadjson(fname)); 19 | fprintf(1,'%s\n',json); 20 | data=loadubjson(json); 21 | savejson('',data) 22 | end 23 | -------------------------------------------------------------------------------- /jsonlab/examples/jsonlab_speedtest.m: -------------------------------------------------------------------------------- 1 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 2 | % Benchmarking processing speed of savejson and loadjson 3 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 4 | 5 | datalen=[1e3 1e4 1e5 1e6]; 6 | len=length(datalen); 7 | tsave=zeros(len,1); 8 | tload=zeros(len,1); 9 | for i=1:len 10 | tic; 11 | json=savejson('data',struct('d1',rand(datalen(i),3),'d2',rand(datalen(i),3)>0.5)); 12 | tsave(i)=toc; 13 | data=loadjson(json); 14 | tload(i)=toc-tsave(i); 15 | fprintf(1,'matrix size: %d\n',datalen(i)); 16 | end 17 | 18 | loglog(datalen,tsave,'o-',datalen,tload,'r*-'); 19 | legend('savejson runtime (s)','loadjson runtime (s)'); 20 | xlabel('array size'); 21 | ylabel('running time (s)'); 22 | -------------------------------------------------------------------------------- /jsonlab/jsonopt.m: -------------------------------------------------------------------------------- 1 | function val=jsonopt(key,default,varargin) 2 | % 3 | % val=jsonopt(key,default,optstruct) 4 | % 5 | % setting options based on a struct. The struct can be produced 6 | % by varargin2struct from a list of 'param','value' pairs 7 | % 8 | % authors:Qianqian Fang (fangq<at> nmr.mgh.harvard.edu) 9 | % 10 | % $Id: loadjson.m 371 2012-06-20 12:43:06Z fangq $ 11 | % 12 | % input: 13 | % key: a string with which one look up a value from a struct 14 | % default: if the key does not exist, return default 15 | % optstruct: a struct where each sub-field is a key 16 | % 17 | % output: 18 | % val: if key exists, val=optstruct.key; otherwise val=default 19 | % 20 | % license: 21 | % BSD license, see LICENSE_BSD.txt files for details 22 | % 23 | % -- this function is part of jsonlab toolbox (http://iso2mesh.sf.net/cgi-bin/index.cgi?jsonlab) 24 | % 25 | 26 | val=default; 27 | if(nargin<=2) return; end 28 | opt=varargin{1}; 29 | if(isstruct(opt) && isfield(opt,key)) 30 | val=getfield(opt,key); 31 | end 32 | 33 | -------------------------------------------------------------------------------- /jsonlab/mergestruct.m: -------------------------------------------------------------------------------- 1 | function s=mergestruct(s1,s2) 2 | % 3 | % s=mergestruct(s1,s2) 4 | % 5 | % merge two struct objects into one 6 | % 7 | % authors:Qianqian Fang (fangq<at> nmr.mgh.harvard.edu) 8 | % date: 2012/12/22 9 | % 10 | % input: 11 | % s1,s2: a struct object, s1 and s2 can not be arrays 12 | % 13 | % output: 14 | % s: the merged struct object. fields in s1 and s2 will be combined in s. 15 | % 16 | % license: 17 | % BSD license, see LICENSE_BSD.txt files for details 18 | % 19 | % -- this function is part of jsonlab toolbox (http://iso2mesh.sf.net/cgi-bin/index.cgi?jsonlab) 20 | % 21 | 22 | if(~isstruct(s1) || ~isstruct(s2)) 23 | error('input parameters contain non-struct'); 24 | end 25 | if(length(s1)>1 || length(s2)>1) 26 | error('can not merge struct arrays'); 27 | end 28 | fn=fieldnames(s2); 29 | s=s1; 30 | for i=1:length(fn) 31 | s=setfield(s,fn{i},getfield(s2,fn{i})); 32 | end 33 | 34 | -------------------------------------------------------------------------------- /jsonlab/varargin2struct.m: -------------------------------------------------------------------------------- 1 | function opt=varargin2struct(varargin) 2 | % 3 | % opt=varargin2struct('param1',value1,'param2',value2,...) 4 | % or 5 | % opt=varargin2struct(...,optstruct,...) 6 | % 7 | % convert a series of input parameters into a structure 8 | % 9 | % authors:Qianqian Fang (fangq<at> nmr.mgh.harvard.edu) 10 | % date: 2012/12/22 11 | % 12 | % input: 13 | % 'param', value: the input parameters should be pairs of a string and a value 14 | % optstruct: if a parameter is a struct, the fields will be merged to the output struct 15 | % 16 | % output: 17 | % opt: a struct where opt.param1=value1, opt.param2=value2 ... 18 | % 19 | % license: 20 | % BSD license, see LICENSE_BSD.txt files for details 21 | % 22 | % -- this function is part of jsonlab toolbox (http://iso2mesh.sf.net/cgi-bin/index.cgi?jsonlab) 23 | % 24 | 25 | len=length(varargin); 26 | opt=struct; 27 | if(len==0) return; end 28 | i=1; 29 | while(i<=len) 30 | if(isstruct(varargin{i})) 31 | opt=mergestruct(opt,varargin{i}); 32 | elseif(ischar(varargin{i}) && i<len) 33 | opt=setfield(opt,varargin{i},varargin{i+1}); 34 | i=i+1; 35 | else 36 | error('input must be in the form of ...,''name'',value,... pairs or structs'); 37 | end 38 | i=i+1; 39 | end 40 | 41 | -------------------------------------------------------------------------------- /ltfat/AUTHORS: -------------------------------------------------------------------------------- 1 | Peter Soendergaard <Peter.Soendergaard@oeaw.ac.at> 2 | Zdenek Prusa <Zdenek.Prusa@oeaw.ac.at> 3 | Peter Balazs <Peter.Balazs@oeaw.ac.at> 4 | Bruno Torresani <Bruno.Torresani@univ-provence.fr> 5 | Hans G. Feichtinger <hans.feichtinger@univie.ac.at> 6 | -------------------------------------------------------------------------------- /ltfat/CITATION: -------------------------------------------------------------------------------- 1 | To cite LTFAT in publications please use: 2 | 3 | Peter L. Søndergaard, Bruno Torrésani, Peter Balazs. The Linear Time-Frequency Analysis Toolbox. 4 | International Journal of Wavelets, Multiresolution Analysis and Information Processing, 10(4), 2012. 5 | 6 | A BibTex entry for LaTex users: 7 | 8 | @article{ltfatnote015, 9 | author = "Peter L. S{\o}ndergaard and Bruno Torr\'esani and Peter Balazs", 10 | title = {{The Linear Time Frequency Analysis Toolbox}}, 11 | journal = "International Journal of Wavelets, Multiresolution Analysis and Information Processing", 12 | year = 2012, 13 | volume = 10, 14 | number = 4, 15 | doi = "10.1142/S0219691312500324" 16 | } 17 | -------------------------------------------------------------------------------- /ltfat/INSTALL: -------------------------------------------------------------------------------- 1 | 2 | --------- Running the toolbox -------------------- 3 | 4 | In Matlab or Octave type "ltfatstart" as the first command from the 5 | installation directory. This will set up the correct paths. 6 | 7 | In Octave you can put this command in your ~/.octaverc file. In Matlab 8 | you can put this command in your startup.m file. Your startup file of 9 | choice should contain some lines like this: 10 | 11 | addpath /path/to/ltfat 12 | ltfatstart; 13 | 14 | The ltfatstart command will add all the necessary subdirectories (so 15 | please don't add these manually), and it will print a statement 16 | telling you which backend you are currently using. 17 | 18 | -------- Compiling the toolbox ------- ------------ 19 | 20 | - If you wish to use the toolbox with Matlab, see the file INSTALL-Matlab 21 | 22 | - If you wish to use the toolbox with Octave, see the file INSTALL-Octave 23 | 24 | -------------------------------------------------------------------------------- /ltfat/README: -------------------------------------------------------------------------------- 1 | To use the toolbox, 'cd' to this directory and execute 'ltfatstart'. 2 | 3 | In Octave you can put this command in your ~/.octaverc file. 4 | 5 | Directory struture. 6 | 7 | The toolbox is organized in subdirectories as follows: 8 | 9 | fourier - Fourier analysis, DCT/DST transforms and filters. 10 | gabor - Gabor, Wilson and WMDCT analysis and synthesis functions. 11 | filterbank - Filter banks. 12 | nonstatgab - Non-stationary Gabor frames. 13 | sparsereg - Tools for sparse regression of Gabor and Wilson systems. 14 | sigproc - A collection of simple, signal processing tools. 15 | auditory - Auditory scales and common filters types. 16 | demos - Demos 17 | signals - Test signals for use with the examples. 18 | comp - Computational subroutines. 19 | These should not be called directly. 20 | src - C implementation of the most computationally intensive 21 | routines. 22 | mex - Mex files to speed up the toolbox (if compiled) 23 | oct - Octave C++-files to speed up the toolbox (if compiled) 24 | 25 | The file INSTALL contains instructions for compiling the C-library and 26 | the Octave and Matlab interfaces. -------------------------------------------------------------------------------- /ltfat/auditory/auditoryinit.m: -------------------------------------------------------------------------------- 1 | status=1; 2 | 3 | 4 | % 5 | % Url: http://ltfat.sourceforge.net/doc/auditory/auditoryinit.php 6 | 7 | % Copyright (C) 2005-2013 Peter L. Søndergaard <soender@users.sourceforge.net>. 8 | % This file is part of LTFAT version 1.4.3 9 | % 10 | % This program is free software: you can redistribute it and/or modify 11 | % it under the terms of the GNU General Public License as published by 12 | % the Free Software Foundation, either version 3 of the License, or 13 | % (at your option) any later version. 14 | % 15 | % This program is distributed in the hope that it will be useful, 16 | % but WITHOUT ANY WARRANTY; without even the implied warranty of 17 | % MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 18 | % GNU General Public License for more details. 19 | % 20 | % You should have received a copy of the GNU General Public License 21 | % along with this program. If not, see <http://www.gnu.org/licenses/>. 22 | 23 | -------------------------------------------------------------------------------- /ltfat/blockproc/blockplay.m: -------------------------------------------------------------------------------- 1 | function blockplay(f) 2 | %BLOCKPLAY Plays block 3 | % 4 | % 5 | % 6 | % 7 | % Url: http://ltfat.sourceforge.net/doc/blockproc/blockplay.php 8 | 9 | % Copyright (C) 2005-2013 Peter L. Søndergaard <soender@users.sourceforge.net>. 10 | % This file is part of LTFAT version 1.4.3 11 | % 12 | % This program is free software: you can redistribute it and/or modify 13 | % it under the terms of the GNU General Public License as published by 14 | % the Free Software Foundation, either version 3 of the License, or 15 | % (at your option) any later version. 16 | % 17 | % This program is distributed in the hope that it will be useful, 18 | % but WITHOUT ANY WARRANTY; without even the implied warranty of 19 | % MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 20 | % GNU General Public License for more details. 21 | % 22 | % You should have received a copy of the GNU General Public License 23 | % along with this program. If not, see <http://www.gnu.org/licenses/>. 24 | 25 | source = block_interface('getSource'); 26 | 27 | if strcmp(source,'rec') 28 | error('%s: Blocks cannot be played in the rec only mode.',upper(mfilename)); 29 | end 30 | 31 | block_interface('setToPlay',f); 32 | 33 | -------------------------------------------------------------------------------- /ltfat/blockproc/java/Makefile: -------------------------------------------------------------------------------- 1 | # Use Make to process this file. 2 | 3 | JC=javac 4 | 5 | FLAGS=-source 1.6 -target 1.6 6 | include ../../src/ostools.mk 7 | 8 | default: 9 | $(JC) $(FLAGS) net/sourceforge/ltfat/*.java net/sourceforge/ltfat/thirdparty/*.java 10 | jar cf blockproc.jar net/sourceforge/ltfat/*.class net/sourceforge/ltfat/thirdparty/*.class 11 | 12 | clean: classclean 13 | $(RM) *.jar 14 | 15 | classclean: 16 | $(RM) net$(PS)sourceforge$(PS)ltfat$(PS)*.class 17 | $(RM) net$(PS)sourceforge$(PS)ltfat$(PS)thirdparty$(PS)*.class 18 | 19 | -------------------------------------------------------------------------------- /ltfat/blockproc/java/blockproc.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bootphon/features_extraction/e781ea0b7fa49ff67158b49114359963f985930d/ltfat/blockproc/java/blockproc.jar -------------------------------------------------------------------------------- /ltfat/comp/arg_freqtoaud.m: -------------------------------------------------------------------------------- 1 | function definput=arg_freqtoaud(definput) 2 | 3 | definput.flags.audscale={'erb','mel','mel1000','bark','erb83','freq','log10','semitone'}; 4 | 5 | 6 | 7 | % 8 | % Url: http://ltfat.sourceforge.net/doc/comp/arg_freqtoaud.php 9 | 10 | % Copyright (C) 2005-2013 Peter L. Søndergaard <soender@users.sourceforge.net>. 11 | % This file is part of LTFAT version 1.4.3 12 | % 13 | % This program is free software: you can redistribute it and/or modify 14 | % it under the terms of the GNU General Public License as published by 15 | % the Free Software Foundation, either version 3 of the License, or 16 | % (at your option) any later version. 17 | % 18 | % This program is distributed in the hope that it will be useful, 19 | % but WITHOUT ANY WARRANTY; without even the implied warranty of 20 | % MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 21 | % GNU General Public License for more details. 22 | % 23 | % You should have received a copy of the GNU General Public License 24 | % along with this program. If not, see <http://www.gnu.org/licenses/>. 25 | 26 | -------------------------------------------------------------------------------- /ltfat/comp/arg_fwt.m: -------------------------------------------------------------------------------- 1 | function definput = arg_fwt(definput) 2 | 3 | %definput.flags.ext= {'per','zpd','sym','symw','asym','asymw','ppd','sp0'}; 4 | % 5 | % Url: http://ltfat.sourceforge.net/doc/comp/arg_fwt.php 6 | 7 | % Copyright (C) 2005-2013 Peter L. Søndergaard <soender@users.sourceforge.net>. 8 | % This file is part of LTFAT version 1.4.3 9 | % 10 | % This program is free software: you can redistribute it and/or modify 11 | % it under the terms of the GNU General Public License as published by 12 | % the Free Software Foundation, either version 3 of the License, or 13 | % (at your option) any later version. 14 | % 15 | % This program is distributed in the hope that it will be useful, 16 | % but WITHOUT ANY WARRANTY; without even the implied warranty of 17 | % MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 18 | % GNU General Public License for more details. 19 | % 20 | % You should have received a copy of the GNU General Public License 21 | % along with this program. If not, see <http://www.gnu.org/licenses/>. 22 | definput.flags.ext = {'per','zero','even','odd'}; 23 | 24 | -------------------------------------------------------------------------------- /ltfat/comp/arg_fwt2.m: -------------------------------------------------------------------------------- 1 | function definput = arg_fwt2(definput) 2 | 3 | definput.flags.type2d = {'standard','tensor'}; 4 | 5 | % 6 | % Url: http://ltfat.sourceforge.net/doc/comp/arg_fwt2.php 7 | 8 | % Copyright (C) 2005-2013 Peter L. Søndergaard <soender@users.sourceforge.net>. 9 | % This file is part of LTFAT version 1.4.3 10 | % 11 | % This program is free software: you can redistribute it and/or modify 12 | % it under the terms of the GNU General Public License as published by 13 | % the Free Software Foundation, either version 3 of the License, or 14 | % (at your option) any later version. 15 | % 16 | % This program is distributed in the hope that it will be useful, 17 | % but WITHOUT ANY WARRANTY; without even the implied warranty of 18 | % MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 19 | % GNU General Public License for more details. 20 | % 21 | % You should have received a copy of the GNU General Public License 22 | % along with this program. If not, see <http://www.gnu.org/licenses/>. 23 | 24 | -------------------------------------------------------------------------------- /ltfat/comp/arg_fwtcommon.m: -------------------------------------------------------------------------------- 1 | function definput = arg_fwtcommon(definput) 2 | 3 | 4 | %definput.flags.ansy = {'syn','ana'}; 5 | % 6 | % Url: http://ltfat.sourceforge.net/doc/comp/arg_fwtcommon.php 7 | 8 | % Copyright (C) 2005-2013 Peter L. Søndergaard <soender@users.sourceforge.net>. 9 | % This file is part of LTFAT version 1.4.3 10 | % 11 | % This program is free software: you can redistribute it and/or modify 12 | % it under the terms of the GNU General Public License as published by 13 | % the Free Software Foundation, either version 3 of the License, or 14 | % (at your option) any later version. 15 | % 16 | % This program is distributed in the hope that it will be useful, 17 | % but WITHOUT ANY WARRANTY; without even the implied warranty of 18 | % MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 19 | % GNU General Public License for more details. 20 | % 21 | % You should have received a copy of the GNU General Public License 22 | % along with this program. If not, see <http://www.gnu.org/licenses/>. 23 | definput.keyvals.a = []; 24 | 25 | -------------------------------------------------------------------------------- /ltfat/comp/arg_fwtext.m: -------------------------------------------------------------------------------- 1 | function definput = arg_fwtext(definput) 2 | 3 | %definput.flags.ext= {'per','zpd','sym','symw','asym','asymw','ppd','sp0'}; 4 | % 5 | % Url: http://ltfat.sourceforge.net/doc/comp/arg_fwtext.php 6 | 7 | % Copyright (C) 2005-2013 Peter L. Søndergaard <soender@users.sourceforge.net>. 8 | % This file is part of LTFAT version 1.4.3 9 | % 10 | % This program is free software: you can redistribute it and/or modify 11 | % it under the terms of the GNU General Public License as published by 12 | % the Free Software Foundation, either version 3 of the License, or 13 | % (at your option) any later version. 14 | % 15 | % This program is distributed in the hope that it will be useful, 16 | % but WITHOUT ANY WARRANTY; without even the implied warranty of 17 | % MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 18 | % GNU General Public License for more details. 19 | % 20 | % You should have received a copy of the GNU General Public License 21 | % along with this program. If not, see <http://www.gnu.org/licenses/>. 22 | definput.flags.ext = {'per','zero','even','odd','valid'}; 23 | 24 | -------------------------------------------------------------------------------- /ltfat/comp/arg_groupthresh.m: -------------------------------------------------------------------------------- 1 | function definput=arg_groupthresh(definput) 2 | 3 | definput.flags.grouptype={'group','elite'}; 4 | 5 | 6 | 7 | % 8 | % Url: http://ltfat.sourceforge.net/doc/comp/arg_groupthresh.php 9 | 10 | % Copyright (C) 2005-2013 Peter L. Søndergaard <soender@users.sourceforge.net>. 11 | % This file is part of LTFAT version 1.4.3 12 | % 13 | % This program is free software: you can redistribute it and/or modify 14 | % it under the terms of the GNU General Public License as published by 15 | % the Free Software Foundation, either version 3 of the License, or 16 | % (at your option) any later version. 17 | % 18 | % This program is distributed in the hope that it will be useful, 19 | % but WITHOUT ANY WARRANTY; without even the implied warranty of 20 | % MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 21 | % GNU General Public License for more details. 22 | % 23 | % You should have received a copy of the GNU General Public License 24 | % along with this program. If not, see <http://www.gnu.org/licenses/>. 25 | 26 | -------------------------------------------------------------------------------- /ltfat/comp/arg_ltfattranslate.m: -------------------------------------------------------------------------------- 1 | function definput=arg_ltfattranslate(definput) 2 | 3 | definput.keyvals.frequency='Frequency'; 4 | definput.keyvals.time='Time'; 5 | definput.keyvals.samples='samples'; 6 | definput.keyvals.normalized='normalized'; 7 | definput.keyvals.magnitude='Magnitude'; 8 | 9 | 10 | 11 | % 12 | % Url: http://ltfat.sourceforge.net/doc/comp/arg_ltfattranslate.php 13 | 14 | % Copyright (C) 2005-2013 Peter L. Søndergaard <soender@users.sourceforge.net>. 15 | % This file is part of LTFAT version 1.4.3 16 | % 17 | % This program is free software: you can redistribute it and/or modify 18 | % it under the terms of the GNU General Public License as published by 19 | % the Free Software Foundation, either version 3 of the License, or 20 | % (at your option) any later version. 21 | % 22 | % This program is distributed in the hope that it will be useful, 23 | % but WITHOUT ANY WARRANTY; without even the implied warranty of 24 | % MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 25 | % GNU General Public License for more details. 26 | % 27 | % You should have received a copy of the GNU General Public License 28 | % along with this program. If not, see <http://www.gnu.org/licenses/>. 29 | 30 | -------------------------------------------------------------------------------- /ltfat/comp/arg_normalize.m: -------------------------------------------------------------------------------- 1 | function definput=arg_normalize(definput) 2 | 3 | definput.flags.norm={'2','1','inf','area','energy','peak','s0','rms','null'}; 4 | 5 | 6 | 7 | % 8 | % Url: http://ltfat.sourceforge.net/doc/comp/arg_normalize.php 9 | 10 | % Copyright (C) 2005-2013 Peter L. Søndergaard <soender@users.sourceforge.net>. 11 | % This file is part of LTFAT version 1.4.3 12 | % 13 | % This program is free software: you can redistribute it and/or modify 14 | % it under the terms of the GNU General Public License as published by 15 | % the Free Software Foundation, either version 3 of the License, or 16 | % (at your option) any later version. 17 | % 18 | % This program is distributed in the hope that it will be useful, 19 | % but WITHOUT ANY WARRANTY; without even the implied warranty of 20 | % MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 21 | % GNU General Public License for more details. 22 | % 23 | % You should have received a copy of the GNU General Public License 24 | % along with this program. If not, see <http://www.gnu.org/licenses/>. 25 | 26 | -------------------------------------------------------------------------------- /ltfat/comp/arg_pfilt.m: -------------------------------------------------------------------------------- 1 | function definput=arg_pfilt(definput) 2 | 3 | definput.keyvals.crossover=120; 4 | 5 | 6 | 7 | % 8 | % Url: http://ltfat.sourceforge.net/doc/comp/arg_pfilt.php 9 | 10 | % Copyright (C) 2005-2013 Peter L. Søndergaard <soender@users.sourceforge.net>. 11 | % This file is part of LTFAT version 1.4.3 12 | % 13 | % This program is free software: you can redistribute it and/or modify 14 | % it under the terms of the GNU General Public License as published by 15 | % the Free Software Foundation, either version 3 of the License, or 16 | % (at your option) any later version. 17 | % 18 | % This program is distributed in the hope that it will be useful, 19 | % but WITHOUT ANY WARRANTY; without even the implied warranty of 20 | % MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 21 | % GNU General Public License for more details. 22 | % 23 | % You should have received a copy of the GNU General Public License 24 | % along with this program. If not, see <http://www.gnu.org/licenses/>. 25 | 26 | -------------------------------------------------------------------------------- /ltfat/comp/arg_plotfilterbank.m: -------------------------------------------------------------------------------- 1 | function definput=arg_plotfilterbank(definput) 2 | 3 | definput.keyvals.fc=[]; 4 | definput.keyvals.ntickpos=10; 5 | definput.keyvals.tick=[]; 6 | definput.groups.audtick={'tick',[0,100,250,500,1000,2000,4000,8000,16000,32000]}; 7 | 8 | 9 | 10 | % 11 | % Url: http://ltfat.sourceforge.net/doc/comp/arg_plotfilterbank.php 12 | 13 | % Copyright (C) 2005-2013 Peter L. Søndergaard <soender@users.sourceforge.net>. 14 | % This file is part of LTFAT version 1.4.3 15 | % 16 | % This program is free software: you can redistribute it and/or modify 17 | % it under the terms of the GNU General Public License as published by 18 | % the Free Software Foundation, either version 3 of the License, or 19 | % (at your option) any later version. 20 | % 21 | % This program is distributed in the hope that it will be useful, 22 | % but WITHOUT ANY WARRANTY; without even the implied warranty of 23 | % MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 24 | % GNU General Public License for more details. 25 | % 26 | % You should have received a copy of the GNU General Public License 27 | % along with this program. If not, see <http://www.gnu.org/licenses/>. 28 | 29 | -------------------------------------------------------------------------------- /ltfat/comp/arg_thresh.m: -------------------------------------------------------------------------------- 1 | function definput=arg_thresh(definput) 2 | 3 | definput.flags.iofun={'hard','soft','wiener'}; 4 | definput.flags.outclass={'full','sparse'}; 5 | 6 | 7 | 8 | % 9 | % Url: http://ltfat.sourceforge.net/doc/comp/arg_thresh.php 10 | 11 | % Copyright (C) 2005-2013 Peter L. Søndergaard <soender@users.sourceforge.net>. 12 | % This file is part of LTFAT version 1.4.3 13 | % 14 | % This program is free software: you can redistribute it and/or modify 15 | % it under the terms of the GNU General Public License as published by 16 | % the Free Software Foundation, either version 3 of the License, or 17 | % (at your option) any later version. 18 | % 19 | % This program is distributed in the hope that it will be useful, 20 | % but WITHOUT ANY WARRANTY; without even the implied warranty of 21 | % MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 22 | % GNU General Public License for more details. 23 | % 24 | % You should have received a copy of the GNU General Public License 25 | % along with this program. If not, see <http://www.gnu.org/licenses/>. 26 | 27 | -------------------------------------------------------------------------------- /ltfat/comp/arg_wfbtcommon.m: -------------------------------------------------------------------------------- 1 | function definput = arg_wfbtcommon(definput) 2 | 3 | % definput.keyvals.J = 1; 4 | % definput.flags.treetype = {'full','dwt'}; 5 | % Frequency vs. natral ordering of the output subbands 6 | % 7 | % Url: http://ltfat.sourceforge.net/doc/comp/arg_wfbtcommon.php 8 | 9 | % Copyright (C) 2005-2013 Peter L. Søndergaard <soender@users.sourceforge.net>. 10 | % This file is part of LTFAT version 1.4.3 11 | % 12 | % This program is free software: you can redistribute it and/or modify 13 | % it under the terms of the GNU General Public License as published by 14 | % the Free Software Foundation, either version 3 of the License, or 15 | % (at your option) any later version. 16 | % 17 | % This program is distributed in the hope that it will be useful, 18 | % but WITHOUT ANY WARRANTY; without even the implied warranty of 19 | % MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 20 | % GNU General Public License for more details. 21 | % 22 | % You should have received a copy of the GNU General Public License 23 | % along with this program. If not, see <http://www.gnu.org/licenses/>. 24 | definput.flags.forder = {'freq','nat'}; 25 | 26 | -------------------------------------------------------------------------------- /ltfat/comp/assert_sigreshape_post.m: -------------------------------------------------------------------------------- 1 | function f=assert_sigreshape_post(f,dim,permutedsize,order) 2 | 3 | % Restore the original, permuted shape. 4 | % 5 | % Url: http://ltfat.sourceforge.net/doc/comp/assert_sigreshape_post.php 6 | 7 | % Copyright (C) 2005-2013 Peter L. Søndergaard <soender@users.sourceforge.net>. 8 | % This file is part of LTFAT version 1.4.3 9 | % 10 | % This program is free software: you can redistribute it and/or modify 11 | % it under the terms of the GNU General Public License as published by 12 | % the Free Software Foundation, either version 3 of the License, or 13 | % (at your option) any later version. 14 | % 15 | % This program is distributed in the hope that it will be useful, 16 | % but WITHOUT ANY WARRANTY; without even the implied warranty of 17 | % MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 18 | % GNU General Public License for more details. 19 | % 20 | % You should have received a copy of the GNU General Public License 21 | % along with this program. If not, see <http://www.gnu.org/licenses/>. 22 | f=reshape(f,permutedsize); 23 | 24 | if dim>1 25 | % Undo the permutation. 26 | f=ipermute(f,order); 27 | end; 28 | 29 | 30 | 31 | 32 | 33 | -------------------------------------------------------------------------------- /ltfat/comp/comp_dwilt.m: -------------------------------------------------------------------------------- 1 | function [coef]=comp_dwilt(f,g,M) 2 | %COMP_DWILT Compute Discrete Wilson transform. 3 | % 4 | % 5 | % Url: http://ltfat.sourceforge.net/doc/comp/comp_dwilt.php 6 | 7 | % Copyright (C) 2005-2013 Peter L. Søndergaard <soender@users.sourceforge.net>. 8 | % This file is part of LTFAT version 1.4.3 9 | % 10 | % This program is free software: you can redistribute it and/or modify 11 | % it under the terms of the GNU General Public License as published by 12 | % the Free Software Foundation, either version 3 of the License, or 13 | % (at your option) any later version. 14 | % 15 | % This program is distributed in the hope that it will be useful, 16 | % but WITHOUT ANY WARRANTY; without even the implied warranty of 17 | % MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 18 | % GNU General Public License for more details. 19 | % 20 | % You should have received a copy of the GNU General Public License 21 | % along with this program. If not, see <http://www.gnu.org/licenses/>. 22 | 23 | L=size(f,1); 24 | Lwindow=size(g,1); 25 | 26 | if Lwindow<L 27 | coef=comp_dwilt_fb(f,g,M,L); 28 | else 29 | coef=comp_dwilt_long(f,g,M,L); 30 | end; 31 | 32 | 33 | 34 | -------------------------------------------------------------------------------- /ltfat/comp/comp_edgt6.m: -------------------------------------------------------------------------------- 1 | function cout=comp_edgt6(cin,a) 2 | %COMP_EDGT6 Compute Even DGT type 6 3 | % 4 | % 5 | % Url: http://ltfat.sourceforge.net/doc/comp/comp_edgt6.php 6 | 7 | % Copyright (C) 2005-2013 Peter L. Søndergaard <soender@users.sourceforge.net>. 8 | % This file is part of LTFAT version 1.4.3 9 | % 10 | % This program is free software: you can redistribute it and/or modify 11 | % it under the terms of the GNU General Public License as published by 12 | % the Free Software Foundation, either version 3 of the License, or 13 | % (at your option) any later version. 14 | % 15 | % This program is distributed in the hope that it will be useful, 16 | % but WITHOUT ANY WARRANTY; without even the implied warranty of 17 | % MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 18 | % GNU General Public License for more details. 19 | % 20 | % You should have received a copy of the GNU General Public License 21 | % along with this program. If not, see <http://www.gnu.org/licenses/>. 22 | 23 | M=size(cin,1); 24 | N=size(cin,2)/2; 25 | W=size(cin,3); 26 | 27 | cout=zeros(M,N,W,assert_classname(cin)); 28 | 29 | cout=cin(:,1:N,:); 30 | 31 | cout=reshape(cout,M*N,W); 32 | 33 | 34 | -------------------------------------------------------------------------------- /ltfat/comp/comp_fftreal.m: -------------------------------------------------------------------------------- 1 | function f=comp_fftreal(f) 2 | %COMP_FFTREAL Compute an FFTREAL 3 | % 4 | % Url: http://ltfat.sourceforge.net/doc/comp/comp_fftreal.php 5 | 6 | % Copyright (C) 2005-2013 Peter L. Søndergaard <soender@users.sourceforge.net>. 7 | % This file is part of LTFAT version 1.4.3 8 | % 9 | % This program is free software: you can redistribute it and/or modify 10 | % it under the terms of the GNU General Public License as published by 11 | % the Free Software Foundation, either version 3 of the License, or 12 | % (at your option) any later version. 13 | % 14 | % This program is distributed in the hope that it will be useful, 15 | % but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | % MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | % GNU General Public License for more details. 18 | % 19 | % You should have received a copy of the GNU General Public License 20 | % along with this program. If not, see <http://www.gnu.org/licenses/>. 21 | 22 | N=size(f,1); 23 | N2=floor(N/2)+1; 24 | 25 | % Force FFT along dimension 1, since we have permuted the dimensions 26 | % manually 27 | f=fft(f,N,1); 28 | f=f(1:N2,:); 29 | 30 | 31 | 32 | -------------------------------------------------------------------------------- /ltfat/comp/comp_framelength_tensor.m: -------------------------------------------------------------------------------- 1 | function L=comp_framelength_tensor(F,Ls); 2 | %COMP_FRAMELENGTH_TENSOR Helper function for the Tensor frame 3 | % 4 | % 5 | % Url: http://ltfat.sourceforge.net/doc/comp/comp_framelength_tensor.php 6 | 7 | % Copyright (C) 2005-2013 Peter L. Søndergaard <soender@users.sourceforge.net>. 8 | % This file is part of LTFAT version 1.4.3 9 | % 10 | % This program is free software: you can redistribute it and/or modify 11 | % it under the terms of the GNU General Public License as published by 12 | % the Free Software Foundation, either version 3 of the License, or 13 | % (at your option) any later version. 14 | % 15 | % This program is distributed in the hope that it will be useful, 16 | % but WITHOUT ANY WARRANTY; without even the implied warranty of 17 | % MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 18 | % GNU General Public License for more details. 19 | % 20 | % You should have received a copy of the GNU General Public License 21 | % along with this program. If not, see <http://www.gnu.org/licenses/>. 22 | error(['For the tensor product frame, call framelength for the ', ... 23 | 'individual subframes']); 24 | -------------------------------------------------------------------------------- /ltfat/comp/comp_frana_fusion.m: -------------------------------------------------------------------------------- 1 | function outsig=comp_frana_fusion(F,insig) 2 | 3 | % All frames must use the same length signal. 4 | % 5 | % Url: http://ltfat.sourceforge.net/doc/comp/comp_frana_fusion.php 6 | 7 | % Copyright (C) 2005-2013 Peter L. Søndergaard <soender@users.sourceforge.net>. 8 | % This file is part of LTFAT version 1.4.3 9 | % 10 | % This program is free software: you can redistribute it and/or modify 11 | % it under the terms of the GNU General Public License as published by 12 | % the Free Software Foundation, either version 3 of the License, or 13 | % (at your option) any later version. 14 | % 15 | % This program is distributed in the hope that it will be useful, 16 | % but WITHOUT ANY WARRANTY; without even the implied warranty of 17 | % MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 18 | % GNU General Public License for more details. 19 | % 20 | % You should have received a copy of the GNU General Public License 21 | % along with this program. If not, see <http://www.gnu.org/licenses/>. 22 | L=F.length(size(insig,1)); 23 | insig=postpad(insig,L); 24 | 25 | coefs = cell(F.Nframes,1); 26 | for ii=1:F.Nframes 27 | coefs(ii)={F.w(ii)*frana(F.frames{ii},insig)}; 28 | end; 29 | outsig=cell2mat(coefs); 30 | 31 | 32 | -------------------------------------------------------------------------------- /ltfat/comp/comp_frana_tensor.m: -------------------------------------------------------------------------------- 1 | outsig = comp_frana_tensor(F,insig) 2 | 3 | outsig=frsyn(F.frames{1},insig); 4 | perm=circshift((1:F.Nframes).',-1); 5 | for ii=2:F.Nframes 6 | outsig=permute(outsig,perm); 7 | outsig=frsyn(F.frames{ii},outsig); 8 | end; 9 | outsig=permute(outsig,perm); 10 | 11 | % 12 | % Url: http://ltfat.sourceforge.net/doc/comp/comp_frana_tensor.php 13 | 14 | % Copyright (C) 2005-2013 Peter L. Søndergaard <soender@users.sourceforge.net>. 15 | % This file is part of LTFAT version 1.4.3 16 | % 17 | % This program is free software: you can redistribute it and/or modify 18 | % it under the terms of the GNU General Public License as published by 19 | % the Free Software Foundation, either version 3 of the License, or 20 | % (at your option) any later version. 21 | % 22 | % This program is distributed in the hope that it will be useful, 23 | % but WITHOUT ANY WARRANTY; without even the implied warranty of 24 | % MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 25 | % GNU General Public License for more details. 26 | % 27 | % You should have received a copy of the GNU General Public License 28 | % along with this program. If not, see <http://www.gnu.org/licenses/>. 29 | 30 | -------------------------------------------------------------------------------- /ltfat/comp/comp_frsyn_tensor.m: -------------------------------------------------------------------------------- 1 | function outsig=comp_frsyn_tensor(F,insig) 2 | 3 | outsig=frsyn(F.frames{1},insig); 4 | perm=circshift((1:F.Nframes).',-1); 5 | for ii=2:F.Nframes 6 | outsig=permute(outsig,perm); 7 | outsig=frsyn(F.frames{ii},outsig); 8 | end; 9 | outsig=permute(outsig,perm); 10 | 11 | % 12 | % Url: http://ltfat.sourceforge.net/doc/comp/comp_frsyn_tensor.php 13 | 14 | % Copyright (C) 2005-2013 Peter L. Søndergaard <soender@users.sourceforge.net>. 15 | % This file is part of LTFAT version 1.4.3 16 | % 17 | % This program is free software: you can redistribute it and/or modify 18 | % it under the terms of the GNU General Public License as published by 19 | % the Free Software Foundation, either version 3 of the License, or 20 | % (at your option) any later version. 21 | % 22 | % This program is distributed in the hope that it will be useful, 23 | % but WITHOUT ANY WARRANTY; without even the implied warranty of 24 | % MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 25 | % GNU General Public License for more details. 26 | % 27 | % You should have received a copy of the GNU General Public License 28 | % along with this program. If not, see <http://www.gnu.org/licenses/>. 29 | 30 | -------------------------------------------------------------------------------- /ltfat/comp/comp_warpedfoff.m: -------------------------------------------------------------------------------- 1 | function foff=comp_warpedfoff(fc,bw,fs,L,scaletofreq) 2 | %COMP_WARPEDFOFF foff for warped filters 3 | % 4 | % Url: http://ltfat.sourceforge.net/doc/comp/comp_warpedfoff.php 5 | 6 | % Copyright (C) 2005-2013 Peter L. Søndergaard <soender@users.sourceforge.net>. 7 | % This file is part of LTFAT version 1.4.3 8 | % 9 | % This program is free software: you can redistribute it and/or modify 10 | % it under the terms of the GNU General Public License as published by 11 | % the Free Software Foundation, either version 3 of the License, or 12 | % (at your option) any later version. 13 | % 14 | % This program is distributed in the hope that it will be useful, 15 | % but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | % MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | % GNU General Public License for more details. 18 | % 19 | % You should have received a copy of the GNU General Public License 20 | % along with this program. If not, see <http://www.gnu.org/licenses/>. 21 | 22 | foff=floor(scaletofreq(fc-.5*bw)/fs*L)+1; 23 | 24 | -------------------------------------------------------------------------------- /ltfat/comp/compinit.m: -------------------------------------------------------------------------------- 1 | status=2; 2 | 3 | 4 | % 5 | % Url: http://ltfat.sourceforge.net/doc/comp/compinit.php 6 | 7 | % Copyright (C) 2005-2013 Peter L. Søndergaard <soender@users.sourceforge.net>. 8 | % This file is part of LTFAT version 1.4.3 9 | % 10 | % This program is free software: you can redistribute it and/or modify 11 | % it under the terms of the GNU General Public License as published by 12 | % the Free Software Foundation, either version 3 of the License, or 13 | % (at your option) any later version. 14 | % 15 | % This program is distributed in the hope that it will be useful, 16 | % but WITHOUT ANY WARRANTY; without even the implied warranty of 17 | % MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 18 | % GNU General Public License for more details. 19 | % 20 | % You should have received a copy of the GNU General Public License 21 | % along with this program. If not, see <http://www.gnu.org/licenses/>. 22 | 23 | -------------------------------------------------------------------------------- /ltfat/comp/vect2cell.m: -------------------------------------------------------------------------------- 1 | function c = vect2cell(x,idx) 2 | 3 | idxEnd = cumsum(idx(:)); 4 | idxStart = [1;1+idxEnd(1:end-1)]; 5 | c = arrayfun(@(idS,idE) x(idS:idE,:),idxStart,idxEnd,'UniformOutput',0); 6 | 7 | 8 | % 9 | % Url: http://ltfat.sourceforge.net/doc/comp/vect2cell.php 10 | 11 | % Copyright (C) 2005-2013 Peter L. Søndergaard <soender@users.sourceforge.net>. 12 | % This file is part of LTFAT version 1.4.3 13 | % 14 | % This program is free software: you can redistribute it and/or modify 15 | % it under the terms of the GNU General Public License as published by 16 | % the Free Software Foundation, either version 3 of the License, or 17 | % (at your option) any later version. 18 | % 19 | % This program is distributed in the hope that it will be useful, 20 | % but WITHOUT ANY WARRANTY; without even the implied warranty of 21 | % MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 22 | % GNU General Public License for more details. 23 | % 24 | % You should have received a copy of the GNU General Public License 25 | % along with this program. If not, see <http://www.gnu.org/licenses/>. 26 | 27 | -------------------------------------------------------------------------------- /ltfat/demos/demosinit.m: -------------------------------------------------------------------------------- 1 | status=1; 2 | 3 | 4 | 5 | % 6 | % Url: http://ltfat.sourceforge.net/doc/demos/demosinit.php 7 | 8 | % Copyright (C) 2005-2013 Peter L. Søndergaard <soender@users.sourceforge.net>. 9 | % This file is part of LTFAT version 1.4.3 10 | % 11 | % This program is free software: you can redistribute it and/or modify 12 | % it under the terms of the GNU General Public License as published by 13 | % the Free Software Foundation, either version 3 of the License, or 14 | % (at your option) any later version. 15 | % 16 | % This program is distributed in the hope that it will be useful, 17 | % but WITHOUT ANY WARRANTY; without even the implied warranty of 18 | % MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 19 | % GNU General Public License for more details. 20 | % 21 | % You should have received a copy of the GNU General Public License 22 | % along with this program. If not, see <http://www.gnu.org/licenses/>. 23 | 24 | -------------------------------------------------------------------------------- /ltfat/deprecated/deprecatedinit.m: -------------------------------------------------------------------------------- 1 | status=1; 2 | 3 | 4 | % 5 | % Url: http://ltfat.sourceforge.net/doc/deprecated/deprecatedinit.php 6 | 7 | % Copyright (C) 2005-2013 Peter L. Søndergaard <soender@users.sourceforge.net>. 8 | % This file is part of LTFAT version 1.4.3 9 | % 10 | % This program is free software: you can redistribute it and/or modify 11 | % it under the terms of the GNU General Public License as published by 12 | % the Free Software Foundation, either version 3 of the License, or 13 | % (at your option) any later version. 14 | % 15 | % This program is distributed in the hope that it will be useful, 16 | % but WITHOUT ANY WARRANTY; without even the implied warranty of 17 | % MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 18 | % GNU General Public License for more details. 19 | % 20 | % You should have received a copy of the GNU General Public License 21 | % along with this program. If not, see <http://www.gnu.org/licenses/>. 22 | 23 | -------------------------------------------------------------------------------- /ltfat/filterbank/filterbankinit.m: -------------------------------------------------------------------------------- 1 | status=1; 2 | 3 | 4 | % 5 | % Url: http://ltfat.sourceforge.net/doc/filterbank/filterbankinit.php 6 | 7 | % Copyright (C) 2005-2013 Peter L. Søndergaard <soender@users.sourceforge.net>. 8 | % This file is part of LTFAT version 1.4.3 9 | % 10 | % This program is free software: you can redistribute it and/or modify 11 | % it under the terms of the GNU General Public License as published by 12 | % the Free Software Foundation, either version 3 of the License, or 13 | % (at your option) any later version. 14 | % 15 | % This program is distributed in the hope that it will be useful, 16 | % but WITHOUT ANY WARRANTY; without even the implied warranty of 17 | % MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 18 | % GNU General Public License for more details. 19 | % 20 | % You should have received a copy of the GNU General Public License 21 | % along with this program. If not, see <http://www.gnu.org/licenses/>. 22 | 23 | -------------------------------------------------------------------------------- /ltfat/fourier/fourierinit.m: -------------------------------------------------------------------------------- 1 | status=1; 2 | 3 | 4 | 5 | % 6 | % Url: http://ltfat.sourceforge.net/doc/fourier/fourierinit.php 7 | 8 | % Copyright (C) 2005-2013 Peter L. Søndergaard <soender@users.sourceforge.net>. 9 | % This file is part of LTFAT version 1.4.3 10 | % 11 | % This program is free software: you can redistribute it and/or modify 12 | % it under the terms of the GNU General Public License as published by 13 | % the Free Software Foundation, either version 3 of the License, or 14 | % (at your option) any later version. 15 | % 16 | % This program is distributed in the hope that it will be useful, 17 | % but WITHOUT ANY WARRANTY; without even the implied warranty of 18 | % MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 19 | % GNU General Public License for more details. 20 | % 21 | % You should have received a copy of the GNU General Public License 22 | % along with this program. If not, see <http://www.gnu.org/licenses/>. 23 | 24 | -------------------------------------------------------------------------------- /ltfat/frames/framesinit.m: -------------------------------------------------------------------------------- 1 | status=1; 2 | 3 | % 4 | % Url: http://ltfat.sourceforge.net/doc/frames/framesinit.php 5 | 6 | % Copyright (C) 2005-2013 Peter L. Søndergaard <soender@users.sourceforge.net>. 7 | % This file is part of LTFAT version 1.4.3 8 | % 9 | % This program is free software: you can redistribute it and/or modify 10 | % it under the terms of the GNU General Public License as published by 11 | % the Free Software Foundation, either version 3 of the License, or 12 | % (at your option) any later version. 13 | % 14 | % This program is distributed in the hope that it will be useful, 15 | % but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | % MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | % GNU General Public License for more details. 18 | % 19 | % You should have received a copy of the GNU General Public License 20 | % along with this program. If not, see <http://www.gnu.org/licenses/>. 21 | 22 | -------------------------------------------------------------------------------- /ltfat/gabor/gaborinit.m: -------------------------------------------------------------------------------- 1 | status=1; 2 | 3 | 4 | % 5 | % Url: http://ltfat.sourceforge.net/doc/gabor/gaborinit.php 6 | 7 | % Copyright (C) 2005-2013 Peter L. Søndergaard <soender@users.sourceforge.net>. 8 | % This file is part of LTFAT version 1.4.3 9 | % 10 | % This program is free software: you can redistribute it and/or modify 11 | % it under the terms of the GNU General Public License as published by 12 | % the Free Software Foundation, either version 3 of the License, or 13 | % (at your option) any later version. 14 | % 15 | % This program is distributed in the hope that it will be useful, 16 | % but WITHOUT ANY WARRANTY; without even the implied warranty of 17 | % MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 18 | % GNU General Public License for more details. 19 | % 20 | % You should have received a copy of the GNU General Public License 21 | % along with this program. If not, see <http://www.gnu.org/licenses/>. 22 | 23 | -------------------------------------------------------------------------------- /ltfat/ltfat_version: -------------------------------------------------------------------------------- 1 | 1.4.3 2 | -------------------------------------------------------------------------------- /ltfat/ltfatbasepath.m: -------------------------------------------------------------------------------- 1 | function bp = ltfatbasepath; 2 | %LTFATBASEPATH The base path of the LTFAT installation 3 | % Usage: bp = ltfatbasepath; 4 | % 5 | % LTFATBASEPATH returns the top level directory in which the LTFAT 6 | % files are installed. 7 | % 8 | % See also: ltfatstart 9 | % 10 | % Url: http://ltfat.sourceforge.net/doc/ltfatbasepath.php 11 | 12 | % Copyright (C) 2005-2013 Peter L. Søndergaard <soender@users.sourceforge.net>. 13 | % This file is part of LTFAT version 1.4.3 14 | % 15 | % This program is free software: you can redistribute it and/or modify 16 | % it under the terms of the GNU General Public License as published by 17 | % the Free Software Foundation, either version 3 of the License, or 18 | % (at your option) any later version. 19 | % 20 | % This program is distributed in the hope that it will be useful, 21 | % but WITHOUT ANY WARRANTY; without even the implied warranty of 22 | % MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 23 | % GNU General Public License for more details. 24 | % 25 | % You should have received a copy of the GNU General Public License 26 | % along with this program. If not, see <http://www.gnu.org/licenses/>. 27 | 28 | f=mfilename('fullpath'); 29 | 30 | bp = f(1:end-13); 31 | 32 | 33 | -------------------------------------------------------------------------------- /ltfat/mex/Makefile: -------------------------------------------------------------------------------- 1 | # This file does nothing, but it makes compilation on Unix work, no 2 | # clue why the existance of an empty files makes any difference for 3 | # calling default roles. 4 | -------------------------------------------------------------------------------- /ltfat/mex/Makefile_unix: -------------------------------------------------------------------------------- 1 | # To run this makefile, you must provide the EXT and MATLABROOT 2 | # variables on the command line, i.e. as in 3 | # 4 | # make -f Makefile_unix MATLABROOT=/usr/local/MATLAB/R2011a EXT=$(mexext) 5 | 6 | ifndef MATLABROOT 7 | $(warning MATLABROOT variable is udefined. Using default MATLABROOT="/usr/local/MATLAB/R2011a/") 8 | MATLABROOT=/usr/local/MATLAB/R2011a/ 9 | endif 10 | 11 | ifndef EXT 12 | $(warning EXT variable is udefined. Using default EXT=mexa64) 13 | EXT=mexa64 14 | endif 15 | 16 | CFLAGS=-shared -O3 -Wall -std=c99 -fvisibility=hidden -I../src/thirdparty -I../src -I$(MATLABROOT)/extern/include -L../lib 17 | 18 | include filedefs.mk 19 | 20 | MEXBASE = $(MEXBASESAFE) $(MEXBASEMORE) 21 | MEXS = $(addsuffix .$(EXT),$(MEXBASE)) 22 | 23 | MEXLIBS=-lmex -lmx 24 | 25 | all: $(MEXS) 26 | 27 | %.$(EXT): %.c Makefile config.h ../lib/libltfat.a ../src/ltfat.h 28 | $(CC) $(CFLAGS) $(MEXCOMPFLAGS) $< -o $@ -fPIC -lltfat -lltfatf -lfftw3 -lfftw3f -lblas -llapack 29 | 30 | clean: 31 | -rm *.$(EXT) 32 | 33 | .PHONY: all clean 34 | -------------------------------------------------------------------------------- /ltfat/mex/Makefile_unix_old: -------------------------------------------------------------------------------- 1 | # Use GNU Make to process this file. 2 | 3 | EXT = $(shell mexext) 4 | # This line gets the MEX extension for the platform. If the shell 5 | # command 'mexext' is not available on your Matlab installation, 6 | # please execute the 'mexext' command within Matlab, and put the 7 | # answer into the line below (remember to uncomment). 8 | #EXT = $(glnx86) 9 | 10 | MEXSC = $(shell ls comp_*.c) 11 | MEXSBASE = $(basename $(MEXSC)) 12 | MEXS = $(addsuffix .$(EXT),$(MEXSBASE)) 13 | 14 | CFLAGS= -I../thirdparty -I. -I../src -L../lib 15 | 16 | 17 | all: $(MEXS) 18 | 19 | %.$(EXT): %.c Makefile config.h ../lib/libltfat-nomem.a ../src/ltfat.h mex-memalloc.o 20 | mex $(CFLAGS) $< mex-memalloc.o -lfftw3 -lfftw3f -lblas -llapack -lltfat-nomem 21 | 22 | mex-memalloc.o: mex-memalloc.c 23 | mex $(CFLAGS) $< 24 | 25 | clean: 26 | rm *.$(EXT) 27 | 28 | .PHONY: all clean 29 | -------------------------------------------------------------------------------- /ltfat/mex/comp_chirpzt.c: -------------------------------------------------------------------------------- 1 | #ifndef _LTFAT_MEX_FILE 2 | #define _LTFAT_MEX_FILE 3 | 4 | #define ISNARGINEQ 4 5 | #define TYPEDEPARGS 0 6 | #define SINGLEARGS 7 | #define COMPLEXINDEPENDENT 8 | //#define NOCOMPLEXFMTCHANGE 9 | 10 | 11 | #define GGA_WITH_PLAN 12 | #endif // _LTFAT_MEX_FILE - INCLUDED ONCE 13 | 14 | #define MEX_FILE __BASE_FILE__ 15 | #include "ltfat_mex_template_helper.h" 16 | 17 | #if defined(LTFAT_SINGLE) || defined(LTFAT_DOUBLE) 18 | 19 | 20 | 21 | // Calling convention: 22 | // c = comp_chirpcz(f,K,deltao,o) 23 | 24 | void LTFAT_NAME(ltfatMexFnc)( int nlhs, mxArray *plhs[],int nrhs, const mxArray *prhs[] ) 25 | { 26 | 27 | mwSize L = mxGetM(prhs[0]); 28 | mwSize W = mxGetN(prhs[0]); 29 | mwSize K = (mwSize) mxGetScalar(prhs[1]); 30 | double deltao = mxGetScalar(prhs[2]); 31 | double o = mxGetScalar(prhs[3]); 32 | 33 | const LTFAT_TYPE* fPtr = (const LTFAT_TYPE*) mxGetData(prhs[0]); 34 | 35 | plhs[0] = ltfatCreateMatrix(K,W,LTFAT_MX_CLASSID,mxCOMPLEX); 36 | LTFAT_REAL _Complex* cPtr = (LTFAT_REAL _Complex*) mxGetPr(plhs[0]); 37 | 38 | LTFAT_NAME(chzt)(fPtr,L,W,K,deltao,o,cPtr); 39 | //LTFAT_NAME(chzt_fact)(fPtr,L,W,K,deltao,o,cPtr); 40 | 41 | return; 42 | } 43 | #endif 44 | -------------------------------------------------------------------------------- /ltfat/mex/comp_dct.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bootphon/features_extraction/e781ea0b7fa49ff67158b49114359963f985930d/ltfat/mex/comp_dct.c -------------------------------------------------------------------------------- /ltfat/mex/comp_gabdual_long.c: -------------------------------------------------------------------------------- 1 | #ifndef _LTFAT_MEX_FILE 2 | #define _LTFAT_MEX_FILE 3 | 4 | #define ISNARGINEQ 3 5 | #define TYPEDEPARGS 0 6 | #define SINGLEARGS 7 | #define COMPLEXINDEPENDENT 8 | 9 | #endif // _LTFAT_MEX_FILE - INCLUDED ONCE 10 | 11 | #define MEX_FILE __BASE_FILE__ 12 | #include "ltfat_mex_template_helper.h" 13 | 14 | #if defined(LTFAT_SINGLE) || defined(LTFAT_DOUBLE) 15 | #include "ltfat_types.h" 16 | 17 | // Calling convention: 18 | // comp_gabdual_long(g,a,M); 19 | 20 | void LTFAT_NAME(ltfatMexFnc)( int nlhs, mxArray *plhs[],int nrhs, const mxArray *prhs[] ) 21 | { 22 | 23 | int L, R, a, M; 24 | 25 | // Get matrix dimensions. 26 | 27 | L=(int)mxGetM(prhs[0]); 28 | R=(int)mxGetN(prhs[0]); 29 | a=(int)mxGetScalar(prhs[1]); 30 | M=(int)mxGetScalar(prhs[2]); 31 | 32 | plhs[0] = ltfatCreateMatrix(L, R,LTFAT_MX_CLASSID,LTFAT_MX_COMPLEXITY); 33 | LTFAT_TYPE* gd_combined = (LTFAT_TYPE*) mxGetData(plhs[0]); 34 | const LTFAT_TYPE* g_combined = (const LTFAT_TYPE*) mxGetData(prhs[0]); 35 | 36 | LTFAT_NAME(gabdual_long)(g_combined, L, R, a, M, gd_combined); 37 | 38 | return; 39 | } 40 | #endif 41 | -------------------------------------------------------------------------------- /ltfat/mex/comp_gabtight_long.c: -------------------------------------------------------------------------------- 1 | #ifndef _LTFAT_MEX_FILE 2 | #define _LTFAT_MEX_FILE 3 | 4 | #define ISNARGINEQ 3 5 | #define TYPEDEPARGS 0 6 | #define SINGLEARGS 7 | #define COMPLEXINDEPENDENT 8 | 9 | #endif // _LTFAT_MEX_FILE - INCLUDED ONCE 10 | 11 | #define MEX_FILE __BASE_FILE__ 12 | #include "ltfat_mex_template_helper.h" 13 | 14 | #if defined(LTFAT_SINGLE) || defined(LTFAT_DOUBLE) 15 | #include "ltfat_types.h" 16 | 17 | // Calling convention: 18 | // comp_gabtight_long(g,a,M); 19 | 20 | void LTFAT_NAME(ltfatMexFnc)( int nlhs, mxArray *plhs[],int nrhs, const mxArray *prhs[] ) 21 | { 22 | 23 | int L, R, a, M; 24 | 25 | // Get matrix dimensions. 26 | 27 | L=(int)mxGetM(prhs[0]); 28 | R=(int)mxGetN(prhs[0]); 29 | a=(int)mxGetScalar(prhs[1]); 30 | M=(int)mxGetScalar(prhs[2]); 31 | 32 | plhs[0] = ltfatCreateMatrix(L, R,LTFAT_MX_CLASSID,LTFAT_MX_COMPLEXITY); 33 | LTFAT_TYPE* gd_combined = (LTFAT_TYPE*) mxGetData(plhs[0]); 34 | const LTFAT_TYPE* g_combined = (const LTFAT_TYPE*) mxGetData(prhs[0]); 35 | 36 | LTFAT_NAME(gabtight_long)(g_combined, L, R, a, M, gd_combined); 37 | 38 | return; 39 | } 40 | #endif 41 | 42 | -------------------------------------------------------------------------------- /ltfat/mex/comp_pchirp.c: -------------------------------------------------------------------------------- 1 | #include "math.h" 2 | #include "complex.h" 3 | #include "mex.h" 4 | #include "config.h" 5 | #include "ltfat.h" 6 | 7 | #define PI 3.1415926535897932384626433832795 8 | 9 | static inline long positiverem_long(long a,long b) 10 | { 11 | const long c = a%b; 12 | return(c<0 ? c+b : c); 13 | } 14 | 15 | /* Calling convention: 16 | * pchirp(L,n); 17 | */ 18 | void mexFunction( int nlhs, mxArray *plhs[], 19 | int nrhs, const mxArray *prhs[] ) 20 | { 21 | const long L=(long)mxGetScalar(prhs[0]); 22 | const long n=(long)mxGetScalar(prhs[1]); 23 | 24 | plhs[0] = mxCreateDoubleMatrix(L, 1, mxCOMPLEX); 25 | double *gr = mxGetPr(plhs[0]); 26 | double *gi = mxGetPi(plhs[0]); 27 | 28 | 29 | const long LL=2*L; 30 | const long Lponen=positiverem_long((L+1)*n,LL); 31 | 32 | for (long m=0;m<L;m++) 33 | { 34 | const long idx = positiverem_long( 35 | positiverem_long(Lponen*m,LL)*m,LL); 36 | 37 | gr[m] = cos(PI*idx/L); 38 | gi[m] = sin(PI*idx/L); 39 | } 40 | 41 | return; 42 | 43 | } 44 | 45 | 46 | -------------------------------------------------------------------------------- /ltfat/mex/config.h: -------------------------------------------------------------------------------- 1 | /* This file should contain the configuration parameters 2 | necessary for the Mex-compilation. */ 3 | 4 | #ifndef CONFIG_H 5 | #define CONFIG_H 1 6 | 7 | #define FFTW_OPTITYPE FFTW_ESTIMATE 8 | 9 | #endif /* CONFIG_H */ 10 | -------------------------------------------------------------------------------- /ltfat/mex/ltfat_mex_typecomplexindependent.h: -------------------------------------------------------------------------------- 1 | #if defined(LTFAT_SINGLE) || defined(LTFAT_DOUBLE) 2 | #include "ltfat_types.h" 3 | #include "mex.h" 4 | 5 | void LTFAT_NAME(ltfatMexAtExit)(void (*ExitFcn)(void)) 6 | { 7 | mwIndex fncIdx = 0; 8 | 9 | #if defined(LTFAT_DOUBLE) 10 | # if defined(LTFAT_COMPLEXINDEPENDENT) 11 | fncIdx++; 12 | # endif 13 | #elif defined(LTFAT_SINGLE) 14 | fncIdx = 2; 15 | # if defined(LTFAT_COMPLEXINDEPENDENT) 16 | fncIdx++; 17 | # endif 18 | #endif 19 | 20 | exitFncPtr[fncIdx] = ExitFcn; 21 | } 22 | 23 | 24 | 25 | #endif 26 | -------------------------------------------------------------------------------- /ltfat/mex/mex-memalloc.c: -------------------------------------------------------------------------------- 1 | #include "mex.h" 2 | #include <stdlib.h> 3 | #include "stddef.h" 4 | 5 | void* ltfat_malloc(size_t n) 6 | { 7 | return mxMalloc(n); 8 | } 9 | 10 | void* ltfat_calloc(size_t nmemb, size_t size) 11 | { 12 | return mxCalloc(nmemb, size); 13 | } 14 | 15 | void* ltfat_realloc(void *ptr, size_t n) 16 | { 17 | return mxRealloc(ptr, n); 18 | } 19 | 20 | void ltfat_free(void *ptr) 21 | { 22 | mxFree(ptr); 23 | } 24 | -------------------------------------------------------------------------------- /ltfat/mex/mexinit.m: -------------------------------------------------------------------------------- 1 | if isoctave 2 | status=0; 3 | else 4 | status=2; 5 | end; 6 | 7 | 8 | 9 | % 10 | % Url: http://ltfat.sourceforge.net/doc/mex/mexinit.php 11 | 12 | % Copyright (C) 2005-2013 Peter L. Søndergaard <soender@users.sourceforge.net>. 13 | % This file is part of LTFAT version 1.4.3 14 | % 15 | % This program is free software: you can redistribute it and/or modify 16 | % it under the terms of the GNU General Public License as published by 17 | % the Free Software Foundation, either version 3 of the License, or 18 | % (at your option) any later version. 19 | % 20 | % This program is distributed in the hope that it will be useful, 21 | % but WITHOUT ANY WARRANTY; without even the implied warranty of 22 | % MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 23 | % GNU General Public License for more details. 24 | % 25 | % You should have received a copy of the GNU General Public License 26 | % along with this program. If not, see <http://www.gnu.org/licenses/>. 27 | 28 | -------------------------------------------------------------------------------- /ltfat/mulaclab/icons/apply.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bootphon/features_extraction/e781ea0b7fa49ff67158b49114359963f985930d/ltfat/mulaclab/icons/apply.png -------------------------------------------------------------------------------- /ltfat/mulaclab/icons/colormap.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bootphon/features_extraction/e781ea0b7fa49ff67158b49114359963f985930d/ltfat/mulaclab/icons/colormap.png -------------------------------------------------------------------------------- /ltfat/mulaclab/icons/difference.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bootphon/features_extraction/e781ea0b7fa49ff67158b49114359963f985930d/ltfat/mulaclab/icons/difference.png -------------------------------------------------------------------------------- /ltfat/mulaclab/icons/freehand.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bootphon/features_extraction/e781ea0b7fa49ff67158b49114359963f985930d/ltfat/mulaclab/icons/freehand.png -------------------------------------------------------------------------------- /ltfat/mulaclab/icons/intersection.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bootphon/features_extraction/e781ea0b7fa49ff67158b49114359963f985930d/ltfat/mulaclab/icons/intersection.png -------------------------------------------------------------------------------- /ltfat/mulaclab/icons/loop.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bootphon/features_extraction/e781ea0b7fa49ff67158b49114359963f985930d/ltfat/mulaclab/icons/loop.png -------------------------------------------------------------------------------- /ltfat/mulaclab/icons/magicwand.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bootphon/features_extraction/e781ea0b7fa49ff67158b49114359963f985930d/ltfat/mulaclab/icons/magicwand.png -------------------------------------------------------------------------------- /ltfat/mulaclab/icons/pan.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bootphon/features_extraction/e781ea0b7fa49ff67158b49114359963f985930d/ltfat/mulaclab/icons/pan.png -------------------------------------------------------------------------------- /ltfat/mulaclab/icons/play.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bootphon/features_extraction/e781ea0b7fa49ff67158b49114359963f985930d/ltfat/mulaclab/icons/play.png -------------------------------------------------------------------------------- /ltfat/mulaclab/icons/resizebutton.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bootphon/features_extraction/e781ea0b7fa49ff67158b49114359963f985930d/ltfat/mulaclab/icons/resizebutton.png -------------------------------------------------------------------------------- /ltfat/mulaclab/icons/showsymbol.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bootphon/features_extraction/e781ea0b7fa49ff67158b49114359963f985930d/ltfat/mulaclab/icons/showsymbol.png -------------------------------------------------------------------------------- /ltfat/mulaclab/icons/stop.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bootphon/features_extraction/e781ea0b7fa49ff67158b49114359963f985930d/ltfat/mulaclab/icons/stop.png -------------------------------------------------------------------------------- /ltfat/mulaclab/icons/subbandsel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bootphon/features_extraction/e781ea0b7fa49ff67158b49114359963f985930d/ltfat/mulaclab/icons/subbandsel.png -------------------------------------------------------------------------------- /ltfat/mulaclab/icons/union.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bootphon/features_extraction/e781ea0b7fa49ff67158b49114359963f985930d/ltfat/mulaclab/icons/union.png -------------------------------------------------------------------------------- /ltfat/mulaclab/icons/zoomin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bootphon/features_extraction/e781ea0b7fa49ff67158b49114359963f985930d/ltfat/mulaclab/icons/zoomin.png -------------------------------------------------------------------------------- /ltfat/mulaclab/icons/zoomout.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bootphon/features_extraction/e781ea0b7fa49ff67158b49114359963f985930d/ltfat/mulaclab/icons/zoomout.png -------------------------------------------------------------------------------- /ltfat/nonstatgab/nonstatgabinit.m: -------------------------------------------------------------------------------- 1 | status=1; 2 | 3 | 4 | % 5 | % Url: http://ltfat.sourceforge.net/doc/nonstatgab/nonstatgabinit.php 6 | 7 | % Copyright (C) 2005-2013 Peter L. Søndergaard <soender@users.sourceforge.net>. 8 | % This file is part of LTFAT version 1.4.3 9 | % 10 | % This program is free software: you can redistribute it and/or modify 11 | % it under the terms of the GNU General Public License as published by 12 | % the Free Software Foundation, either version 3 of the License, or 13 | % (at your option) any later version. 14 | % 15 | % This program is distributed in the hope that it will be useful, 16 | % but WITHOUT ANY WARRANTY; without even the implied warranty of 17 | % MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 18 | % GNU General Public License for more details. 19 | % 20 | % You should have received a copy of the GNU General Public License 21 | % along with this program. If not, see <http://www.gnu.org/licenses/>. 22 | 23 | -------------------------------------------------------------------------------- /ltfat/oct/Makefile_mac: -------------------------------------------------------------------------------- 1 | include Makefile_unix 2 | -------------------------------------------------------------------------------- /ltfat/oct/Makefile_unix: -------------------------------------------------------------------------------- 1 | # Use GNU Make to process this file. 2 | 3 | ifndef EXT 4 | EXT=oct 5 | endif 6 | 7 | OCTSCC = $(shell ls comp_*.cc) 8 | OCTSBASE = $(basename $(OCTSCC)) 9 | OCTS = $(addsuffix .$(EXT),$(OCTSBASE)) 10 | 11 | MKOCTFILE ?= mkoctfile 12 | 13 | ifndef LAPACK_LIBS 14 | LAPACK_LIBS := $(shell $(MKOCTFILE) -p LAPACK_LIBS) 15 | endif 16 | ifndef BLAS_LIBS 17 | BLAS_LIBS := $(shell $(MKOCTFILE) -p BLAS_LIBS) 18 | endif 19 | ifndef FLIBS 20 | FLIBS := $(shell $(MKOCTFILE) -p FLIBS) 21 | endif 22 | LFLAGS := $(shell $(MKOCTFILE) -p LFLAGS) $(LAPACK_LIBS) $(BLAS_LIBS) $(FLIBS) 23 | 24 | all: $(OCTS) 25 | 26 | %.$(EXT): %.cc config.h 27 | $(MKOCTFILE) -strip -Wall -I../thirdparty -I. -I../src -I../src/thirdparty -L../lib -lltfat -lltfatf $< 28 | 29 | clean: 30 | rm *.o *.$(EXT) 31 | 32 | .PHONY: all clean 33 | -------------------------------------------------------------------------------- /ltfat/oct/comp_pchirp.cc: -------------------------------------------------------------------------------- 1 | #include <octave/oct.h> 2 | #include "config.h" 3 | #include "ltfat.h" 4 | 5 | DEFUN_DLD (comp_pchirp, args, , 6 | "This function calls the C-library\n\ 7 | c=pchirp(L,n);\n") 8 | { 9 | 10 | const int L = args(0).int_value(); 11 | const int n = args(1).int_value(); 12 | 13 | ComplexMatrix g(L,1); 14 | 15 | pchirp_d(L, n, (double _Complex *)g.fortran_vec()); 16 | 17 | return octave_value (g); 18 | 19 | } 20 | 21 | -------------------------------------------------------------------------------- /ltfat/oct/comp_pgauss.cc: -------------------------------------------------------------------------------- 1 | #include <octave/oct.h> 2 | #include "config.h" 3 | #include "ltfat.h" 4 | 5 | DEFUN_DLD (comp_pgauss, args, , 6 | "This function calls the C-library\n\ 7 | c=comp_pgauss(L,w,c_t,c_f);\n") 8 | { 9 | 10 | const int L = args(0).int_value(); 11 | const double w = args(1).double_value(); 12 | const double c_t = args(2).double_value(); 13 | const double c_f = args(3).double_value(); 14 | 15 | if (c_f==0.0) 16 | { 17 | Matrix g(L,1); 18 | pgauss_d(L, w, c_t, g.fortran_vec()); 19 | 20 | return octave_value (g); 21 | } 22 | else 23 | { 24 | ComplexMatrix g(L,1); 25 | pgauss_cmplx_d(L, w, c_t, c_f, (double _Complex*)g.fortran_vec()); 26 | 27 | return octave_value (g); 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /ltfat/oct/config.h: -------------------------------------------------------------------------------- 1 | /* This file should contain the configuration parameters 2 | necessary for the Oct-compilation. */ 3 | 4 | #ifndef CONFIG_H 5 | #define CONFIG_H 1 6 | 7 | #include "fftw3.h" 8 | #include "ltfat.h" 9 | 10 | #define FFTW_OPTITYPE FFTW_ESTIMATE 11 | 12 | typedef fftw_complex ltfat_complex; 13 | typedef fftwf_complex ltfat_scomplex; 14 | 15 | /* Define to a macro mangling the given C identifier (in lower and upper 16 | case), which must not contain underscores, for linking with Fortran. */ 17 | #define F77_FUNC(name,NAME) name ## _ 18 | 19 | #endif /* CONFIG_H */ 20 | -------------------------------------------------------------------------------- /ltfat/oct/oct-memalloc.c: -------------------------------------------------------------------------------- 1 | #include <stdlib.h> 2 | #include <stdio.h> 3 | #include "stddef.h" 4 | #include "fftw3.h" 5 | 6 | void* ltfat_malloc (size_t n) 7 | { 8 | void *outp; 9 | outp = fftw_malloc(n); 10 | if (outp == NULL) 11 | { 12 | puts("ltfat_malloc failed."); 13 | exit(1); 14 | } 15 | return outp; 16 | } 17 | 18 | void* ltfat_realloc (void *ptr, size_t n) 19 | { 20 | void *outp; 21 | outp = realloc(ptr, n); 22 | if (outp == NULL) 23 | { 24 | puts("ltfat_realloc failed."); 25 | exit(1); 26 | } 27 | return outp; 28 | } 29 | 30 | void* ltfat_calloc (size_t nmemb, size_t size) 31 | { 32 | void *outp; 33 | outp = calloc(nmemb, size); 34 | if (outp == NULL) 35 | { 36 | puts("ltfat_calloc failed."); 37 | exit(1); 38 | } 39 | return outp; 40 | } 41 | 42 | void ltfat_free(void *ptr) 43 | { 44 | fftw_free(ptr); 45 | } 46 | 47 | -------------------------------------------------------------------------------- /ltfat/oct/octinit.m: -------------------------------------------------------------------------------- 1 | if isoctave 2 | status=2; 3 | else 4 | status=0; 5 | end; 6 | 7 | 8 | 9 | % 10 | % Url: http://ltfat.sourceforge.net/doc/oct/octinit.php 11 | 12 | % Copyright (C) 2005-2013 Peter L. Søndergaard <soender@users.sourceforge.net>. 13 | % This file is part of LTFAT version 1.4.3 14 | % 15 | % This program is free software: you can redistribute it and/or modify 16 | % it under the terms of the GNU General Public License as published by 17 | % the Free Software Foundation, either version 3 of the License, or 18 | % (at your option) any later version. 19 | % 20 | % This program is distributed in the hope that it will be useful, 21 | % but WITHOUT ANY WARRANTY; without even the implied warranty of 22 | % MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 23 | % GNU General Public License for more details. 24 | % 25 | % You should have received a copy of the GNU General Public License 26 | % along with this program. If not, see <http://www.gnu.org/licenses/>. 27 | 28 | -------------------------------------------------------------------------------- /ltfat/operators/operatorsinit.m: -------------------------------------------------------------------------------- 1 | status=1; 2 | 3 | % 4 | % Url: http://ltfat.sourceforge.net/doc/operators/operatorsinit.php 5 | 6 | % Copyright (C) 2005-2013 Peter L. Søndergaard <soender@users.sourceforge.net>. 7 | % This file is part of LTFAT version 1.4.3 8 | % 9 | % This program is free software: you can redistribute it and/or modify 10 | % it under the terms of the GNU General Public License as published by 11 | % the Free Software Foundation, either version 3 of the License, or 12 | % (at your option) any later version. 13 | % 14 | % This program is distributed in the hope that it will be useful, 15 | % but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | % MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | % GNU General Public License for more details. 18 | % 19 | % You should have received a copy of the GNU General Public License 20 | % along with this program. If not, see <http://www.gnu.org/licenses/>. 21 | 22 | -------------------------------------------------------------------------------- /ltfat/signals/Clar.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bootphon/features_extraction/e781ea0b7fa49ff67158b49114359963f985930d/ltfat/signals/Clar.wav -------------------------------------------------------------------------------- /ltfat/signals/Piano2.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bootphon/features_extraction/e781ea0b7fa49ff67158b49114359963f985930d/ltfat/signals/Piano2.wav -------------------------------------------------------------------------------- /ltfat/signals/cameraman.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bootphon/features_extraction/e781ea0b7fa49ff67158b49114359963f985930d/ltfat/signals/cameraman.png -------------------------------------------------------------------------------- /ltfat/signals/cocktailparty.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bootphon/features_extraction/e781ea0b7fa49ff67158b49114359963f985930d/ltfat/signals/cocktailparty.wav -------------------------------------------------------------------------------- /ltfat/signals/greasy.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bootphon/features_extraction/e781ea0b7fa49ff67158b49114359963f985930d/ltfat/signals/greasy.wav -------------------------------------------------------------------------------- /ltfat/signals/gspi.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bootphon/features_extraction/e781ea0b7fa49ff67158b49114359963f985930d/ltfat/signals/gspi.wav -------------------------------------------------------------------------------- /ltfat/signals/lichtenstein.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bootphon/features_extraction/e781ea0b7fa49ff67158b49114359963f985930d/ltfat/signals/lichtenstein.png -------------------------------------------------------------------------------- /ltfat/signals/linus.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bootphon/features_extraction/e781ea0b7fa49ff67158b49114359963f985930d/ltfat/signals/linus.wav -------------------------------------------------------------------------------- /ltfat/signals/ltfatlogo.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bootphon/features_extraction/e781ea0b7fa49ff67158b49114359963f985930d/ltfat/signals/ltfatlogo.wav -------------------------------------------------------------------------------- /ltfat/signals/ltfattext.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bootphon/features_extraction/e781ea0b7fa49ff67158b49114359963f985930d/ltfat/signals/ltfattext.png -------------------------------------------------------------------------------- /ltfat/signals/signalsinit.m: -------------------------------------------------------------------------------- 1 | status=1; 2 | 3 | 4 | 5 | % 6 | % Url: http://ltfat.sourceforge.net/doc/signals/signalsinit.php 7 | 8 | % Copyright (C) 2005-2013 Peter L. Søndergaard <soender@users.sourceforge.net>. 9 | % This file is part of LTFAT version 1.4.3 10 | % 11 | % This program is free software: you can redistribute it and/or modify 12 | % it under the terms of the GNU General Public License as published by 13 | % the Free Software Foundation, either version 3 of the License, or 14 | % (at your option) any later version. 15 | % 16 | % This program is distributed in the hope that it will be useful, 17 | % but WITHOUT ANY WARRANTY; without even the implied warranty of 18 | % MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 19 | % GNU General Public License for more details. 20 | % 21 | % You should have received a copy of the GNU General Public License 22 | % along with this program. If not, see <http://www.gnu.org/licenses/>. 23 | 24 | -------------------------------------------------------------------------------- /ltfat/signals/traindoppler.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bootphon/features_extraction/e781ea0b7fa49ff67158b49114359963f985930d/ltfat/signals/traindoppler.wav -------------------------------------------------------------------------------- /ltfat/sigproc/crestfactor.m: -------------------------------------------------------------------------------- 1 | function c=crestfactor(insig) 2 | %CRESTFACTOR Crest factor of input signal in dB 3 | % Usage: c=crestfactor(insig); 4 | % 5 | % CRESTFACTOR(insig) computes the crest factor of the input signal 6 | % insig. The output is measured in dB. 7 | % 8 | % See also: rms, gaindb 9 | % 10 | % Url: http://ltfat.sourceforge.net/doc/sigproc/crestfactor.php 11 | 12 | % Copyright (C) 2005-2013 Peter L. Søndergaard <soender@users.sourceforge.net>. 13 | % This file is part of LTFAT version 1.4.3 14 | % 15 | % This program is free software: you can redistribute it and/or modify 16 | % it under the terms of the GNU General Public License as published by 17 | % the Free Software Foundation, either version 3 of the License, or 18 | % (at your option) any later version. 19 | % 20 | % This program is distributed in the hope that it will be useful, 21 | % but WITHOUT ANY WARRANTY; without even the implied warranty of 22 | % MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 23 | % GNU General Public License for more details. 24 | % 25 | % You should have received a copy of the GNU General Public License 26 | % along with this program. If not, see <http://www.gnu.org/licenses/>. 27 | 28 | c=20*log10(norm(insig,Inf)/rms(insig)); 29 | 30 | 31 | -------------------------------------------------------------------------------- /ltfat/sigproc/sigprocinit.m: -------------------------------------------------------------------------------- 1 | status=1; 2 | 3 | 4 | % 5 | % Url: http://ltfat.sourceforge.net/doc/sigproc/sigprocinit.php 6 | 7 | % Copyright (C) 2005-2013 Peter L. Søndergaard <soender@users.sourceforge.net>. 8 | % This file is part of LTFAT version 1.4.3 9 | % 10 | % This program is free software: you can redistribute it and/or modify 11 | % it under the terms of the GNU General Public License as published by 12 | % the Free Software Foundation, either version 3 of the License, or 13 | % (at your option) any later version. 14 | % 15 | % This program is distributed in the hope that it will be useful, 16 | % but WITHOUT ANY WARRANTY; without even the implied warranty of 17 | % MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 18 | % GNU General Public License for more details. 19 | % 20 | % You should have received a copy of the GNU General Public License 21 | % along with this program. If not, see <http://www.gnu.org/licenses/>. 22 | 23 | -------------------------------------------------------------------------------- /ltfat/src/Makefile_mac: -------------------------------------------------------------------------------- 1 | include Makefile_unix 2 | -------------------------------------------------------------------------------- /ltfat/src/Makefile_octpkg: -------------------------------------------------------------------------------- 1 | all: 2 | $(MAKE) -f Makefile_unix 3 | $(MAKE) -C ../oct -f Makefile_unix 4 | mv ../oct/*.oct . 5 | ls -1 *.oct | cut -d . -f 1 | xargs -i rm -f ../inst/comp/{}.m 6 | -------------------------------------------------------------------------------- /ltfat/src/README: -------------------------------------------------------------------------------- 1 | This directory contains the source for the C-library. 2 | 3 | On Unix, type 4 | 5 | make 6 | 7 | to compile the C-library. The library is called libltfat.a 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /ltfat/src/bootstrap: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | autoconf 3 | -------------------------------------------------------------------------------- /ltfat/src/ciutils.h: -------------------------------------------------------------------------------- 1 | /* 2 | Inplace friendly functions. 3 | in==out is possibe. 4 | */ 5 | 6 | LTFAT_EXTERN 7 | void LTFAT_NAME(circshift)(LTFAT_TYPE *in, LTFAT_TYPE *out, const ptrdiff_t L, const ptrdiff_t shift); 8 | 9 | LTFAT_EXTERN 10 | void LTFAT_NAME(reverse_array)(LTFAT_TYPE *in, LTFAT_TYPE *out, const size_t L); 11 | 12 | LTFAT_EXTERN 13 | void LTFAT_NAME(conjugate_array)(LTFAT_TYPE *in, LTFAT_TYPE *out, const size_t L); 14 | 15 | LTFAT_EXTERN 16 | void LTFAT_NAME(array2complex)(LTFAT_TYPE *in, LTFAT_COMPLEX *out, const size_t L); 17 | -------------------------------------------------------------------------------- /ltfat/src/config.h: -------------------------------------------------------------------------------- 1 | #ifndef CONFIG_H 2 | #define CONFIG_H 1 3 | 4 | 5 | #ifndef __cplusplus 6 | #include <complex.h> 7 | #endif //__cplusplus 8 | 9 | #define HAVE_BLAS 1 10 | #define HAVE_LAPACK 1 11 | 12 | #include "fftw3.h" 13 | 14 | 15 | static inline int ltfat_round(double x) 16 | { 17 | return (int)(x+.5); 18 | } 19 | 20 | static inline int positiverem(int a,int b) 21 | { 22 | const int c = a%b; 23 | return(c<0 ? c+b : c); 24 | } 25 | 26 | /* Define to a macro mangling the given C identifier (in lower and upper 27 | case), which must not contain underscores, for linking with Fortran. */ 28 | 29 | #ifdef MATLABFORTRAN 30 | #define F77_FUNC(name,NAME) NAME 31 | #else 32 | #define F77_FUNC(name,NAME) name ## _ 33 | #endif 34 | 35 | /* On WinXP, gcc defines __WIN32__ */ 36 | /* On Linux, gcc defines __linux__ */ 37 | 38 | #endif /* CONFIG_H */ 39 | -------------------------------------------------------------------------------- /ltfat/src/configure.ac: -------------------------------------------------------------------------------- 1 | AC_PREREQ([2.62]) 2 | AC_INIT([LTFAT], [1.4.2], [http://ltfat.sourceforge.net/contact.php], [ltfat]) 3 | 4 | AC_PROG_CC 5 | AC_PROG_CXX 6 | 7 | #AC_CONFIG_MACRO_DIR([m4/]) 8 | m4_include([m4/ax_blas.m4]) 9 | m4_include([m4/ax_lapack.m4]) 10 | 11 | # The checks for BLAS and Lapack have been disabled because they 12 | # provoke an error about a missing install-sh 13 | 14 | #dnl Check for BLAS libraries 15 | #sinclude(ax_blas.m4) 16 | #AX_BLAS 17 | #if test "$ax_blas_ok" = "no"; then 18 | # AC_MSG_ERROR([Cannot find BLAS libraries]) 19 | #fi 20 | 21 | #dnl Check for LAPACK libraries 22 | #sinclude(ax_lapack.m4) 23 | #AX_LAPACK 24 | #if test "$ax_lapack_ok" = "no"; then 25 | # AC_MSG_ERROR([Cannot find LAPACK libraries]) 26 | #fi 27 | 28 | dnl Check for MKOCTFILE 29 | AC_CHECK_PROG(MKOCTFILE_CHECK,mkoctfile,"yes") 30 | if test "$MKOCTFILE_CHECK" != "yes" ; then 31 | AC_MSG_ERROR([Please install mkoctfile.]) 32 | fi 33 | 34 | #AC_CHECK_HEADERS([fftw3.h],[],[AC_MSG_ERROR([fftw was not found])]) 35 | # Put in check for portaudio 36 | 37 | AC_OUTPUT 38 | -------------------------------------------------------------------------------- /ltfat/src/dgt_long.h: -------------------------------------------------------------------------------- 1 | LTFAT_EXTERN void 2 | LTFAT_NAME(dgt_long)(const LTFAT_COMPLEX *f, const LTFAT_COMPLEX *g, 3 | const int L, const int W, const int a, 4 | const int M, LTFAT_COMPLEX *cout); 5 | 6 | typedef struct 7 | { 8 | int a; 9 | int M; 10 | int L; 11 | int W; 12 | int c; 13 | int h_a; 14 | LTFAT_FFTW(plan) p_before; 15 | LTFAT_FFTW(plan) p_after; 16 | LTFAT_FFTW(plan) p_veryend; 17 | LTFAT_REAL *sbuf; 18 | const LTFAT_COMPLEX *f; 19 | LTFAT_COMPLEX *gf; 20 | LTFAT_COMPLEX *cout; 21 | LTFAT_REAL *ff, *cf; 22 | 23 | } LTFAT_NAME(dgt_long_plan); 24 | 25 | 26 | LTFAT_EXTERN LTFAT_NAME(dgt_long_plan) 27 | LTFAT_NAME(dgt_long_init)(const LTFAT_COMPLEX *f, const LTFAT_COMPLEX *g, 28 | const int L, const int W, const int a, 29 | const int M, LTFAT_COMPLEX *cout, 30 | unsigned flags); 31 | 32 | LTFAT_EXTERN void 33 | LTFAT_NAME(dgt_long_execute)(const LTFAT_NAME(dgt_long_plan) plan); 34 | 35 | LTFAT_EXTERN void 36 | LTFAT_NAME(dgt_long_done)(LTFAT_NAME(dgt_long_plan) plan); 37 | 38 | 39 | LTFAT_EXTERN void 40 | LTFAT_NAME(dgt_walnut_plan)(LTFAT_NAME(dgt_long_plan) plan); 41 | -------------------------------------------------------------------------------- /ltfat/src/filedefs.mk: -------------------------------------------------------------------------------- 1 | files = dgt.o dgt_fac.o dgt_fb.o dgt_multi.o dgt_ola.o dgt_shear.o \ 2 | dgt_walnut.o dgtreal_fac.o dwilt.o filterbank.o heapint.o \ 3 | idgt_fac.o idgt_fb.o iwfac.o pfilt.o reassign.o \ 4 | spread.o tfutil.o wfac.o windows.o winmanip.o ltfat_complexindependent.o \ 5 | dgt_shearola.o 6 | 7 | files_blaslapack = \ 8 | ltfat_blaslapack.o gabdual_fac.o gabtight_fac.o ltfat_complexindependent_bl.o 9 | 10 | 11 | files_notypechange = c-safe-memalloc.o integer_manip.o 12 | 13 | -------------------------------------------------------------------------------- /ltfat/src/gabdual.c: -------------------------------------------------------------------------------- 1 | /* NOT PROCESSED DIRECTLY, see ltfat_complexindependent.c */ 2 | #ifdef LTFAT_TYPE 3 | 4 | #include "config.h" 5 | #include "ltfat.h" 6 | #include "ltfat_types.h" 7 | 8 | LTFAT_EXTERN void 9 | LTFAT_NAME(gabdual_long)(const LTFAT_TYPE *g, 10 | const int L, const int R, const int a, 11 | const int M, LTFAT_TYPE *gd) 12 | { 13 | 14 | const int wfs = L; 15 | 16 | 17 | LTFAT_COMPLEX *gf = ltfat_malloc(wfs*R*sizeof(LTFAT_COMPLEX)); 18 | LTFAT_COMPLEX *gdf = ltfat_malloc(wfs*R*sizeof(LTFAT_COMPLEX)); 19 | 20 | #ifdef LTFAT_COMPLEXTYPE 21 | 22 | LTFAT_NAME(wfac)(g, L, R, a, M, gf); 23 | LTFAT_NAME_REAL(gabdual_fac)((const LTFAT_COMPLEX *)gf,L,R,a,M,gdf); 24 | LTFAT_NAME(iwfac)((const LTFAT_COMPLEX *)gdf,L,R,a,M,gd); 25 | 26 | #else 27 | 28 | LTFAT_NAME_REAL(wfacreal)(g, L, R, a, M, gf); 29 | LTFAT_NAME_REAL(gabdualreal_fac)((const LTFAT_COMPLEX *)gf,L,R,a,M,gdf); 30 | LTFAT_NAME_REAL(iwfacreal)((const LTFAT_COMPLEX *)gdf,L,R,a,M,gd); 31 | 32 | #endif 33 | 34 | ltfat_free(gdf); 35 | ltfat_free(gf); 36 | 37 | } 38 | 39 | #endif 40 | -------------------------------------------------------------------------------- /ltfat/src/gabtight.c: -------------------------------------------------------------------------------- 1 | /* NOT PROCESSED DIRECTLY, see ltfat_complexindependent.c */ 2 | #ifdef LTFAT_TYPE 3 | 4 | #include "config.h" 5 | #include "ltfat.h" 6 | 7 | LTFAT_EXTERN void 8 | LTFAT_NAME(gabtight_long)(const LTFAT_TYPE *g, 9 | const int L, const int R, const int a, 10 | const int M, LTFAT_TYPE *gd) 11 | { 12 | 13 | #ifdef LTFAT_COMPLEXTYPE 14 | 15 | LTFAT_COMPLEX *gf = ltfat_malloc(L*R*sizeof(LTFAT_COMPLEX)); 16 | LTFAT_COMPLEX *gdf = ltfat_malloc(L*R*sizeof(LTFAT_COMPLEX)); 17 | 18 | LTFAT_NAME(wfac)(g, L, R, a, M, gf); 19 | LTFAT_NAME_REAL(gabtight_fac)((const LTFAT_COMPLEX *)gf,L,R,a,M,gdf); 20 | LTFAT_NAME(iwfac)((const LTFAT_COMPLEX *)gdf,L,R,a,M,gd); 21 | 22 | #else 23 | 24 | const int wfs = L; /* wfacreal_size(L,a,M); */ 25 | 26 | LTFAT_COMPLEX *gf = ltfat_malloc(wfs*R*sizeof(LTFAT_COMPLEX)); 27 | LTFAT_COMPLEX *gdf = ltfat_malloc(wfs*R*sizeof(LTFAT_COMPLEX)); 28 | 29 | LTFAT_NAME_REAL(wfacreal)(g, L, R, a, M, gf); 30 | LTFAT_NAME_REAL(gabtightreal_fac)((const LTFAT_COMPLEX *)gf,L,R,a,M,gdf); 31 | LTFAT_NAME_REAL(iwfacreal)((const LTFAT_COMPLEX *)gdf,L,R,a,M,gd); 32 | 33 | #endif 34 | 35 | ltfat_free(gdf); 36 | ltfat_free(gf); 37 | 38 | 39 | } 40 | #endif 41 | -------------------------------------------------------------------------------- /ltfat/src/ltfat_complexindependent.c: -------------------------------------------------------------------------------- 1 | #ifdef LTFAT_COMPLEXTYPE 2 | # undef LTFAT_COMPLEXTYPE 3 | #endif // LTFAT_COMPLEXTYPE 4 | 5 | #include "config.h" 6 | #include "ltfat.h" 7 | 8 | #include "ltfat_types.h" 9 | 10 | #include "goertzel.c" 11 | #include "wavelets.c" 12 | #include "spread.c" 13 | #include "ciutils.c" 14 | 15 | 16 | #define LTFAT_COMPLEXTYPE 17 | #include "ltfat_types.h" 18 | 19 | #include "wavelets.c" 20 | #include "goertzel.c" 21 | #include "spread.c" 22 | #include "ciutils.c" 23 | 24 | 25 | #undef LTFAT_COMPLEXTYPE 26 | 27 | 28 | -------------------------------------------------------------------------------- /ltfat/src/ltfat_complexindependent_bl.c: -------------------------------------------------------------------------------- 1 | #ifdef LTFAT_COMPLEXTYPE 2 | # undef LTFAT_COMPLEXTYPE 3 | #endif // LTFAT_COMPLEXTYPE 4 | 5 | #include "config.h" 6 | #include "ltfat.h" 7 | #include "ltfat_types.h" 8 | 9 | 10 | #include "gabdual.c" 11 | #include "gabtight.c" 12 | 13 | 14 | #define LTFAT_COMPLEXTYPE 15 | #include "ltfat_types.h" 16 | 17 | #include "gabdual.c" 18 | #include "gabtight.c" 19 | 20 | 21 | #undef LTFAT_COMPLEXTYPE 22 | 23 | 24 | -------------------------------------------------------------------------------- /ltfat/src/ltfat_notdllexport.def: -------------------------------------------------------------------------------- 1 | EXPORTS 2 | gcd 3 | fftindex 4 | makelarger 5 | int_max 6 | int_min 7 | lcm 8 | gabimagepars 9 | wfacreal_size 10 | ltfat_malloc 11 | ltfat_calloc 12 | ltfat_realloc 13 | ltfat_free 14 | nextPow2_st 15 | nextfastfft 16 | max_st 17 | max_pt 18 | min_st 19 | min_pt -------------------------------------------------------------------------------- /ltfat/src/ltfat_typecomplexindependent.h: -------------------------------------------------------------------------------- 1 | #include "wavelets.h" 2 | #include "goertzel.h" 3 | #include "ciutils.h" 4 | 5 | LTFAT_EXTERN void 6 | LTFAT_NAME(col2diag)(const LTFAT_TYPE *cin, const int L, 7 | LTFAT_TYPE *cout); 8 | 9 | LTFAT_EXTERN void 10 | LTFAT_NAME(gabdual_long)(const LTFAT_TYPE *g, 11 | const int L, const int R, const int a, 12 | const int M, LTFAT_TYPE *gd); 13 | 14 | LTFAT_EXTERN void 15 | LTFAT_NAME(gabtight_long)(const LTFAT_TYPE *g, 16 | const int L, const int R, const int a, 17 | const int M, LTFAT_TYPE *gd); 18 | 19 | 20 | -------------------------------------------------------------------------------- /ltfat/src/ostools.mk: -------------------------------------------------------------------------------- 1 | #This file produces system and environment dependent tools for working with files 2 | #It sets the following variables 3 | # 4 | # RM 5 | # CP 6 | 7 | ifeq ($(OS),Windows_NT) 8 | RM = del /Q /F 9 | CP = copy /Y 10 | PS2 = \\ 11 | PS = $(strip $(PS2)) 12 | ifdef ComSpec 13 | SHELL := $(ComSpec) 14 | endif 15 | ifdef COMSPEC 16 | SHELL := $(COMSPEC) 17 | endif 18 | CC = gcc 19 | else 20 | #If not on Windows 21 | RM = rm -rf 22 | CP = cp -f 23 | PS = / 24 | endif 25 | 26 | CC=gcc 27 | -------------------------------------------------------------------------------- /ltfat/src/tfutil.c: -------------------------------------------------------------------------------- 1 | #include "ltfat.h" 2 | 3 | /* 4 | int LTFAT_NAME(complexprod)(LTFAT_COMPLEX *c, const LTFAT_COMPLEX a, const LTFAT_COMPLEX b) 5 | { 6 | #ifdef HAVE_COMPLEX_H 7 | (*c)=a*b; 8 | #else 9 | 10 | (*c)[0]=a[0]*b[0]-a[1]*b[1]; 11 | (*c)[1]=a[1]*b[0]+a[0]*b[1]; 12 | 13 | #endif 14 | return (0); 15 | } 16 | */ 17 | 18 | /* --- usefull for debugging -------- 19 | void print_z(const int N, LTFAT_COMPLEX *p) 20 | { 21 | int i; 22 | 23 | for(i=0;i<N;i++) 24 | { 25 | #ifdef HAVE_COMPLEX_H 26 | printf("%.16lf %.16lf\n",creal(p[i]),cimag(p[i])); 27 | #else 28 | printf("%.16lf %.16lf\n",p[i][0],p[i][1]); 29 | #endif 30 | } 31 | fflush(NULL); 32 | 33 | } 34 | 35 | */ 36 | -------------------------------------------------------------------------------- /ltfat/thirdparty/GPC/GPC-README.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bootphon/features_extraction/e781ea0b7fa49ff67158b49114359963f985930d/ltfat/thirdparty/GPC/GPC-README.pdf -------------------------------------------------------------------------------- /ltfat/thirdparty/Playrec/Makefile_mac: -------------------------------------------------------------------------------- 1 | import Makefile_unix 2 | -------------------------------------------------------------------------------- /ltfat/thirdparty/Playrec/Makefile_macoct: -------------------------------------------------------------------------------- 1 | # Use GNU Make to process this file. 2 | import Makefile_unixoct 3 | -------------------------------------------------------------------------------- /ltfat/thirdparty/Playrec/Makefile_mingw: -------------------------------------------------------------------------------- 1 | # To run this makefile, you must provide your system specific EXT and MATLABROOT 2 | # variables on the command line e.g.: 3 | # 4 | # make -f Makefile_mingw64 MATLABROOT="C:\Program Files\MATLAB\R2011b" EXT=mexw64 ARCH=win64 5 | 6 | ifndef MATLABROOT 7 | $(warning MATLABROOT variable is udefined. Using default MATLABROOT="C:\Program Files\MATLAB\R2011b" ) 8 | MATLABROOT=C:\Program Files\MATLAB\R2011b 9 | endif 10 | 11 | ifndef EXT 12 | $(warning EXT variable is udefined. Using default EXT=mexw64 ) 13 | EXT=mexw64 14 | endif 15 | 16 | ifndef ARCH 17 | $(warning ARCH variable is udefined. Using default ARCH=win64 ) 18 | ARCH=win64 19 | endif 20 | 21 | ifndef PORTAUDIO 22 | PORTAUDIO=portaudio 23 | endif 24 | 25 | MEXTGT=playrec.$(EXT) 26 | MEXSRC=mex_dll_core.c pa_dll_playrec.c 27 | LIBS= -L. -L"$(MATLABROOT)\bin\$(ARCH)" -lmex -lmx -l$(PORTAUDIO) 28 | INCLUDES= -I"$(MATLABROOT)\extern\include" -I. -I../../src/thirdparty 29 | 30 | CC=gcc 31 | 32 | all: $(SOURCE) 33 | $(CC) -std=c99 -s -O3 -Wall -shared -DMATLAB_MEX_FILE $(INCLUDES) $(MEXSRC) $(LIBS) -o $(MEXTGT) -static-libgcc 34 | 35 | clean: 36 | del $(MEXTGT) 37 | 38 | .PHONY: all clean 39 | 40 | -------------------------------------------------------------------------------- /ltfat/thirdparty/Playrec/Makefile_mingwoct: -------------------------------------------------------------------------------- 1 | # Use GNU Make to process this file. 2 | # mingw32-make -f Makefile_mingw32 3 | 4 | ifndef EXT 5 | EXT=mex 6 | endif 7 | 8 | ifndef PORTAUDIO 9 | PORTAUDIO=portaudio 10 | endif 11 | 12 | include ../../src/ostools.mk 13 | 14 | ADDITIONALFLAGS = -L. -l$(PORTAUDIO) -I. -I../../src/thirdparty 15 | 16 | all: 17 | mkoctfile -mex --strip -v -Wall $(ADDITIONALFLAGS) mex_dll_core.c pa_dll_playrec.c -o playrec.$(EXT) 18 | $(RM) *.o 19 | 20 | clean: 21 | $(RM) *.o *.$(EXT) 22 | 23 | .PHONY: all clean 24 | -------------------------------------------------------------------------------- /ltfat/thirdparty/Playrec/Makefile_unix: -------------------------------------------------------------------------------- 1 | # To run this makefile, you must provide your system specific EXT and MATLABROOT 2 | # variables on the command line e.g.: 3 | # 4 | # make -f Makefile_unix MATLABROOT="/usr/local/MATLAB/R2011a" EXT=mexa64 5 | 6 | ifndef MATLABROOT 7 | $(warning MATLABROOT variable is udefined. Using default MATLABROOT="C:\Program Files\MATLAB\R2011b" ) 8 | MATLABROOT=/usr/local/MATLAB/R2011a 9 | endif 10 | 11 | ifndef EXT 12 | $(warning EXT variable is udefined. Using default EXT=mexa64 ) 13 | EXT=mexa64 14 | endif 15 | 16 | ifndef PORTAUDIO 17 | PORTAUDIO=portaudio 18 | endif 19 | 20 | MEXTGT=playrec.$(EXT) 21 | MEXSRC=mex_dll_core.c pa_dll_playrec.c 22 | LIBS= -L. -L"$(MATLABROOT)/bin/glnxa64" -lmex -lmx -l$(PORTAUDIO) 23 | INCLUDES= -I"$(MATLABROOT)/extern/include" -I. -I../../src/thirdparty 24 | 25 | CC=gcc 26 | 27 | all: 28 | $(CC) -fPIC -std=c99 -s -O3 -Wall -shared $(INCLUDES) $(MEXSRC) $(LIBS) -o $(MEXTGT) 29 | 30 | clean: 31 | -rm $(MEXTGT) 32 | 33 | .PHONY: all clean 34 | 35 | -------------------------------------------------------------------------------- /ltfat/thirdparty/Playrec/Makefile_unixoct: -------------------------------------------------------------------------------- 1 | # Use GNU Make to process this file. 2 | 3 | OCTSCC = $(shell ls comp_*.cc) 4 | OCTSBASE = $(basename $(OCTSCC)) 5 | OCTS = $(addsuffix .oct,$(OCTSBASE)) 6 | 7 | MKOCTFILE ?= mkoctfile 8 | 9 | 10 | all: 11 | $(MKOCTFILE) -mex -Wall -I../../src/thirdparty -I. -lportaudio mex_dll_core.c pa_dll_playrec.c -o playrec.mex 12 | 13 | clean: 14 | rm *.o *.oct 15 | 16 | .PHONY: all clean 17 | -------------------------------------------------------------------------------- /ltfat/thirdparty/Playrec/license.txt: -------------------------------------------------------------------------------- 1 | Copyright © 2006-2008 Robert Humphrey 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: 4 | 5 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 6 | 7 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 8 | 9 | Although not required by the license it is requested that users of Playrec inform the author to help understand the distribution of the utility. 10 | -------------------------------------------------------------------------------- /ltfat/thirdparty/PolygonClip/Makefile_mac: -------------------------------------------------------------------------------- 1 | # This line gets the MEX extension for the platform. If the shell 2 | # command 'mexext' is not available on your Matlab installation, 3 | # please execute the 'mexext' command within Matlab, and put the 4 | # answer into the line below (remember to uncomment). 5 | EXT = $(shell mexext) 6 | #EXT = $(glnx86) 7 | 8 | ifndef MATLABROOT 9 | $(warning MATLABROOT variable is udefined. Using default MATLABROOT="Applications/MATLAB_R2013a.app/") 10 | MATLABROOT=Applications/MATLAB_R2013a.app/ 11 | endif 12 | 13 | ifndef EXT 14 | $(warning EXT variable is udefined. Using default EXT=mexa64) 15 | EXT=mexmaci64 16 | endif 17 | 18 | CC=gcc 19 | MEXTGT=PolygonClip.$(EXT) 20 | MEXSRC=PolygonClip.c ../GPC/gpc.c 21 | LIBS= -L"$(MATLABROOT)/bin/maci64" -lmex -lmx 22 | INCLUDES= -I"$(MATLABROOT)/extern/include" -I../GPC 23 | 24 | all: $(MEXSRC) 25 | $(CC) -std=c99 -Wall -m64 -shared -DMATLAB_MEX_FILE $(INCLUDES) $(MEXSRC) $(LIBS) -o $(MEXTGT) 26 | 27 | clean: 28 | rm PolygonClip.$(EXT) -------------------------------------------------------------------------------- /ltfat/thirdparty/PolygonClip/Makefile_mingw: -------------------------------------------------------------------------------- 1 | # To run this makefile, you must provide your system specific EXT and MATLABROOT 2 | # variables on the command line, i.e. as in 3 | # 4 | # make -f Makefile_mingw64 MATLABROOT="C:\Program Files\MATLAB\R2011b" EXT=mexw64 ARCH=win64 5 | 6 | ifndef MATLABROOT 7 | $(warning MATLABROOT variable is udefined. Using default MATLABROOT="C:\Program Files\MATLAB\R2011b") 8 | MATLABROOT=C:\Program Files\MATLAB\R2011b 9 | endif 10 | 11 | ifndef EXT 12 | $(warning EXT variable is udefined. Using default EXT=mexw64) 13 | EXT=mexw64 14 | endif 15 | 16 | ifndef ARCH 17 | $(warning ARCH variable is udefined. Using default ARCH=win64 ) 18 | ARCH=win64 19 | endif 20 | 21 | CC=gcc 22 | MEXTGT=PolygonClip.$(EXT) 23 | MEXSRC=PolygonClip.c ../GPC/gpc.c 24 | LIBS= -L"$(MATLABROOT)\bin\$(ARCH)" -lmex -lmx 25 | INCLUDES= -I"$(MATLABROOT)\extern\include" -I../GPC 26 | 27 | all: $(SOURCE) 28 | $(CC) -std=c99 -Wall -shared -DMATLAB_MEX_FILE $(INCLUDES) $(MEXSRC) $(LIBS) -o $(MEXTGT) -static-libgcc 29 | 30 | clean: 31 | del $(MEXTGT) 32 | 33 | .PHONY: all clean 34 | -------------------------------------------------------------------------------- /ltfat/thirdparty/PolygonClip/Makefile_unix: -------------------------------------------------------------------------------- 1 | # To run this makefile, you must provide your system specific EXT and MATLABROOT 2 | # variables on the command line e.g.: 3 | # 4 | # make -f Makefile_unix MATLABROOT="/usr/local/MATLAB/R2011a" EXT=mexa64 5 | 6 | ifndef MATLABROOT 7 | $(warning MATLABROOT variable is udefined. Using default MATLABROOT="C:\Program Files\MATLAB\R2011b" ) 8 | MATLABROOT=/usr/local/MATLAB/R2011a 9 | endif 10 | 11 | ifndef EXT 12 | $(warning EXT variable is udefined. Using default EXT=mexa64 ) 13 | EXT=mexa64 14 | endif 15 | 16 | 17 | MEXTGT=PolygonClip.$(EXT) 18 | MEXSRC=PolygonClip.c ../GPC/gpc.c 19 | LIBS= -L. -L"$(MATLABROOT)/bin/glnxa64" -lmex -lmx 20 | INCLUDES= -I"$(MATLABROOT)/extern/include" -I. -I../GPC 21 | 22 | CC=gcc 23 | 24 | all: 25 | $(CC) -fPIC -std=c99 -s -O3 -Wall -shared $(INCLUDES) $(MEXSRC) $(LIBS) -o $(MEXTGT) 26 | 27 | clean: 28 | -rm $(MEXTGT) 29 | 30 | .PHONY: all clean -------------------------------------------------------------------------------- /ltfat/thirdparty/PolygonClip/PolygonClip.h: -------------------------------------------------------------------------------- 1 | #ifndef __gpc_mexfile_h 2 | #define __gpc_mexfile_h 3 | 4 | #include <stdio.h> 5 | #include "mex.h" 6 | #include "gpc.h" 7 | 8 | 9 | /* =========================================================================== 10 | Public Function Prototypes 11 | ===========================================================================*/ 12 | 13 | void gpc_read_polygon_MATLAB (const mxArray *prhs, 14 | gpc_polygon *polygon); 15 | 16 | void gpc_write_polygon_MATLAB(mxArray *plhs, 17 | gpc_polygon *polygon); 18 | 19 | 20 | #endif 21 | -------------------------------------------------------------------------------- /ltfat/thirdparty/PolygonClip/ReadMe.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bootphon/features_extraction/e781ea0b7fa49ff67158b49114359963f985930d/ltfat/thirdparty/PolygonClip/ReadMe.txt -------------------------------------------------------------------------------- /ltfat/thirdparty/thirdpartyinit.m: -------------------------------------------------------------------------------- 1 | status=2; 2 | 3 | p=[bp,'thirdparty',filesep]; 4 | 5 | % PolygonClip is not distributed with the Octave-forge package 6 | % 7 | % Url: http://ltfat.sourceforge.net/doc/thirdparty/thirdpartyinit.php 8 | 9 | % Copyright (C) 2005-2013 Peter L. Søndergaard <soender@users.sourceforge.net>. 10 | % This file is part of LTFAT version 1.4.3 11 | % 12 | % This program is free software: you can redistribute it and/or modify 13 | % it under the terms of the GNU General Public License as published by 14 | % the Free Software Foundation, either version 3 of the License, or 15 | % (at your option) any later version. 16 | % 17 | % This program is distributed in the hope that it will be useful, 18 | % but WITHOUT ANY WARRANTY; without even the implied warranty of 19 | % MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 20 | % GNU General Public License for more details. 21 | % 22 | % You should have received a copy of the GNU General Public License 23 | % along with this program. If not, see <http://www.gnu.org/licenses/>. 24 | s=[p,'PolygonClip']; 25 | if exist(s) 26 | addpath(s); 27 | end; 28 | 29 | addpath([p,'Playrec']); 30 | 31 | 32 | 33 | -------------------------------------------------------------------------------- /ltfat/wavelets/waveletsinit.m: -------------------------------------------------------------------------------- 1 | status = 1; 2 | 3 | p=[bp,'wavelets',filesep]; 4 | 5 | addpath([p,'wfbtmanip']); 6 | % 7 | % Url: http://ltfat.sourceforge.net/doc/wavelets/waveletsinit.php 8 | 9 | % Copyright (C) 2005-2013 Peter L. Søndergaard <soender@users.sourceforge.net>. 10 | % This file is part of LTFAT version 1.4.3 11 | % 12 | % This program is free software: you can redistribute it and/or modify 13 | % it under the terms of the GNU General Public License as published by 14 | % the Free Software Foundation, either version 3 of the License, or 15 | % (at your option) any later version. 16 | % 17 | % This program is distributed in the hope that it will be useful, 18 | % but WITHOUT ANY WARRANTY; without even the implied warranty of 19 | % MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 20 | % GNU General Public License for more details. 21 | % 22 | % You should have received a copy of the GNU General Public License 23 | % along with this program. If not, see <http://www.gnu.org/licenses/>. 24 | addpath([p,'wfbtmanip']); 25 | -------------------------------------------------------------------------------- /ltfat/wavelets/wfbtmanip/noOfSubtreeOutputs.m: -------------------------------------------------------------------------------- 1 | function noOut = noOfSubtreeOutputs(nodeNo,wt) 2 | 3 | noChildOut = noOfChildOutputs(nodeNo,wt); 4 | chan = numel(wt.nodes{nodeNo}.g); 5 | child = length(find(wt.children{nodeNo}~=0)); 6 | noOut = chan -child + noChildOut; 7 | % 8 | % Url: http://ltfat.sourceforge.net/doc/wavelets/wfbtmanip/noOfSubtreeOutputs.php 9 | 10 | % Copyright (C) 2005-2013 Peter L. Søndergaard <soender@users.sourceforge.net>. 11 | % This file is part of LTFAT version 1.4.3 12 | % 13 | % This program is free software: you can redistribute it and/or modify 14 | % it under the terms of the GNU General Public License as published by 15 | % the Free Software Foundation, either version 3 of the License, or 16 | % (at your option) any later version. 17 | % 18 | % This program is distributed in the hope that it will be useful, 19 | % but WITHOUT ANY WARRANTY; without even the implied warranty of 20 | % MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 21 | % GNU General Public License for more details. 22 | % 23 | % You should have received a copy of the GNU General Public License 24 | % along with this program. If not, see <http://www.gnu.org/licenses/>. 25 | noOut = chan -child + noChildOut; 26 | -------------------------------------------------------------------------------- /ltfat/wavelets/wfbtmanip/nodePredecesors.m: -------------------------------------------------------------------------------- 1 | function pred = nodePredecesors(nodeNo,treeStruct) 2 | pred = []; 3 | tmpNodeNo = nodeNo; 4 | while treeStruct.parents(tmpNodeNo)~=0 5 | tmpNodeNo = treeStruct.parents(tmpNodeNo); 6 | pred(end+1) = tmpNodeNo; 7 | end 8 | % 9 | % Url: http://ltfat.sourceforge.net/doc/wavelets/wfbtmanip/nodePredecesors.php 10 | 11 | % Copyright (C) 2005-2013 Peter L. Søndergaard <soender@users.sourceforge.net>. 12 | % This file is part of LTFAT version 1.4.3 13 | % 14 | % This program is free software: you can redistribute it and/or modify 15 | % it under the terms of the GNU General Public License as published by 16 | % the Free Software Foundation, either version 3 of the License, or 17 | % (at your option) any later version. 18 | % 19 | % This program is distributed in the hope that it will be useful, 20 | % but WITHOUT ANY WARRANTY; without even the implied warranty of 21 | % MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 22 | % GNU General Public License for more details. 23 | % 24 | % You should have received a copy of the GNU General Public License 25 | % along with this program. If not, see <http://www.gnu.org/licenses/>. 26 | end 27 | -------------------------------------------------------------------------------- /lyon_config.json: -------------------------------------------------------------------------------- 1 | { 2 | "features": "lyon", 3 | "wlen": 0.025, 4 | "frate": 100, 5 | "fs": 16000 6 | } -------------------------------------------------------------------------------- /mel_config.json: -------------------------------------------------------------------------------- 1 | { 2 | "features": "mel", 3 | "alpha": 0.97, 4 | "frate": 100, 5 | "fs": 16000, 6 | "lowerf": 100, 7 | "upperf": 6855.4976, 8 | "nfft": 512, 9 | "nfilt": 13, 10 | "wlen": 0.025 11 | } 12 | -------------------------------------------------------------------------------- /mfcc_config.json: -------------------------------------------------------------------------------- 1 | { 2 | "features": "mfcc", 3 | "alpha": 0.97, 4 | "frate": 100, 5 | "fs": 16000, 6 | "lowerf": 100, 7 | "upperf": 6855.4976, 8 | "nfft": 512, 9 | "nfilt": 40, 10 | "wlen": 0.025, 11 | "ncep": 13, 12 | "do_deltas" : true, 13 | "do_deltasdeltas" : true 14 | } 15 | -------------------------------------------------------------------------------- /oct.m: -------------------------------------------------------------------------------- 1 | #! /usr/local/bin/octave -q -f 2 | features('test/wavs/', 'test/out', '', 'rasta_config.json') 3 | -------------------------------------------------------------------------------- /rasta_config.json: -------------------------------------------------------------------------------- 1 | { 2 | "features": "rasta", 3 | "wlen": 0.025, 4 | "frate": 100, 5 | "fs": 16000, 6 | "dorasta": 1, 7 | "modelorder": 12 8 | } 9 | -------------------------------------------------------------------------------- /rastamat/bark2hz.m: -------------------------------------------------------------------------------- 1 | function hz=bark2hz(z) 2 | % BARK2HZ Converts frequencies Bark to Hertz (Hz) 3 | % function hz=bark2hz(z) 4 | % Traunmueller-formula for z > 2 Bark 5 | % linear mapping for z <= 2 Bark 6 | % 7 | % Author: Kyrill, Oct. 1996 8 | % Kyrill, March 1997 (linear mapping added) 9 | % 10 | 11 | %hz_gt_2 = 1960 .* (z + 0.53) ./ (26.28 - z); 12 | %hz_le_2 = z .* 102.9; 13 | % 14 | %hz = (z>2) .* hz_gt_2 + (z<=2) .* hz_le_2; 15 | 16 | % Hynek's formula (2003-04-11 dpwe@ee.columbia.edu) 17 | % (taken from rasta/audspec.c) 18 | hz = 600 * sinh(z/6); 19 | -------------------------------------------------------------------------------- /rastamat/deltas.m: -------------------------------------------------------------------------------- 1 | function d = deltas(x, w) 2 | % D = deltas(X,W) Calculate the deltas (derivatives) of a sequence 3 | % Use a W-point window (W odd, default 9) to calculate deltas using a 4 | % simple linear slope. This mirrors the delta calculation performed 5 | % in feacalc etc. Each row of X is filtered separately. 6 | % 2003-06-30 dpwe@ee.columbia.edu 7 | 8 | if nargin < 2 9 | w = 9; 10 | end 11 | 12 | [nr,nc] = size(x); 13 | 14 | if nc == 0 15 | % empty vector passed in; return empty vector 16 | d = x; 17 | 18 | else 19 | % actually calculate deltas 20 | 21 | % Define window shape 22 | hlen = floor(w/2); 23 | w = 2*hlen + 1; 24 | win = hlen:-1:-hlen; 25 | 26 | % pad data by repeating first and last columns 27 | xx = [repmat(x(:,1),1,hlen),x,repmat(x(:,end),1,hlen)]; 28 | 29 | % Apply the delta filter 30 | d = filter(win, 1, xx, [], 2); % filter along dim 2 (rows) 31 | 32 | % Trim edges 33 | d = d(:,2*hlen + [1:nc]); 34 | 35 | end 36 | -------------------------------------------------------------------------------- /rastamat/dolpc.m: -------------------------------------------------------------------------------- 1 | function y = dolpc(x,modelorder) 2 | %y = dolpc(x,modelorder) 3 | % 4 | % compute autoregressive model from spectral magnitude samples 5 | % 6 | % rows(x) = critical band 7 | % col(x) = frame 8 | % 9 | % row(y) = lpc a_i coeffs, scaled by gain 10 | % col(y) = frame 11 | % 12 | % modelorder is order of model, defaults to 8 13 | % 2003-04-12 dpwe@ee.columbia.edu after shire@icsi.berkeley.edu 14 | 15 | [nbands,nframes] = size(x); 16 | 17 | if nargin < 2 18 | modelorder = 8; 19 | end 20 | 21 | % Calculate autocorrelation 22 | r = real(ifft([x;x([(nbands-1):-1:2],:)])); 23 | % First half only 24 | r = r(1:nbands,:); 25 | 26 | % Find LPC coeffs by durbin 27 | [y,e] = levinson_fix(r, modelorder); 28 | 29 | % Normalize each poly by gain 30 | y = y'./repmat(e',(modelorder+1),1); 31 | -------------------------------------------------------------------------------- /rastamat/hz2bark.m: -------------------------------------------------------------------------------- 1 | function z= hz2bark(f) 2 | % HZ2BARK Converts frequencies Hertz (Hz) to Bark 3 | % function z= hz2bark(f) 4 | % Uses 5 | % Traunmueller-formula for f > 200 Hz 6 | % linear mapping for f <= 200 Hz 7 | % 8 | % Author: Kyrill, Oct. 1996 9 | % Kyrill, March 1997 (linear mapping added) 10 | % 11 | 12 | %z_gt_200 = 26.81 .* f ./ (1960 + f) - 0.53; 13 | %z_le_200 = f ./ 102.9; 14 | % 15 | %z = (f>200) .* z_gt_200 + (f<=200) .* z_le_200; 16 | 17 | % Inverse of Hynek's formula (see bark2hz) 18 | z = 6 * asinh(f/600); 19 | 20 | % Formula used in rasta/rasta.h 21 | %z = 6 * log(f/600 + sqrt(1+ ((f/600).^2))); 22 | % They are the same! -------------------------------------------------------------------------------- /rastamat/hz2mel.m: -------------------------------------------------------------------------------- 1 | function z = hz2mel(f,htk) 2 | % z = hz2mel(f,htk) 3 | % Convert frequencies f (in Hz) to mel 'scale'. 4 | % Optional htk = 1 uses the mel axis defined in the HTKBook 5 | % otherwise use Slaney's formula 6 | % 2005-04-19 dpwe@ee.columbia.edu 7 | 8 | if nargin < 2 9 | htk = 0; 10 | end 11 | 12 | if htk == 1 13 | z = 2595 * log10(1+f/700); 14 | else 15 | % Mel fn to match Slaney's Auditory Toolbox mfcc.m 16 | 17 | f_0 = 0; % 133.33333; 18 | f_sp = 200/3; % 66.66667; 19 | brkfrq = 1000; 20 | brkpt = (brkfrq - f_0)/f_sp; % starting mel value for log region 21 | logstep = exp(log(6.4)/27); % the magic 1.0711703 which is the ratio needed to get from 1000 Hz to 6400 Hz in 27 steps, and is *almost* the ratio between 1000 Hz and the preceding linear filter center at 933.33333 Hz (actually 1000/933.33333 = 1.07142857142857 and exp(log(6.4)/27) = 1.07117028749447) 22 | 23 | linpts = (f < brkfrq); 24 | 25 | z = 0*f; 26 | 27 | % fill in parts separately 28 | z(linpts) = (f(linpts) - f_0)/f_sp; 29 | z(~linpts) = brkpt+(log(f(~linpts)/brkfrq))./log(logstep); 30 | 31 | end 32 | -------------------------------------------------------------------------------- /rastamat/ispecgram.m: -------------------------------------------------------------------------------- 1 | function x = ispecgram(d, ftsize, sr, win, nov) 2 | % X = ispecgram(D, F, SR, WIN, NOV) Inverse specgram 3 | % Overlap-add the inverse of the output of specgram 4 | % ftsize is implied by sizeof d, sr is ignored, nov defaults to ftsize/2 5 | % dpwe 2005may16. after istft 6 | 7 | [nspec,ncol] = size(d); 8 | 9 | if nargin < 2 10 | ftsize = 2*(nspec-1); 11 | end 12 | if nargin < 3 13 | % who cares? 14 | end 15 | if nargin < 4 16 | win = ftsize; % doesn't matter either - assume it added up OK 17 | end 18 | if nargin < 5 19 | nov = ftsize/2; 20 | end 21 | 22 | hop = win - nov; 23 | 24 | if nspec ~= (ftsize/2)+1 25 | error('number of rows should be fftsize/2+1') 26 | end 27 | 28 | xlen = ftsize + (ncol-1) * hop; 29 | x = zeros(xlen,1); 30 | 31 | halff = ftsize/2; % midpoint of win 32 | 33 | % No reconstruction win (for now...) 34 | 35 | for c = 1:ncol 36 | ft = d(:,c); 37 | ft = [ft(1:(ftsize/2+1)); conj(ft([(ftsize/2):-1:2]))]; 38 | 39 | if max(imag(ifft(ft))) > 1e-5 40 | disp('imag oflow'); 41 | end 42 | 43 | px = real(ifft(ft)); % no shift in specgram 44 | 45 | b = (c-1)*hop; 46 | x(b+[1:ftsize]) = x(b+[1:ftsize]) + px; 47 | end; 48 | 49 | x = x * win/ftsize; % scale amplitude 50 | 51 | -------------------------------------------------------------------------------- /rastamat/lifter.m: -------------------------------------------------------------------------------- 1 | function y = lifter(x, lift, invs) 2 | % y = lifter(x, lift, invs) 3 | % Apply lifter to matrix of cepstra (one per column) 4 | % lift = exponent of x i^n liftering 5 | % or, as a negative integer, the length of HTK-style sin-curve liftering. 6 | % If inverse == 1 (default 0), undo the liftering. 7 | % 2005-05-19 dpwe@ee.columbia.edu 8 | 9 | if nargin < 2; lift = 0.6; end % liftering exponent 10 | if nargin < 3; invs = 0; end % flag to undo liftering 11 | 12 | [ncep, nfrm] = size(x); 13 | 14 | if lift == 0 15 | y = x; 16 | else 17 | 18 | if lift > 0 19 | if lift > 10 20 | disp(['Unlikely lift exponent of ', num2str(lift),' (did you mean -ve?)']); 21 | end 22 | liftwts = [1, ([1:(ncep-1)].^lift)]; 23 | elseif lift < 0 24 | % Hack to support HTK liftering 25 | L = -lift; 26 | if (L ~= round(L)) 27 | disp(['HTK liftering value ', num2str(L),' must be integer']); 28 | end 29 | liftwts = [1, (1+L/2*sin([1:(ncep-1)]*pi/L))]; 30 | end 31 | 32 | if (invs) 33 | liftwts = 1./liftwts; 34 | end 35 | 36 | y = diag(liftwts)*x; 37 | 38 | end 39 | -------------------------------------------------------------------------------- /rastamat/lpc2cep.m: -------------------------------------------------------------------------------- 1 | function features = lpc2cep(a,nout) 2 | % features = lpc2cep(lpcas,nout) 3 | % Convert the LPC 'a' coefficients in each column of lpcas 4 | % into frames of cepstra. 5 | % nout is number of cepstra to produce, defaults to size(lpcas,1) 6 | % 2003-04-11 dpwe@ee.columbia.edu 7 | 8 | [nin, ncol] = size(a); 9 | 10 | order = nin - 1; 11 | 12 | if nargin < 2 13 | nout = order + 1; 14 | end 15 | 16 | c = zeros(nout, ncol); 17 | 18 | % Code copied from HSigP.c: LPC2Cepstrum 19 | 20 | % First cep is log(Error) from Durbin 21 | c(1,:) = -log(a(1,:)); 22 | 23 | % Renormalize lpc A coeffs 24 | a = a ./ repmat(a(1,:), nin, 1); 25 | 26 | for n = 2:nout 27 | sum = 0; 28 | for m = 2:n 29 | sum = sum + (n - m) * a(m,:) .* c(n - m + 1, :); 30 | end 31 | c(n,:) = -(a(n,:) + sum / (n-1)); 32 | end 33 | 34 | features = c; 35 | 36 | -------------------------------------------------------------------------------- /rastamat/lpc2spec.m: -------------------------------------------------------------------------------- 1 | function [features,F,M] = lpc2spec(lpcas, nout) 2 | % [features,F,M] = lpc2spec(lpcas,nout) 3 | % Convert LPC coeffs back into spectra 4 | % nout is number of freq channels, default 17 (i.e. for 8 kHz) 5 | % 2003-04-11 dpwe@ee.columbia.edu part of rastamat 6 | 7 | if nargin < 2 8 | nout = 17; 9 | end 10 | 11 | [rows, cols] = size(lpcas); 12 | order = rows - 1; 13 | 14 | gg = lpcas(1,:); 15 | aa = lpcas./repmat(gg,rows,1); 16 | 17 | % Calculate the actual z-plane polyvals: nout points around unit circle 18 | zz = exp((-j*[0:(nout-1)]'*pi/(nout-1))*[0:order]); 19 | 20 | % Actual polyvals, in power (mag^2) 21 | features = ((1./abs(zz*aa)).^2)./repmat(gg,nout,1); 22 | 23 | F = zeros(cols, floor(rows/2)); 24 | M = F; 25 | 26 | for c = 1:cols; 27 | aaa = aa(:,c); 28 | rr = roots(aaa'); 29 | ff = angle(rr'); 30 | % size(ff) 31 | % size(aaa) 32 | zz = exp(j*ff'*[0:(length(aaa)-1)]); 33 | mags = sqrt(((1./abs(zz*aaa)).^2)/gg(c))'; 34 | 35 | [dummy, ix] = sort(ff); 36 | keep = ff(ix) > 0; 37 | ix = ix(keep); 38 | F(c,1:length(ix)) = ff(ix); 39 | M(c,1:length(ix)) = mags(ix); 40 | end 41 | -------------------------------------------------------------------------------- /rastamat/mel2hz.m: -------------------------------------------------------------------------------- 1 | function f = mel2hz(z, htk) 2 | % f = mel2hz(z, htk) 3 | % Convert 'mel scale' frequencies into Hz 4 | % Optional htk = 1 means use the HTK formula 5 | % else use the formula from Slaney's mfcc.m 6 | % 2005-04-19 dpwe@ee.columbia.edu 7 | 8 | if nargin < 2 9 | htk = 0; 10 | end 11 | 12 | if htk == 1 13 | f = 700*(10.^(z/2595)-1); 14 | else 15 | 16 | f_0 = 0; % 133.33333; 17 | f_sp = 200/3; % 66.66667; 18 | brkfrq = 1000; 19 | brkpt = (brkfrq - f_0)/f_sp; % starting mel value for log region 20 | logstep = exp(log(6.4)/27); % the magic 1.0711703 which is the ratio needed to get from 1000 Hz to 6400 Hz in 27 steps, and is *almost* the ratio between 1000 Hz and the preceding linear filter center at 933.33333 Hz (actually 1000/933.33333 = 1.07142857142857 and exp(log(6.4)/27) = 1.07117028749447) 21 | 22 | linpts = (z < brkpt); 23 | 24 | f = 0*z; 25 | 26 | % fill in parts separately 27 | f(linpts) = f_0 + f_sp*z(linpts); 28 | f(~linpts) = brkfrq*exp(log(logstep)*(z(~linpts)-brkpt)); 29 | 30 | end 31 | -------------------------------------------------------------------------------- /rastamat/rastafilt.m: -------------------------------------------------------------------------------- 1 | function y = rastafilt(x) 2 | % y = rastafilt(x) 3 | % 4 | % rows of x = critical bands, cols of x = frame 5 | % same for y but after filtering 6 | % 7 | % default filter is single pole at 0.94 8 | 9 | % rasta filter 10 | numer = [-2:2]; 11 | numer = -numer ./ sum(numer.*numer); 12 | denom = [1 -0.94]; 13 | 14 | % Initialize the state. This avoids a big spike at the beginning 15 | % resulting from the dc offset level in each band. 16 | % (this is effectively what rasta/rasta_filt.c does). 17 | % Because Matlab uses a DF2Trans implementation, we have to 18 | % specify the FIR part to get the state right (but not the IIR part) 19 | %[y,z] = filter(numer, 1, x(:,1:4)'); 20 | % 2010-08-12 filter() chooses the wrong dimension for very short 21 | % signals (thanks to Benjamin K otric1@gmail.com) 22 | [y,z] = filter(numer, 1, x(:,1:4)',[],1); 23 | % .. but don't keep any of these values, just output zero at the beginning 24 | y = 0*y'; 25 | 26 | % size(z) 27 | % size(x) 28 | 29 | % Apply the full filter to the rest of the signal, append it 30 | y = [y,filter(numer, denom, x(:,5:end)',z,1)']; 31 | %y = [y,filter(numer, denom, x(:,5:end)',z)']; 32 | -------------------------------------------------------------------------------- /rastamat/sm1_cln.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bootphon/features_extraction/e781ea0b7fa49ff67158b49114359963f985930d/rastamat/sm1_cln.wav -------------------------------------------------------------------------------- /requirements.txt: -------------------------------------------------------------------------------- 1 | # This file may be used to create an environment using: 2 | # $ conda create --name <env> --file <this file> 3 | # platform: linux-64 4 | cython=0.24.1=py27_0 5 | h5py=2.6.0=np111py27_2 6 | hdf5=1.8.17=1 7 | libgfortran=3.0.0=1 8 | mkl=11.3.3=0 9 | numpy=1.11.2=py27_0 10 | openssl=1.0.2j=0 11 | pip=8.1.2=py27_0 12 | python=2.7.12=1 13 | readline=6.2=2 14 | scipy=0.18.1=np111py27_0 15 | setuptools=27.2.0=py27_0 16 | six=1.10.0=py27_0 17 | sqlite=3.13.0=0 18 | tk=8.5.18=0 19 | wheel=0.29.0=py27_0 20 | zlib=1.2.8=3 21 | -------------------------------------------------------------------------------- /sample2frameno.m: -------------------------------------------------------------------------------- 1 | function n = sample2frameno(x, fs, wintime, steptime) 2 | % find the frame number matching the sample number, given 3 | % the sampling frequency fs, window length wintime and window 4 | % shift steptime. 5 | n = floor((x/fs)/steptime) + 1; 6 | -------------------------------------------------------------------------------- /setup.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | 3 | from setuptools import setup 4 | 5 | setup(name='features_extraction', 6 | version='1.0', 7 | description='Speech features extraction in python', 8 | author='Roland Thiolliere', 9 | author_email='rolthiolliere@gmail.com', 10 | packages=[], 11 | license='licence/LICENSE.txt', 12 | long_description=open('README.md').read(), 13 | dependency_links = ['http://github.com/bootphon/spectral/tarball/master/#egg=mwv-spectral'], 14 | install_requires=[ 15 | "spectral>=0.2", 16 | "h5features", 17 | ], 18 | ) 19 | -------------------------------------------------------------------------------- /sig2drnl.m: -------------------------------------------------------------------------------- 1 | function [] = sig2drnl(sig, fs, outfile, conf) 2 | 3 | wlen = getfield(conf, 'wlen'); 4 | frate = getfield(conf, 'frate'); 5 | dec_factor = round((size(sig,1)/fs) / wlen); 6 | 7 | spec = drnl(sig, fs, 'jepsen2008'); 8 | spec = ihcenvelope(spec, fs, 'ihc_dau'); 9 | 10 | spec = spec'; 11 | 12 | % decimate 13 | spec = spec(:, 1:dec_factor:size(spec,2)); 14 | features = spec'; 15 | 16 | duration = numel(sig)/fs; 17 | center_times = linspace(0, duration, size(features, 1)); 18 | save('-7', [outfile '.mat'], 'features', 'center_times'); 19 | -------------------------------------------------------------------------------- /sig2lyon.m: -------------------------------------------------------------------------------- 1 | function [] = sig2lyon(sig, fs, outfile, conf) 2 | 3 | wlen = getfield(conf, 'wlen'); 4 | frate = getfield(conf, 'frate'); 5 | decimation_factor = round((size(sig,1)/fs) / wlen); 6 | spec = LyonPassiveEar(sig, fs, decimation_factor); 7 | features = spec'; 8 | duration = numel(sig)/fs; 9 | center_times = linspace(0, duration, size(features, 1)); 10 | save('-7', [outfile '.mat'], 'features', 'center_times'); 11 | -------------------------------------------------------------------------------- /sig2rasta.m: -------------------------------------------------------------------------------- 1 | function [] = sig2rasta(sig, fs, outfile, conf) 2 | 3 | wlen = getfield(conf, 'wlen'); 4 | frate = getfield(conf, 'frate'); 5 | steptime = 1 / frate; 6 | [ceps, spec] = rastaplp(sig, fs, getfield(conf, 'dorasta'), getfield(conf, 'modelorder'));%, wlen, steptime); 7 | features = spec'; 8 | duration = numel(sig)/fs; 9 | center_times = linspace(0, duration, size(features, 1)); 10 | save('-7', [outfile '.mat'], 'features', 'center_times'); 11 | -------------------------------------------------------------------------------- /test/wavs/s_f101_ba.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bootphon/features_extraction/e781ea0b7fa49ff67158b49114359963f985930d/test/wavs/s_f101_ba.wav -------------------------------------------------------------------------------- /test/wavs/s_f101_bc.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bootphon/features_extraction/e781ea0b7fa49ff67158b49114359963f985930d/test/wavs/s_f101_bc.wav -------------------------------------------------------------------------------- /test/wavs/s_f101_be.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bootphon/features_extraction/e781ea0b7fa49ff67158b49114359963f985930d/test/wavs/s_f101_be.wav -------------------------------------------------------------------------------- /test/wavs/s_f101_bi.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bootphon/features_extraction/e781ea0b7fa49ff67158b49114359963f985930d/test/wavs/s_f101_bi.wav -------------------------------------------------------------------------------- /test/wavs/s_f101_bo.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bootphon/features_extraction/e781ea0b7fa49ff67158b49114359963f985930d/test/wavs/s_f101_bo.wav -------------------------------------------------------------------------------- /test/wavs/s_f101_bu.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bootphon/features_extraction/e781ea0b7fa49ff67158b49114359963f985930d/test/wavs/s_f101_bu.wav -------------------------------------------------------------------------------- /test/wavs/s_f101_bxe.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bootphon/features_extraction/e781ea0b7fa49ff67158b49114359963f985930d/test/wavs/s_f101_bxe.wav -------------------------------------------------------------------------------- /test/wavs/s_f101_bxi.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bootphon/features_extraction/e781ea0b7fa49ff67158b49114359963f985930d/test/wavs/s_f101_bxi.wav --------------------------------------------------------------------------------