00001 // ComputeJFAStats.cpp 00002 // 00003 // This file is a part of Mistral Package and LIA Software 00004 // LIA_SpkDet, based on Mistral_Ral toolkit 00005 // LIA_SpkDet is a free, open tool for speaker recognition 00006 // LIA_SpkDet is a development project initiated and funded by the LIA lab. 00007 // 00008 // See mistral.univ-avignon.fr 00009 // 00010 // ALIZE is needed for LIA_SpkDet 00011 // for more information about ALIZE, see http://alize.univ-avignon.fr 00012 // 00013 // Copyright (C) 2004 - 2005 - 2006 - 2007 -2008 00014 // Laboratoire d'informatique d'Avignon [www.lia.univ-avignon.fr] 00015 // Jean-Francois Bonastre [jean-francois.bonastre@univ-avignon.fr] 00016 // 00017 // Mistral is free software; you can redistribute it and/or 00018 // modify it under the terms of the GNU General Public 00019 // License as published by the Free Software Foundation; either 00020 // version 2.1 of the License, or (at your option) any later version. 00021 // This software is distributed in the hope that it will be useful, 00022 // but WITHOUT ANY WARRANTY; without even the implied warranty of 00023 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00024 // General Public License for more details. 00025 // You should have received a copy of the GNU General Public 00026 // License along with this library; if not, write to the Free Software 00027 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 00028 // 00029 // The LIA team as well as the ALIZE project want to highlight the limits of voice authentication 00030 // in a forensic context. 00031 // The following paper proposes a good overview of this point: 00032 // [Bonastre J.F., Bimbot F., Boe L.J., Campbell J.P., Douglas D.A., Magrin-chagnolleau I., 00033 // Person Authentification by Voice: A Need of Caution, 00034 // Eurospeech 2003, Genova] 00035 // The conclusion of the paper of the paper is proposed bellow: 00036 // [Currently, it is not possible to completely determine whether the 00037 // similarity between two recordings is due to the speaker or to other 00038 // factors, especially when: (a) the speaker does not cooperate, (b) there 00039 // is no control over recording equipment, (c) recording conditions are not 00040 // known, (d) one does not know whether the voice was disguised and, to a 00041 // lesser extent, (e) the linguistic content of the message is not 00042 // controlled. Caution and judgment must be exercised when applying speaker 00043 // recognition techniques, whether human or automatic, to account for these 00044 // uncontrolled factors. Under more constrained or calibrated situations, 00045 // or as an aid for investigative purposes, judicious application of these 00046 // techniques may be suitable, provided they are not considered as infallible. 00047 // At the present time, there is no scientific process that enables one to 00048 // uniquely characterize a person=92s voice or to identify with absolute 00049 // certainty an individual from his or her voice.] 00050 // 00051 // Contact Jean-Francois Bonastre (jean-francois.bonastre@lia.univ-avignon.fr) for 00052 // more information about the licence or the use of LIA_SpkDet 00053 // First version 15/07/2004 00054 // New version 23/02/2005 00055 // 00056 // Last review 4 nov 2008 00057 // 00058 00059 #if !defined(ALIZE_ComputeJFAStats_cpp) 00060 #define ALIZE_ComputeJFAStats_cpp 00061 00062 #include <iostream> 00063 #include <fstream> 00064 #include <cstdio> 00065 #include <cassert> 00066 #include <cmath> 00067 #include <cstdlib> 00068 00069 #include "liatools.h" 00070 #include "ComputeJFAStats.h" 00071 #include "AccumulateJFAStat.h" 00072 00073 using namespace alize; 00074 using namespace std; 00075 00076 int ComputeJFAStats(Config &config){ 00077 00078 String ndxFilename = config.getParam("ndxFilename"); 00079 00080 //Creation de l'accumulateur 00081 JFAAcc jfaAcc(ndxFilename, config); 00082 00083 //Calcul des statistiques 00084 jfaAcc.computeAndAccumulateJFAStat(config); 00085 00086 //sauve les accumulateurs 00087 jfaAcc.saveAccs(config); 00088 00089 00090 return 0; 00091 } 00092 #endif 00093 00094 00095
1.7.2