Найти в Дзене

2. Реальное воплощение нейронной сети

Человек при помощи мозга может отличить один звук от другого. Например, звук “а” от остальных 43 звуков. Наверное, никто не будет возражать что эта задача - поле деятельности для нейронной сети.

Есть много форматов звуковых файлов, например FLAC, MP3, но самый крутой из всех это придуманный Microsoft формат без сжатия WAV. В файле формата WAV в начале идёт всякая служебная информация, например количество каналов – моно или стерео, частота дискретизации в Герцах и прочее в этом духе.

А затем начинается кусок собственно данных звука. Этот кусок представляет собой простой столбик чисел. Если принять за порядковое число в столбике координату X, а число в ряду за Y можно построить график, который визуально показывает звук.

График звука "а".
График звука "а".

Вот такой у меня получился звук “ а”. Чем больше амплитуда по оси Y, тем громче звук это я проверил. А вот, к примеру звук “б”:

График звука "б".
График звука "б".

Увеличенный участок звука “б”:

-3

Такие точечные графики или звуковые осциллограммы называются временные ряды и относятся к математической статистике. Как их сравнивать? Надо, наверное, максимально совместить их между собой. Опыт показал, что лучше совмещаются графики не по максимуму Y, а по первому перепаду по Y равному 3000.

Представляется что небольшие отклонения от нуля по оси Y это тишина поэтому её можно отбросить от сравнения. Поэтому я на глаз выбрал два диапазона в 30067 и в 9093 значений по оси X и назвал их “значимые расстояния”. Теперь остаётся только сравнить попарно значения из значимого расстояния Y у графиков трёх звуков: “а”, второго звука “а” и "б” и дело в шляпе?

Но не тут-то было – оказалось, что при таком сравнении звуки “а" и "б” больше похожи чем два звука “ а ". Я пробовал сравнивать и чистые значения Y и с различными припусками – то есть плюс-минус какими-то величинами – не получается распознавание.

На этом месте у меня идеи иссякли, и я на математическом форуме задал вопрос “С какой стороны подойти к этой проблеме?” Человек ответил, что он бы присмотрелся к огибающей графика. Огибающая графика уменьшает плотность значений на отрезке графика. То есть оставляет не все значения, а только крупных перепадов.

Огибающая.
Огибающая.

"Окно” взято 300 (примерная длина волны) – просто берём наибольшее Y для верхней огибающей и наименьшее для нижней огибающей. Получились 102 точки. Верхняя огибающая значимого расстояния звука “а”:

-5

Можно переходить к сравнениям. Посравнивал я попарно значения огибающих и понял, что это меня не спасло.

А Вы любите статистику?

Если понравилась статья ставьте лайк и подписывайтесь на канал.