<!--#set var="isip_enrgydow_title" value="ISIP Software Documentation" -->
<?php include("/data/isip/www/templates/documentation/header/header.html"); ?>

<!--#set var="isip_page_title" value="SpeakerVerifier" -->
<?php include("/data/isip/www/templates/documentation/body/index_class.html"); ?>
<?php include("/data/isip/www/templates/documentation/body/bar.html"); ?>

<a name="name">
<b>
name:
<a href="/perl/ifc_document.pl?file=$isip/class/asr/SpeakerVerifier/SpeakerVerifier.h">SpeakerVerifier</a>
</b>

<br><br>

<a name="synopsis">
<b>synopsis:</b>
<br><br>

<blockquote>
<pre>
g++ [flags ...] file ... -l /isip/tools/lib/$ISIP_BINARY/lib_asr.a

#include &lt;SpeakerVerifier.h&gt;

SpeakerVerifier();
boolean setParam(const Filename& arg);
boolean setVerify(boolean verify);
boolean run(Sdb& sdb);
</pre>
</blockquote>

<a name="quick_start">
<b>quick start:</b>
<br><br>

<blockquote>
<pre>
SpeakerVerifier sv;
sv.setParam(L"diagnose_params.sof");
Sdb raw_list_sdb;
boolean is_list = true;
raw_list_sdb.append(L"diagnose_mfcc_list.sof", is_list);
sv.run(sdb);
</pre>
</blockquote>

<a name="description"> 
<b>description:</b>
<br><br>

The SpeakerVerifier is used to implement HMM,SVM,RVM based speaker verification system.

<br><br>

<a name="dependencies">
<b>dependencies:</b>
<br><br>

<ul>
  <li> <a href="../../pr/VerifyHMM/index.html">VerifyHMM</a>
</ul>

<a name="constants">
<b>public constants:</b>
<br><br>

<ul>
  <li> define the class name:
       
       <pre><a href="/perl/ifc_document.pl?file=$isip/class/asr/SpeakerVerifier/sv_00.cc&constant=CLASS_NAME">static const String CLASS_NAME = L"SpeakerVerifier";</a></pre>
       
  <li> define the algorithm choices:

       <pre> enum ALGORITHM { HMM = 0, SVM, RVM, DEF_ALGORITHM = HMM };</pre>
</ul>

<a name="error">
<b>error codes:</b>
<br><br>

<ul>
  <li> error code indicating SpeakerVerifier class general error:

       <pre><a href="/perl/ifc_document.pl?err=00110000">static const long ERR = 110000;</a></pre>
</ul>

<a name="protected">
<b>protected data:</b>
<br><br>

<ul>
  <li> algorithm name:
       
       <pre>ALGORITHM algorithm_d;</pre>

  <li> verification mode flag:
       
       <pre>boolean verify_d;</pre>
       
  <li> parameter file:

       <pre>Filename param_file_name_d;</pre>

  <li> VerifyHMM object:
       
       <pre>VerifyHMM hmm_d;</pre>

  <li> SupportVectorMachine object:
      
       <pre>SupportVectorMachine svm_d;</pre>

  <li> RelevanceVectorMachine object:

       <pre>RelevanceVectorMachine rvm_d;</pre>
      
  <li> debug level:
       
       <pre>static Integral::DEBUG debug_level_d;</pre>

  <li> verbosity:
       
       <pre>static Integral::DEBUG verbosity_d;</pre>
       
  <li> static memory manager:
       
       <pre><a href="/perl/ifc_document.pl?file=$isip/class/asr/SpeakerVerifier/sv_00.cc&static=mgr_d">static MemoryManager mgr_d;</a></pre>
</ul>

<a name="public">
<b>required public methods:</b>
<br><br>

<ul>
  <li> static methods:
       
       <pre><a href="/perl/ifc_document.pl?file=$isip/class/asr/SpeakerVerifier/SpeakerVerifier.h&method=name">static const String& name();</a></pre>
       <pre><a href="/perl/ifc_document.pl?file=$isip/class/asr/SpeakerVerifier/sv_02.cc&method=diagnose">static boolean diagnose(Integral::DEBUG debug_level);</a></pre>

  <li> debug methods:

       <pre><pre><a href="/perl/ifc_document.pl?file=$isip/class/asr/SpeakerVerifier/SpeakerVerifier.h&method=setDebug">boolean setDebug(Integral::DEBUG debug_level);</a></pre>

  <li> destructor/constructor(s):
       
       <pre><a href="/perl/ifc_document.pl?file=$isip/class/asr/SpeakerVerifier/sv_00.cc&method=destructor">~SpeakerVerifier();</a></pre>
       <pre><a href="/perl/ifc_document.pl?file=$isip/class/asr/SpeakerVerifier/sv_00.cc&method=default+constructor">SpeakerVerifier();</a></pre>

</ul>

<a name="specific">
<b>class-specific public methods:</b>
<br><br>

<ul>
  <li> set methods:
       
       <pre><a href="/perl/ifc_document.pl?file=$isip/class/asr/SpeakerVerifier/SpeakerVerifier.h&method=setAlgorithm">boolean setAlgorithm(ALGORITHM algorithm);</a></pre>

       <pre><a href="/perl/ifc_document.pl?file=$isip/class/asr/SpeakerVerifier/sv_06.cc&method=setParam">boolean setParam(String param_file_name);</a></pre>

  <li> get methods:
       
       <pre><a href="/perl/ifc_document.pl?file=$isip/class/asr/SpeakerVerifier/SpeakerVerifier.h&method=getAlgorithm">ALGORITHM getAlgorithm() const;</a></pre>

  <li> computational methods:

       <pre><a href="/perl/ifc_document.pl?file=$isip/class/asr/SpeakerVerifier/sv_05.cc&method=run">boolean run(Sdb& sdb);</a></pre>

       <pre><a href="/perl/ifc_document.pl?file=$isip/class/asr/SpeakerVerifier/sv_05.cc&method=run">boolean run(Sdb& pos_sdb, Sdb& neg_sdb);</a></pre>
</ul>

<a name="private">
<b>private methods:</b>
<br><br>

<ul>       
  <li> none
</ul>
       
<a name="examples">
<b>examples:</b>
<br><br>

<ul>
  <li> This example shows how to set up and run the speaker verifier

<pre>
// declare a speaker verifier object
//
SpeakerVerifier sv;

// set up the speaker verifier parameters
//
sv.setParam(L"<a href="/perl/ifc_document.pl?file=$isip/class/pr/VerifyHMM/diagnose_params.sof">params.sof</a>");

// setup the input speech file list
//      
Sdb raw_list_sdb;
boolean is_list = true;
raw_list_sdb.append(L"<a href="/perl/ifc_document.pl?file=$isip/class/pr/VerifyHMM/diagnose_raw_list.sof">test_list.sof</a>", is_list);

// run the speaker verifier on the input speech file list
//
sv.run(raw_list_sdb);
</pre>
</ul>

<a name="notes">
<b>notes:</b>
<br><br>

<ul>
  <li> none
</ul>

<!--#include virtual="/hse/ies/templates/documentation/footer/footer.html" -->
