<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>On Voice Autentication Algorithm Development</article-title>
      </title-group>
      <contrib-group>
        <aff id="aff0">
          <label>0</label>
          <institution>ITMO University</institution>
          ,
          <addr-line>Saint Petersburg, 197101, Russian Federation https://en.itmo.ru/</addr-line>
        </aff>
      </contrib-group>
      <abstract>
        <p>This article is devoted to the development of voice authentication algorithm for access control in automated control systems. The existing methods of allocation of individual voice characteristics and construction of voice models are considered. The algorithm of voice authentication for voice control of the Internet of Things system in Russian on the basis of a neural network is offered. The peculiarity of the algorithm is the use of mel-frequency cepstral coefficients and the text independence of the voice message. Experiments aimed at identifying the optimal set of analysed parameters and evaluating the efficiency of the classifier and the authentication system as a whole are described.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>In accordance with this, it is necessary to develop an access control system that
includes authentication by voice characteristics without the use of code words
or phrases.
2</p>
      <p>Development of voice authentication algorithm
The system of automatic user authentication by voice is being developed within
the voice control system of Internet of things by PICT faculty of the ITMO
University. The purpose of this work is to create the voice control system that
can, on the basis of voice commands and data obtained from ontological
descriptions of devices and indications of smart sensors, logically derive and generate
scenarios for the smart (automated) system, for example, the smart home or the
smart classroom. Voice control is based on local speech recognition.</p>
      <p>This approach unlike cloud-based speech recognition has a number of
advantages:
1. No issues related to availability, bandwidth and other factors that affect the
speed of recognition inherent in cloud solutions.
2. Unlike cloud systems, there is an opportunity to configure the speech
recognition system to solve a specific task. The quality of recognition depends
on the language model used. In different application areas, different words
have different probabilities. Cloud solutions use standard systems that use
an average model of the language, or a model designed to solve the problems
posed to the creators of the platform, which do not always coincide with the
user tasks of the system.
3. Resource-efficient implementation of voice activation. To implement the
activation function using a cloud system it is necessary to broadcast everything
that the microphone records to the cloud in order to detect the passphrase.
This leads to additional loading of the transmission channel and the cost of
Internet traffic.
4. No additional financial costs. There are many open source (free) libraries
and tools for local speech recognition, while cloud solutions are commercial
and provide paid access to their services.</p>
      <p>The following steps are implemented to solve the research task:</p>
    </sec>
    <sec id="sec-2">
      <title>1. Data collection.</title>
      <p>2. Preprocessing of the voice recordings.
3. Extraction of vectors of individual vocal signs.
4. Building the voice model based on voice characteristics.
5. Decision-making and verification.</p>
      <p>The data is collected by the software for working with devices that record
audio signals (microphones).</p>
      <p>
        The VAD (Voice Activity Detection) algorithm based on the energy [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ] is used
to pre-process recorded audio data, namely to remove pauses and non-vocalized
fragments. This algorithm splits the speech signal into frames of 40 MS, then
removes those frames which average energy is less than the set threshold: the
average energy of the entire record, multiplied by a factor k, that is selected
empirically.
      </p>
      <p>IF Ei &lt; k</p>
    </sec>
    <sec id="sec-3">
      <title>ELSE</title>
      <p>E; where k &lt; 1;</p>
    </sec>
    <sec id="sec-4">
      <title>Silence</title>
    </sec>
    <sec id="sec-5">
      <title>Voice activity The k coefficient in this work was 0.25. Figure 1 shows the signal before and after removing noise and pauses.</title>
      <p>Features are extracted from the pre-processed voice records. Feature
extraction is implemented using the bob.ap library.</p>
      <p>
        As a result 60-element vectors of mel-frequency kepstral coefficients (MFCC) [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ]
are formed. The process of obtaining vectors is as follows:
1. Splitting the signal into overlapping frames of length 20 ms with an
intersection of 10 ms.
2. Obtaining the signal spectrum for each frame by applying Fourier
transformation.
3. Decomposition of the spectrum on the mel-scale using triangular filters.
4. Squaring of the obtained values and taking the logarithm.
5. Application of the discrete cosine transformation.
      </p>
      <p>
        In feature vector-based recognition, the Gaussian mixture model (GMM) [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ]
or machine learning, such as the SVM support vector method, are most
commonly used. In this work, the multilayer neural network [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ][
        <xref ref-type="bibr" rid="ref5">5</xref>
        ][
        <xref ref-type="bibr" rid="ref6">6</xref>
        ] with two hidden
layers was used to recognize the speaker by voice. The number of neurons in the
input layer i1; i2; : : : ; in, is defined by the dimension of the feature vectors on
which learning occurs. In this paper, vectors of dimension n=60 are used. The
number of neurons in the output layer of the network o1; o2; : : : ; ok corresponds
to the dimension k of the set of speakers G registered in the system. The
architecture of the used neural network is shown in figure 2. Tensorflow [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ] and
Keras [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] libraries were used to work with neural networks.
      </p>
      <p>
        Voxforge dataset [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ] was used to train the neural network. It contains
