Разработка программного обеспечения для автоматизации действий при проведении исследований голосовых параметров человека

Автор: Иниватов Д.П.

Журнал: Форум молодых ученых @forum-nauka

Статья в выпуске: 8 (24), 2018 года.

Бесплатный доступ

В статье сделано описание программного обеспечения, созданного для автоматизации научных исследований в области голосовых параметров человека, описан алгоритм работы программы, возможности разработанного ПО, сделано описание структуры звукового файла.

Звуковой файл, исследование голосовых параметров, программное обеспечение

Короткий адрес: https://sciup.org/140284026

IDR: 140284026

Текст научной статьи Разработка программного обеспечения для автоматизации действий при проведении исследований голосовых параметров человека

Программное обеспечение «Разрез файлов формата WAV» создано для людей, ведущих научную работу, связанную с изучением голосовых параметров человека с целью автоматизации действий при проведении исследований. Как правило, научная деятельность, связанная с изучением голосовых параметров человека, подразумевает под собой сбор этих самых голосовых параметров с немалочисленного круга лиц в виде записей, в которых «исследуемые» многократно повторяю идентичные слова, фразы или текст для более точных результатов изучения. Производить разрезку этих вычислений вручную является очень длительной и кропотливой работой. Именно поэтому появилась идея о создании специальной программы, упрощающей данную работу.

Рис. 1. Пользователь открыл WAV файл.

Для реализации всех действий программы был создан класс, ответственный за корректное представление и обработку заголовка звуковых файлов. Он реализует работу со структурой файлов формата wav, которая из себя представляет следующие элементы:

Таблица 1. Представление структуры файлов формата wav

Название поля

Описание

Местоположение

(байты)

chunkId

Содержит символы в кодировке ASCII «RIFF». Начало RIFF-цепочки

0-3

chunkSize

Размер цепочки с этой позиции

заголовка

4-7

format

Символы «WAVE»

8-11

subchunk1Id

Символы «fmt »

12-15

subchunk1Size

Размер цепочки с этой позиции

заголовка

16-19

audioformat

Формат аудио, представляет из себя число

20-21

numChannels

Количество каналов

22-23

sampleRate

Частота дискретизации

24-27

byteRate

Количество байт, использующихся за 1 секунду во время воспроизведения

28-31

blockAlign

Количество байт для одного

семпла

32-33

bitsPerSample

Количество бит в 1 семпле

34-35

subchunk2Id

Символы «data»

36-39

subchunk2Size

Количество байт в области

данных

40-43

data

Данные

44-…

Программа представляет собой одну форму, с помощью которой пользователь может осуществлять следующие действия:

  • 1.    Открыть файл формата WAV. Программа представит его в виде двух звуковых дорожек с целью зрительного удобства. Также будут показаны основные данные о файле: размер, количество разрядов, количество каналов, частота дискретизации и длительность. Звуковые дорожки отображаются в поле диаграмм chartbox. Информация о файле представляется в текстовом поле textbox.

  • 2.    Выбрать подходящую Амплитуду и Длину участков тишины. Исходя из этих настроек, программа будет производить расчёт мест, в которых будут сделаны разрезы. Алгоритм нахождения участков, на которых будут произведены разрезы, следующий:

  • 3.    Пользователь также может сделать дополнительную корректировку мест разрезов, добавить новые разрезы, которые программа не смогла распознать или удалить ненужные разрезы. Добавление нового разреза происходит с помощью ползунка возле надписи справа «Добавить разрез вручную можно

  • 4.    После всех действий пользователю необходимо будет нажать на кнопку «Сохранить». Результатом работы программы будет являться наличие в папке с исходным файлом всех новых разрезанных файлов в количестве N+1, где N – количество разрезов. Каждый файл будет сохранён с соответствующим ему индексом. Например, если изначальное имя файла было «Звуковой файл» и его разрезали на 5 файлов, то новые имена будут следующими: «Звуковой файл-1», «Звуковой файл-2», «Звуковой файл-3», «Звуковой файл-4» и «Звуковой файл-5».

    Рис. 2. Основные функциональные элементы программы.


Пусть N – число семплов в данном файле.

L – Длина участка тишины в семплах, настроенная пользователем вручную.

А – Амплитуда, настроенная пользователем. Она производит поиск участков, у которых средняя громкость будет не более величины «А».

Изначально происходит суммирование первых L семплов (с 1 по L элемент). Затем идёт сравнение средней величины этой суммы с величиной «А», если оказывается, что средняя величина этой суммы меньше «А», то в этом месте ставится разрез, в противном случае – к нашей сумме семплов от 1 до L добавляется семпл с порядковым номером L+1 и отнимается первый элемент. Работа продолжается до тех пор, пока не будут пройдены все семплы.

Данный алгоритм способен с высокой точностью находить паузы в речи любого человека, а так как испытуемый, как правило, делает паузы между повторением одной и той же фразы, то применение именно этого метода было наиболее актуально в данной программе.

с помощью двух ползунков», которую можно найти на рис. 1. При перемещении ползунка в поле диаграммы chartbox будет представлено предполагаемое место будущего разреза. Пользователю будет легко определить его по характерной фиолетовой линии, находящейся прямо над положением ползунка на диаграмме chartbox. Если пользователю будет необходимо удалить какой-либо разрез, то он может воспользоваться черным ползунком, находящимся левее от кнопки «Сохранить», Перемещая положение ползунка, программа будет перекрашивать предполагаемые места будущего разреза на другой цвет. Изначально места разрезов имеют зелёный цвет. Расчёт удаляемого разреза идёт следующим образом: Места всех разрезов хранятся в массиве. Положение ползунка задаёт индекс массива. Если ползунок находится в положении 1, то и будет соответственно перекрашен разрез с порядковым номером 1. После нажатия кнопки «удалить» этот разрез будет удалён, и автоматически перекрасится следующий разрез для предполагаемого удаления.

На рисунке 3 представлено содержание папки до работы программы, а на рисунке 4 содержание папки после работы программы, которая разрезала исходный файл на 56 новых.

@ Звуке

вой файл

Рис. 3. Содержимое папки перед работой программы

Рис. 4. Содержимое папки после работы программы.

Список литературы Разработка программного обеспечения для автоматизации действий при проведении исследований голосовых параметров человека

  • Бабенко, М. А. Введение в теорию алгоритмов и структур данных / М.А. Бабенко. - М.: МЦНМО, 2016. - 146 c.
Статья научная