Вызначэнне паталогій голаса


Сэрвіс «Вызначэнне паталогій голаса» прызначаны для праверкі голасу чалавека на наяўнасць паталогіі (захворвання). На ўваход сэрвісу падаецца аўдыё запіс, які патрабуе праверкі. Па націсканні кнопкі “Запусціць” сэрвіс загружае аўдыё на сервер (без захавання), апрацоўвае гэты запіс і вынік адлюстроўвае на сайце. Вынік уяўляе сабой адзін параметр: індэкс выяўленнасці дысфаніі (Dysphonic probability) – адсоткі верагоднасці наяўнасці дысфаніі.

 

Асноўныя тэрміны і паняцці

Індэкс выяўленнасці дысфаніі (DSI – Dysphonia Severity Index) – аб’ектыўны паказальнік ацэнкі якасці голасу пры парэзах і паралічах гартані [1].

 

Практычная каштоўнасць

З дапамогай дадзенага сэрвіса можна атрымліваць папярэднюю ацэнку стану голасу.

 

Алгарытм разлічвання DSI

Алгарытм разліку DSI рэалізаваны па наступнай формуле:

DSI = 0.13*ЧМФ+0,0053*F0-0.26*I-1.18*Jitter+12.4

дзе, I – самая нізкая сіла голасу, F0 – самая высокая частата голасу, ЧМФ – час максімальнай фанацыі, Jitter – нестабільнаць голасу па амплітудзе.

Тое, што на ўваход сэрвіса падаецца файл с запісам гуку, а не мовы, гаворыць аб тым, што для карыстання сэрвісам не трэба мець ніякай спецыяльнай падрыхтоўкі. 

Уваходныя дадзеныя алгарытму: файл з запісам гуку //а// даўжынёй у некалькі секунд.

Рэсурс алгарытму: аўдыё файл карыстальніка F;

Уваход:

Крок 1. Выбар рэсурса. Абіраецца аўдыё файл у фармаце .wav.

Крок 2. Загрузка рэсурса. Пры націску на кнопку “Запусціць” аўдыё файл загружаецца на сервер.

Крок 3. Апрацоўка на сэрверы:

а) разлік наступных параметраў аўдыё: частата асноўнага тону (fundamental frequency), шымер (shimmer), джытэр (jitter), стандартнае адхіленне (standart deviation), тон голасу (voice pitch), адносіны сігнала да шума (harmonic to nise ratio).

б) разлік верагоднасці наяўнасці дысфаніі па папярэдне натрэнераванай мадэлі (алгарытм градыентнага спуску, gradient boosting algorithm).

Крок 4. Вывад вынікаў. Разлічаная верагоднасць наяўнасці дысфаніі выводзіцца на экран.

Канец алгарытму.

 

Апісанне інтэрфейсу карыстальніка

Інтэрфейс сэрвіса прадстаўлены на малюнку 1.

Малюнак 1. Інтэрфейс сэрвіса «Вызначэнне паталогій голаса»

Малюнак 1. Інтэрфейс сэрвіса «Вызначэнне паталогій голаса»

Інтэрфейс складаецца з тэкставага поля адлюстравання вынікаў і дзвюх укладак: укладкі прыкладаў і ўкладкі загрузкі файла.

Укладка прыкладаў дае магчымасць абраць здаровы голас ці голас з паталогіяй, праслухаць яго і апрацаваць. Адпаведна ў полі вынікаў адлюстроўваецца вылічаны DSI.

Укладка загрузкі файлаў дазваляе абраць файл на камп’ютары карыстальніка і загрузіць яго на сервер. Пасля загрузкі аўтаматычна файл апрацоўваецца алгарытмам і ў полі “Вынікі” з’яўляецца значэнне DSI.

 

Карыстальніцкія сцэнарыі працы з сэрвісам

Сцэнар 1. Прагляд прыкладаў

  1. Абраць з дропдаўна любы голас (неабавязкова).
  2. Націснуць на кнопку “Запусціць”. Вынікі будуць мець выгляд, прадстаўлены на малюнку 1.

Сцэнар 2. Праверка карыстальніцкага файла на паталагічнасць

Сэрвіс дае магчымасць карыстальніку не толькі праглядаць вынікі працы абучанай мадэлі, але і спрацоўваць свае файлы на гэтай жа мадэлі (для гэтага патрэбна папярэдні запісаць аўдыё файл у фармаце .wav). Сэрвіс апрацуе новы файл без захавання на серверы, так што правы і канфідэнцыйнасць будуць захаваны. 

  1. Абраць укладку “Загрузіць файл”.
  2. Націснуць на кнопку “Выбраць” і абраць файл.
  3. Націснуць кнопку “Загрузіць”. Вынікі будуць мець выгляд, прадстаўлены на малюнку 2.
Малюнак 2. Вынікі апрацоўкі карыстальніцкага файла. Верагоднасць наяўнасці дысфаніі – 88 %.

Малюнак 2. Вынікі апрацоўкі карыстальніцкага файла. Верагоднасць наяўнасці дысфаніі – 88 %.

 

Доступ да сэрвіса праз API

Для доступу да сэрвіса “Вызначэнне паталогій голаса” праз API, неабходна адправіць AJAX-запыт тыпу POST на адрас https://corpus.by/VoicePathologyDetector/api. Праз параметр FormData() перадаецца .wav файл. 

Прыклад формы html і JavaScript функцыі з AJAX-запытам:

<form id=”uploadForm” enctype=”multipart/form-data” method=”POST”>
   <div class=”input-group”>,
      <label class=”input-group-btn”>
         <span class=”btn btn-primary”>
            Browse…
            <input type=”file” name=”audio” accept=”audio/wav” style=”display: none;”>
         </span>
      </label>
      <input type=”text” class=”form-control” readonly=””>
   </div>
   <button id=”uploadBtn” type=”submit” class=”btn btn-default”>Upload</button>
</form>

 

uploadForm.submit(function(e) {
   e.preventDefault();
   var form_data = new FormData(uploadForm[0]);

   $.ajax({
      type: “POST”,
      url: “https://corpus.by/VoicePathologyDetector/api”,
      data: form_data,
      enctype: “multipart/form-data”,
      processData: false,
      contentType: false,
      cache: false,
      success: function(response){
         setResult(response);
      },
      error: function(err) {
         console.log(err);
         $(“#outputText”).val(err.responseText);
      }
   });
});

Сервер верне верагоднасць наяўнасці дысфаніі ў выглядзе: “>>> 14.000000000000002 %”

 

Спасылкі на крыніцы

Старонка сэрвіса: https://corpus.by/VoicePathologyDetector/?lang=be

 

Перакрыжаваныя спасылкі

  1. Филатова Е.А. Индекс дисфонии как объективный критерий оценки качества голоса при парезах и параличах гортани / Сборник научных работ сотрудников Ярославской государственной медицинской академии, поев. 65-летию ЯГМА. Ярославль, 2009. — С. 192-194. (в соавт. С Шиленковой В.В., Коротченко В.В.)
  2. Бакунович, А.А. Программное обеспечение для анализа диагностических данных заболеваний речевого аппарата / А.А. Бакунович // XV Международной научной конференции молодых учёных «Молодежь в науке – 2018»: Тезисы докладов — Минск, 2018. — C. 147.

If you have found a spelling error, please, notify us by selecting that text and pressing Ctrl+Enter.