Перейти к содержимому

Автоматическое выделение звука


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 9

#1 Proxy

Proxy

    Слушатель

  • Слушатель
  • 2 сообщений
0

Отправлено 06 Февраль 2019 - 15:47

Здравствуйте, я студент - программист и сейчас работаю над дипломной работой.
Моя цель написать программу которая во входном аудиофайле надет все звуки,если такие есть и определит их источник, если он относится к музыкальным инструментам
Прочитав ряд статей по физической природе звука я понял следующее:
Каждый звук, издаваемый реальным объектом(не синтезированный), имеет так называемые "обертона", т.е. более тихие сопутствующие звуки, частота которых кратна частоте основного
Также я понял что тембр звука зависит от отношения громкости обертонов к громкости самого звука
Соответственно способ решения моей задачи должен быть не таким уж сложным, а именно:
1) я считываю файл и провожу БПФ, получая спектрограмму
2) для каждого момента времени на графике частота/громкость я ищу вершины, выделяющиеся из общей массы
  вот так выглядит график частота/громкость для одной ноты на гитаре:
grafik.JPG
  А вот так он выглядит с отмеченными на нем пиками:

peaks.JPG
3)Теперь мне надо найти среди них самый громкий, причем такой, чтобы он был выше определенного порога громкости(дабы не находить звуки в фоновом шуме)
Вот я его нашел:
zvuk.jpg
(красным показан звук, черным показан пгрог громкости)
4)Теперь осталось выбрать те пики, чьи частоты кратны частоте основного звука и сравнить их отношения к содержимому базы данных и понять, что издает этот звук

И пока я работал с гитарой все работало идиально
Но впереди меня ждал ряд проблем

Проблема №1:
В большинстве случаев, обертона распологаются не четко на кратных позициях, а в определенном радиусе от них, причем у высоких звуков он порой составляет до 150Гц
Таким образом, четко определить обертона звука невозможно, что сильно ухудшает качество распознавания

Проблема №2:
Когда я тестировал алгоритм на записи звучания трубы я обнаружил такую картину:

tube.JPG

Как можно видеть, пиком которому кратны другие является пик номер 1
В то время, как самым громким является пик номер 6

Возникает вполне очевидный вопрос: "Считать звуком самый левый в данной последовательности, или самый громкий?".
А если считать самый громкий, то являются ли его обертонами только номера кратные ему самому или также номера кратные пику номер 1?

P.S
Если я задал вопрос не в подходящем месте, то прошу сообщить об этом и указать подходящее

P.P.S
Если вам знаком способ выделения отдельных звуков из аудиозаписи, прошу сообщить, дабы я не мучался, изобретая велосипед

Прикрепленные изображения

  • grafik.JPG
  • peaks.JPG
  • zvuk.jpg
  • tube.JPG


#2 Леонид Шихов

Леонид Шихов

    Приступим к геноциду. (c) John Cavil. BSG.

  • Пользователь
  • PipPipPip
  • 812 сообщений
1 528

Отправлено 06 Февраль 2019 - 17:51

Идея чудесная (хотя и не новая), но есть ряд вопросов.
Есть огромное количество музыкальных инструментов, издающих звуки, не вписывающихся в вашу "картину мира".
Простейший случай - ударные. Для простоты назовем их "барабанами".
Удар по мембране - это то, что первое всплыло в Вашем сознании, да... Но кто сказал, что не бывает удара по другим частям корпуса?
В современной "живой" музыке для "классических" инструментов встречаются и такие интересности, как "удар закрывающейся крышки рояля", и использование струнных, как идиофона (и смычком по корпусу - это еще наипростейший случай, ведь можно и шпилем виолончельки в пол постучать).
Композиторы любят повеселиться.

Так что не всё так просто, как завещал тот самый Жан-Батист ЖозЕф.  :-). Хотя, формально, и "считабельно".

Вот Вам на посмотреть. Было придумано 69 лет тому назад. Всего.


Сообщение отредактировал Леонид Шихов: 06 Февраль 2019 - 17:52


#3 Proxy

Proxy

    Слушатель

  • Слушатель
  • 2 сообщений
0

Отправлено 06 Февраль 2019 - 18:22

Просмотр сообщенияЛеонид Шихов (06 Февраль 2019 - 17:51) писал:

Есть огромное количество музыкальных инструментов, издающих звуки, не вписывающихся в вашу "картину мира".
Ну я полагаю в пределах дипломного проекта их распознавание можно опустить

#4 Юрий Юсим

Юрий Юсим

    soundvoice.ru

  • Пользователь
  • PipPipPip
  • 3 986 сообщений
4 230

Отправлено 07 Февраль 2019 - 09:46

