|
0 / 0 / 0
Регистрация: 10.01.2018
Сообщений: 50
|
|
Поиск звуков в аудиозаписи03.02.2019, 12:41. Показов 921. Ответов 1
Метки нет (Все метки)
Здравствуйте
У меня есть следующая задача: Есть некоторый аудиофайл прочитанный в массив, из которого получена спектрограмма с помощью преобразования Фурье В начальном аудиофайле присутствует один или несколько звуков Получается вот такая спектрограмма (в данном примере в каждый момент времени звук один) (на графике по высоте идет частота, по длине время, цвет отмечает громкость для конкретной частоты) Из статей по теории звука я понял, что звук издаваемый реальным объектом(не синтезированный) имеет обертона, т.е. призвуки меньшей громкости, частота которых кратна частоте самого звука Тоесть в аудиозаписи присутствуют 1)Сами звуки 2)Их обертона 3)шум получающийся из-за дефектов записывающей аппаратуры, потере точности при работе с числами с плавающей точкой и тд Соответственно мне нужно найти каждый звук(если такие есть) для каждого момента записи Если принять, что звук на момент времени всегда один, и что он всегда громче шумов, то можно было бы просто искать для каждого момента времени самое большое значение громкости и если оно выше некоторого порога, то считать это за звук Но 1)Звуков может быть много 2)одновременно может быть тихий и громкий звуки Это значительно усложняет задачу Для начала я реализовал функцию поиска пиков на графике Вот так выглядит спектрограмма с отмеченными на ней пиками А вот так выглядит график для отдельного момента времени Зеленым обозначено расположение пиков В данном конкретном случае номер 2 является звуком, номера 4, 7, 10, 12, 14,15, 20, 22, 25, 29... являются обертонами этого звука остальное является шумами Первый способ поиска который я попробовал, это искать цепочки пиков, в которых координата каждого кратна координате первого элемента И к моему удивлению все сработало с первого раза На записи пианино звуки были определенны идеально Но это была случайность Как в последствии показали тесты, в 95% случаев координаты обертонов отличаются от идеальных Причем у высоких звуков это отклонение может составлять вплоть до 1/7 частоты самого звука Делать поиск с разбросом безсмысленно, т.к. в такой разброс гарантированно попадут мусорные пики Была еще одна идея А именно Я генерировал комбинации со всеми возможными пиками попадающих в зоны разброса, для каждой комбинации считал средне арифметическое отклонение от идеальных значений, и если оно не превышало 0.1 от частоты первого элемента (то есть предполагаемого звука), то этот элемент считался звуком Такой подход тоже показал себя крайне плохо Этот алгоритм находил звуки там где их нет и пропускал там где они есть Также я составил еще несколько вариаций этого алгоритма, но не одна из них не дала хоть сколько ни будь приемлемого результата В результате, изрядно намучившись, я обращаюсь сюда за помощью
0
|
|
| 03.02.2019, 12:41 | |
|
Ответы с готовыми решениями:
1
Поиск звуков в аудиозаписи на Java Даны набор гласных звуков и текст. Составьте набор, кроме гласных звуков в тексте Даны набор гласных звуков и текст. Составьте набор, кроме гласных звуков в тексте |
|
|
|
| 03.02.2019, 15:35 | |
|
ну нет же понятия звук
есть некий сигнал у сигнала нужно выделить характерные признаки, чтобы именно их и искать это может быть набор частот и или периодичность, или бох знает что еще т.е. сама задача и является задачей подбора хорошей метрики что конкретно вы собираетесь распознавать, какой "звук" выделять ? обычно все алгоритмы распознавания эвристические и сильно зависят от исходных данных
0
|
|
| 03.02.2019, 15:35 | |
|
Помогаю со студенческими работами здесь
2
Аудиозаписи ВКонтакте Url аудиозаписи с компьютера
Изменить формат аудиозаписи Чем шифруют/дешифруют аудиозаписи? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Как я обхитрил таблицу Word
Alexander-7 21.03.2026
Когда мигает курсор у внешнего края таблицы, и нам надо перейти на новую строку, а при нажатии Enter создается новый ряд таблицы с ячейками, то мы вместо нервных нажатий Энтеров мы пишем любые буквы. . .
|
Krabik - рыболовный бот для WoW 3.3.5a
AmbA 21.03.2026
без регистрации и смс.
Это не торговля, приложение не содержит рекламы. Выполняет свою непосредственную задачу - автоматизацию рыбалки в WoW - и ничего более. Однако если админы будут против -. . .
|
Программный отбор значений справочника
Maks 21.03.2026
Установка программного отбора значений справочника "Сотрудники" из модуля формы документа.
В качестве фильтра для отбора служит предопределенное значение перечислений.
Процедура. . .
|
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
|
|
Оттенки серого
Argus19 18.03.2026
Оттенки серого
Нашёл в интернете 3 прекрасных модуля:
Модуль класса открытия диалога открытия/ сохранения файла на Win32 API;
Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
|
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога
Финальные проекты на Си и на C++:
finish-rectangles-sdl3-c. zip
finish-rectangles-sdl3-cpp. zip
|
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие.
Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
|
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ВВЕДЕНИЕ
Выполняя задание на управление насосной группой заполнения резервуара,. . .
|