Иногда на Youtube попадаются видеозаписи с сильно зашумленным звуком. Я пытался было найти расширение-шумодав для Firefox, но пока безуспешно. Вместо этого попадаются всевозможные регуляторы громкости, переключатели в режим «моно», эквалайзеры и т. д.
Я правильно понял, что шумоподавление — слишком сложная или ресурсоемкая задача, чтобы решать ее на JavaScript?
Конечно, можно открыть такую видеозапись в каком-нибудь видеоплеере со встроенным или подключаемым внешним шумодавом, но в браузере зачастую удобнее...
Здравствуйте, Lazytech, Вы писали:
L>Здравствуйте, D. Mon, Вы писали:
DM>>Возможно, просто браузерный API не дает прямого доступа к аудиоданным.
L>Странно, что при разработке HTML5 не предусмотрели возможность полноценной обработки звука.
L>На сайте MDN есть только какой-то фильтр: L>https://developer.mozilla.org/en-US/docs/Web/API/BiquadFilterNode L>Но сомневаюсь, что с его помощью можно подавить шум, который не убирается эквалайзером.
шум который не убирается эквалайзером вообще очень трудно убирается либо не убирается никак и ничем
ну разве что нейросетями. Ява скрипт как раз имеет все необходимое для модификаци и звука и видео
— ваша проблема что у вас нет алгоритма как убрать шум. А если есть то почему вы не миллионер?
(для сведения — любо мыслимый фильтр может быть построен из набора тех то у вас по ссылке — читать любой учебник по DSP для вузов)
Здравствуйте, paradoks, Вы писали:
P>шум который не убирается эквалайзером вообще очень трудно убирается либо не убирается никак и ничем P>ну разве что нейросетями. Ява скрипт как раз имеет все необходимое для модификаци и звука и видео P>- ваша проблема что у вас нет алгоритма как убрать шум. А если есть то почему вы не миллионер?
Ну, я открыл видео (см. ссылку в первом сообщении) в видеоплеере PotPlayer и выбрал в настройках по обработке звука опцию «Noise Reduction». В результате звук стал гораздо удобоваримее — да, несколько приглушенный, со смазанными верхними частотами, но уже без сильного шипения. Есть и другой вариант — подключить к тому же PotPlayer внешние аудиокодеки ffdshow и включить шумодав уже там. Похоже, работающие алгоритмы шумоподавления у кого-то есть, причем уже, наверное, лет десять, если не больше.
P>(для сведения — любо мыслимый фильтр может быть построен из набора тех то у вас по ссылке — читать любой учебник по DSP для вузов)
К сожалению, я пока не дорос до решения таких задач.
P.S. Еще раз поигравшись с расширением-эквалайзером, почти задавил шум, убрав верха. Я правильно понял, что шумодавы в видеоплеерах просто режут верхние частоты?
L>P.S. Еще раз поигравшись с расширением-эквалайзером, почти задавил шум, убрав верха. Я правильно понял, что шумодавы в видеоплеерах просто режут верхние частоты?
L>Я правильно понял, что шумоподавление — слишком сложная или ресурсоемкая задача, чтобы решать ее на JavaScript?
1. Вряд ли есть API для встраивание фильтра в звуковой поток youtube–видео в браузере.
2. С SIMD–интрукциями в JS, наверное, тоже до сих пор печалька. Поправьте если это уже не так.
PS. В CoolEdit был удобоваримый шумодав уже лет 20 лет назад. С довольно простой реализацией: вычитание спектра тишины. Шипение убирал отлично. Нестационарные процессы вроде резких порывов ветра или шума автомобилей ему, конечно, не по плечу.
Здравствуйте, serj.e, Вы писали:
SE>1. Вряд ли есть API для встраивание фильтра в звуковой поток youtube–видео в браузере.
Как я сказал выше, шум обычно можно ослабить, порезав верхние частоты при помощи расширения вроде Audio Equalizer by Muyor. К сожалению, при подключенном расширении — даже когда эквалайзер фактически не используется — перестает работать ускорение/замедление воспроизведения видео. Приходится каждый раз открывать общие настройки Add-ons и вручную подключать/отключать это расширение.