recordings of various lengths from 500 speakers. During the training of the network
and the analysis of its accuracy in solving the problem of speaker classification,
the outputs of the last layer of the network h (x(m)) is a K -dimensional
vector, where K is the number of speakers, each element of which takes values in
the range from 0 to 1. The vector shows with what probability the speaker can
be attributed to each of the K classes. The prediction of the speaker class can
be carried out using the sum of the logarithms of the probability of M frames.
In this case the ID of the predicted speaker k* is the index of the maximum
probability value:
      </p>
      <p>Further, in the verification and decision-making step, the user is
authenticated by comparing the received probability with the threshold value. The
threshold value was determined by conducting experiments with speakers who
did not take part of the speaker set G formation, known to the classifier
(negative experiments), and speaker form the set G (positive experiments). From
the obtained values of identification probability for negative and positive
experiments, two Gaussian distributions - correct and erroneous identification
were constructed for each user. The intersection point of these graphs of these
distributions is the threshold value for a particular user of the system (Fig.3).</p>
      <p>During the development of the voice authentication system, a number of
experiments were conducted to identify the value of the VAD threshold coefficient.
The choice of threshold factor is very important when working with energy-based
VAD: too high value can cause cutting off frames that contain the speaker’s voice
and, in turn, too low value can cause many non-vocalized or noisy fragments
would not be excluded from the set of frames. Figure 4 shows the dependence
of the classifier accuracy on the VAD threshold coefficient. Using VAD with the
right threshold value can improve system performance by about 10% compared
to raw data.</p>
      <p>When testing the developed algorithm of voice authentication results with the
following values (shown in figure 5): equal error rate EER = 7%, the coefficient
of accurate verification 87.1%.
3</p>
      <p>Conclusion
This paper describes the analysis of methods of biometric authentication of the
speaker by voice. The existing algorithms and methods of biometric
authentication by voice, including text-dependent and text-independent algorithms are
investigated. The analysis of the tools used in this field is also carried out,
and the neural network with two hidden layers and the distribution of
neurons 60:40:40:20 is selected. The result is a voice authentication algorithm for
access control in automated systems. In addition, specialized software for voice
biometric authentication system based on neural networks has been developed.
The number of experiments on the selection of the VAD threshold coefficient
was carried out. Such metrics as accuracy (87%) and EER (7.1%) were used
to evaluate the system. Possible directions of development of this research are
formulated.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1. Keras.
          <article-title>the python deep learning library</article-title>
          , https://keras.io/
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Tensorflow</surname>
          </string-name>
          .
          <article-title>an end-to-end open source machine learning platform</article-title>
          , https://www. tensorflow.org/
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Voxforge</surname>
          </string-name>
          <article-title>- free speech corpus and acoustic model repository</article-title>
          , http://www.voxforge. org/ru/Downloads
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Buchneva</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kudryashov</surname>
          </string-name>
          , M.Y.:
          <article-title>Neural network in the task of speaker identification by voice</article-title>
          . herald of tver state university. series.
          <source>Applied Mathematics (2)</source>
          ,
          <fpage>119</fpage>
          -
          <lpage>126</lpage>
          (
          <year>2015</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Ge</surname>
            ,
            <given-names>Z.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Iyer</surname>
            ,
            <given-names>A.N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Cheluvaraja</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sundaram</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ganapathiraju</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>Neural network based speaker classification and verification systems with enhanced features</article-title>
          .
          <source>In: 2017 Intelligent Systems Conference (IntelliSys)</source>
          . pp.
          <fpage>1089</fpage>
          -
          <lpage>1094</lpage>
          . IEEE (
          <year>2017</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>McLaren</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lei</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ferrer</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          :
          <article-title>Advances in deep neural network approaches to speaker recognition</article-title>
          .
          <source>In: 2015 IEEE international conference on acoustics, speech and signal processing (ICASSP)</source>
          . pp.
          <fpage>4814</fpage>
          -
          <lpage>4818</lpage>
          . IEEE (
          <year>2015</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Rakhmanenko</surname>
            ,
            <given-names>I.A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mescheriakov</surname>
            ,
            <given-names>R.V.</given-names>
          </string-name>
          :
          <article-title>Identification features analysis in speech data using gmm-ubm speaker verification system</article-title>
          .
          <source>Trudy SPIIRAN 52</source>
          ,
          <fpage>32</fpage>
          -
          <lpage>50</lpage>
          (
          <year>2017</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Verteletskaya</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sakhnov</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          :
          <article-title>Voice activity detection for speech enhancement applications</article-title>
          .
          <source>Acta Polytechnica</source>
          <volume>50</volume>
          (
          <issue>4</issue>
          ) (
          <year>2010</year>
          )
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>