Это невозможно по определению. А разбить конкретную фонограмму на отдельные куски спектра может любой графический EQ. И дело совсем не в инструментах. Раз уж вы начали про гитару, то приведу пример на гитаре. Вот играет в песне гитара, скажем Fender, а в припеве гитарист решил сыграть на Гибсоне. И дальше что будуте делать? Спектр то уже совсем другой. А если он решил ещё и примочкой воспользоваться, тогда что? А если эта примочка вообще ревер?) Вот и рухнула вся идея. Хоть и хорошая.
Удачи на дипломе!!

#5 Карабанов Александр

Карабанов Александр

    Пишу музыку

  • Пользователь
  • PipPipPip
  • 2 206 сообщений
3 099

Отправлено 07 Февраль 2019 - 10:50

С помощью нейросетей все будет возможно. Но, и на данном этапе нельзя в анализе использовать только обертона.  Тембр формируется еще и из шумовых призвуков, атаки  и много чего еще (выше написано).  Простой пример. вот два звука одного инструмента:
Звук 0 - https://yadi.sk/d/tVsSTwUKrQl0sw
Звук 1(исходник)  https://yadi.sk/d/T669wbXSA0kMRg
А всего то убрали атаку.

#6 Леонид Шихов

Леонид Шихов

    Приступим к геноциду. (c) John Cavil. BSG.

  • Пользователь
  • PipPipPip
  • 812 сообщений
1 528

Отправлено 07 Февраль 2019 - 11:11

Просмотр сообщенияКарабанов Александр (07 Февраль 2019 - 10:50) писал:

С помощью нейросетей все будет возможно.

Сань, не всё.

В студенческие времена мы периодически развлекались "уклавесиниванием" фно и кабинетных роялей  - это когда в каждый молоточек вставляется канцелярская кнопка и нечто занудное (как нам казалось) из ХТК Иоганна нашего Себастьяныча играет новыми красками, что, впрочем, так и было во всех смыслах (до концертного августа фёрстера дело не дошло - нас бы повесили прямо у входа, чтоб другим неповадно было).

Это я к тому, что иногда сложно даже представить, какие звуки может издавать тот или иной инструмент. Твик с кнопками стар до безобразия. А есть еще и приколюха с листами бумаги под демпферы. А скотч на струны? А на молотки? А часть вирбелей ослабить чуток, чтобы а-ля ковбойский кабак?

Какая, в пень, нейросеть это разбирать будет? и как?


ЗЫ: вот сейчас пишу и думаю... и это ф-нное отделение.... не эстрадники... не духовики... не баянисты-народники...  оспадибоже... ф-но!  ВРЕДИТЕЛИ!!!!!

Сообщение отредактировал Леонид Шихов: 07 Февраль 2019 - 11:12


#7 Карабанов Александр

Карабанов Александр

    Пишу музыку

  • Пользователь
  • PipPipPip
  • 2 206 сообщений
3 099

Отправлено 07 Февраль 2019 - 11:22

Так, Леня, Нейросеть один раз не поймет, спросит, что есть сие, ей ответят, "пано с кнопками в молоточках", и в следующий раз сеть уже определит и ответит)

#8 Леонид Шихов

Леонид Шихов

    Приступим к геноциду. (c) John Cavil. BSG.

  • Пользователь
  • PipPipPip
  • 812 сообщений
1 528

Отправлено 07 Февраль 2019 - 12:04

Гыгыг. У канцелярских кнопок, как минимум, 3 способа инсталляции в молоток. Звучит по-разному :-)

Ну.... хрен его знает. Посмотрим :-)

#9 Павел Константиновский

Павел Константиновский

    Оперативный диктор (ИП)

  • Пользователь
  • PipPipPip
  • 786 сообщений
869

Отправлено 07 Февраль 2019 - 16:24

Несколько лет назад мы хотели сотворить что-то подобное.
Всё закончилось на этом объявлении:

"Разыскивается математик. Профессиональные знания и навыки для первоначальной задачи:
- частотный (спектральный) анализ /ряды Фурье, теорема Найквиста-Шеннона и т.п./;
- кластерный анализ, построение матрицы сходства;
На втором этапе авантюры может быть востребовано:
- способность вспомнить, что такое сети Маркова;
- отсутствие фобии к формальным грамматикам распознающего типа;"

Математика не нашли и забили на проект))

Может, это как-то поможет вам?

Сообщение отредактировал Павел Константиновский: 07 Февраль 2019 - 16:24


#10 Михаил С.

Михаил С.

    Продвинутый пользователь

  • Пользователь
  • PipPipPip
  • 75 сообщений
44

Отправлено 16 Февраль 2019 - 19:08

@Proxy, черканите в личку или вслух контакт, может передам монстру, который из моно проекта недавно 5.1 делал. То есть это даже не фарш обратно провернуть, а уже сваренную сосиску.
Побеседуете с пользой, надеюсь.

Сообщение отредактировал Михаил С.: 16 Февраль 2019 - 19:09





Количество пользователей, читающих эту тему: 1

0 пользователей, 1 гостей, 0 анонимных