@Richardo read-only
Пользователь
17 июня 2013 в 11:54

Дизайн → Загрузка заблокированных аудиозаписей в «ВКонтакте» из песочницы

Я давно являюсь читателем Хабра, но ещё не написал ни одной статьи. На написание этой статьи меня подтолкнул данный пост: Блокировка аудиозаписей Вконтакте. Восстанавливаем плейлист.

Мне понравились методы, используемые автором для обхода фильтра ВКонтакте, но, как человек, долгое время занимающийся обработкой звука и написанием музыки, могу сказать, что это не лучшее решение, которое можно принять в данной ситуации, и вот, почему:
1. Портится качество аудиозаписи, при многократном конвертировании и намеренном ухудшении качества.
2. Вырезание куска произведения изменяет музыку.

Я предлагаю немного другой подход к решению этой проблемы. Кого заинтересовала тема — прошу под кат. Я расскажу подробнее о нескольких методах, которыми можно обойти фильтр, в том числе, о способе, позволяющем загружать заблокированную музыку, не изменяя её содержание (т.е. полностью сохраняя звучание).

Все тесты выполнялись в программе Audacity, для анализа была выбрана песня, исполняемая рэпером Pitbull и певцом Marc Anthony, название — Rain Over Me. Именно эта песня подходит для теста по нескольким причинам: она «запрещена» ВКонтакте, в её спектре присутствуют все частоты в полной мере, в ней есть как «тихие», так и «громкие» части, что позволит экспериментировать с динамикой. Для начала, убедимся, что прослушать аудиозапись невозможно, т.к. она удалена по запросу правообладателя:
image

Как видите, верно, оригинальная аудиозапись изъята, и при попытке загрузить такую же, мы получим предупреждение о нарушении авторских прав:
image

Загрузка той же аудиозаписи, но под другим названием также не увенчалась успехом. Теги в обеих записях (оригинал и версия с изменённым названием) — отсутствовали.

Теперь давайте попытаемся загрузить эту же аудиозапись, слегка изменив её некоторым образом.

Способы обхода фильтра


1. Изменение тонального баланса всего произведения, или его части, то есть, обработка эквалайзером:

На мой взгляд, это самый простой метод. Рассмотрим несколько случаев использования EQ:

Здесь я привожу сразу результат того, к чему я пришёл, в действительности, я неразумно начал пытаться «скормить» ВКонтакте аудиозапись со слегка изменённым тональным балансом, так, что расслышать разницу практически не представлялось возможным (например, применял ФНЧ и ФВЧ с очень мягкими настройками- разница в звучании была ничтожной). ВКонтакте отклонял записи с такими изменениями, но, что интересно, принял, обработанную вот так:
image

Это значит, что распознавание идёт только в области средних частот, высокие и низкие — не затрагиваются. Первый вариант — эквализация всего трека: необходимо вырезать небольшую область среднечастотного диапазона. Попробовал применить EQ только на небольшой участок трека — загрузить не получилось.

2. Добавление шума

В комментариях к статье пользователь Gorthauer87 предложил «немного подмиксовать какой-нибудь незаметный ухом шум». Мысль верная, собственно она мне самой первой и пришла в голову. В индустрии звукозаписи уже давно применяется дизеринг, который есть ни что иное, как добавление шума, правда сейчас шум проходит стадию нойз-шейпинга — т.е. из него удаляются частоты, наиболее слышимые человеческим ухом.

Добавление белого шума в количестве, достаточном для того, чтобы чётко его расслышать, не помогло загрузить аудиозапись. Этот метод нам не подходит, ведь если шум можно расслышать, то, можно считать, что аудиозапись испорчена и прослушиванию не подлежит =(

3. Работа с динамикой трека

После обработки всего трека компрессором с достаточно «мягкими» настройками, аудиозапись была успешно загружена. Привожу скриншот настроек компрессора:
image
Услышать разницу с оригиналом неподготовленному слушателю достаточно проблематично, а если слушать в наушниках или на не очень качественной акустике, то невозможно.

«Коронный» способ

А вот этот способ меня удивил своей простотой, при том, он оказался самым качественным из всех рассмотренных ранее. Надо всего лишь добавить небольшой кусок произвольного сигнала в конец трека (уже после того, как музыка закончилась). В результате, полезный сигнал никак не меняется, но сайт «ВКонтакте» не пытается блокировать такие треки. Конкретно в данном примере я добавил синусоиду 440 герц в конец произведения, продолжительность шума — примерно 1 минута.

Если эта статья заинтересует читателей, то я могу подробнее рассмотреть каждый из способов загрузки музыки (догадываюсь, что «коронный» метод скоро будет «прикрыт»), в зависимости от материал (классика, рок, поп, электроника). Каждый из вариантов будет лучше работать на одном материале и хуже на другом, то есть, где-то заметнее для человека, а где-то практически не изменяя исходник.

Статья получилась не такой полной, как хотелось бы, по той причине, что моя DAW отказалась работать и стала выдавать ошибку (поэтому всю работу провёл в Audacity). Предполагаю, что есть ещё несколько способов, которые сработают:

1. Работа со стерео-базой (её расширение/сужение)
2. Обработка всего трека многополосным эксайтером
3. Многополосная компрессия среднечастотного диапазона, в намного меньшей степени, чем рассмотрено в статье.
4. Добавление очень слабого сигнала реверберации, неразличимого человеческим ухом.
5. Экспандирование, как одно- так и многополосное.
Если будет возможность поработать на мощной DAW, то я смогу рассмотреть и эти случаи.

Заключение


Я не сторонник нарушения авторских прав, так как сам занимаюсь созданием музыки, но считаю, что ситуация с копирайтом в наше время перешла все допустимые рамки Запреты и ограничения — это лишь временные решения, которые не устранят пиратство, требуется решать проблему полностью, стимулируя альтернативные средства распространения музыки. В действительности, кто из тех людей, которые пострадали от удаления аудиозаписей «ВКонтакте» пойдут в магазин и купят компакт-диск? Или купят музыку через интернет?

*Образец аудиозаписи был взят с сайта youtube.com, куда он выложен в свободном доступе правообладателем. Аудиозапись использовалась исключительно в исследовательских целях.
@Richardo
карма
5,0
рейтинг 0,0
Реклама помогает поддерживать и развивать наши сервисы

Подробнее
Спецпроект

Самое читаемое Дизайн

Комментарии (65)

  • +2
    Благодаря хабру теперь мы можем прослушивать, скачивать и загружать заблокированные аудиозаписи ВКонтакте, чудно! Теперь будут посты с разными реализациями.
    • +14
      Кончится тем, что кто-нибудь напишет оное на Brainfuck
      • 0
        При чём в 30 строчек
  • –6
    А если попробовать добавить/изменить ID3 теги и загрузить трек? Изменяется контрольная сумма, я думаю этого будет достаточно. Вряд ли у них аудио анализ идет
    • +3
      Процитирую maglink: (Статья)

      Уже очень много шуток родилось, по поводу изменений названия композиции. Если попробовать загрузить песню с измененнымии или затертыми метаданными, то в результате окно загрузки сообщит об ошибке. Смею предположить, что даже если изменить название песни во вконтакте, её всё равно заблокируют. Итак, смысла изменять название песни — нет.


      Меня способ с изменением названия мало интересовал, потому что хотелось найти именно «звуковые» методы обмана фильтра. Я Вас огорчу, но там точно идёт анализ аудио, хоть и только небольшого куска в средней части — я загружал образец трека, обработанного компрессором с ещё более «мягкими» настройками — контрольная сумма изменилась, но трек по-прежнему не загружался.
  • +15
    Надо всего лишь добавить небольшой кусок произвольного сигнала в конец трека (уже после того, как музыка закончилась)… Конкретно в данном примере я добавил синусоиду 440 герц в конец произведения, продолжительность шума — примерно 1 минута.

    Добавление лишней минуты в произведение по мне вполне равноценно порче. В том смысле, что хоть сам трек в основной своей части не страдает, но, рассматривая плейлист, мы получаем минутные паузы между треками. А это совсем не комильфо.
    • +4
      Следующая стадия для скрипта который будет переключать на следующий трек когда остается в треке менее одной минуты :)
      • 0
        Или по тому же принципу, как делается skip silence во многих плеерах — по наличию более менее продолжительного отрезка тишины в конце трека.
        • 0
          Проверял с тишиной, ВКонтакте блокирует такую запись.
          • +3
            Потому что попадает под копирайт одной из частей пьесы Джона Кейджа "4:33".
            • 0
              Как я понял, у правообладателя данной записи нет претензий и она находится в свободном доступе в vk.com. John Cage — 4'33" не заблокирована, значит и использовать её можно. Дело всё-таки в тишине =)
              • 0
                А вы попробуйте прослушать 4:33. Мне кажется, она всё же заблокирована, и довольно хитро!
                • 0
                  Ну раз заблокирована, так заблокирована. Я могу её и без звуковоспроизводящих устройств послушать.
            • 0
              +John Lennon — «Nutopian International Anthem»
      • 0
        Ещё проще вариант, чем я написал ниже (опоздал).
        «Коронный» метод работает только потому что анализируется не всё произведение, а некоторая часть в центре. Эта часть, как я выяснил, выбирается не произвольно и зависит от длины трека. т.е. к примеру: в треке длиной 60 секунд будет анализироваться промежуток с 20 по 30 секунду, а в треке длиной 120 секунд — с 50 по 60.

        Добавляя лишний фрагмент, мы «сдвигаем» область анализа. Она не совпадает с записанным в базе образцом — трек проходит проверку.
        Скорее всего, используется упрощённая версия вот такого алгоритма: Как Яндекс распознаёт музыку с микрофона
        • 0
          Интересно, на сколько будет достаточно сдвинуть трек, чтобы его не распознало
      • 0
        И тогда треки, не тронутые копирастами будут обрезаться в конце? Ведь явно вконтакте треков без синусоиды будет много больше, чем с ней. Попробуйте обработать всю музыку вконтакте таким образом :)
    • 0
      Куча сторонних клиентов для ВКонтакте — как под мобильные платформы, так и плагины для браузеров. В конец можно поставить любой произвольный сигнал — хоть скопировать тот же самый трек ещё раз, или, например, специальный звуковой код. Как только плеер считывает этот звуковой код — он переходит на следующий трек — минутных пауз нет. Требуется лишь немного переписать код.
      • 0
        Такими шагами вконтакте обрастет кучей плагинов и клиентов, без которых ни музыку не послушать, ни фильмы посмотреть? Тобишь чтобы воспользоваться вконтактом, придется ставить разнообразные клиенты? Брр.
  • +4
    А смысл? Это ведь не решение проблемы, это просто небольшая отсрочка. Ну начнут они через некоторое время «банить» тех кто «умничает» и что дальше?
    • 0
      Чем дальше в лес… Главное, чтоб не начали показательные судебные процессы.
  • +14
    Админы Вконтакта тоже читают Хабр и подобные статьи — лишь помощь в улучшении алгоритма фильтрации.
    • +9
      Мало кто ищет обход фильтра аудиозаписей чтобы действительно загружать запрещенную музыку. Это — интересная задача, перехитрить систему, перехитрить группу сильных программистов, которые над ней работали.
      • 0
        Полностью с Вами согласен!
        И ещё, «пират» всегда будет немного впереди разработчиков фильтра — ведь пирату стоит поработать только над одной записью, в то время, когда у разработчиков стоит задача проверить тысячи загрузок за день — тут всегда будет компромисс между отсеянными и принятыми аудиозаписями — либо «пиратская» музыка будет загружаться (но не вся), либо будет блокироваться и музыка, разрешённая к публикации.

        В звуковом материале слишком много параметров, чтобы позволить анализировать их все. Это всегда требует достаточно серьёзных ресурсов. А если не анализируется запись целиком — то это почва для различных «обманок».

        Единственный вариант, который действительно может отсеять все записи — анализ по мелодии, или использование некоего ИИ. Только дело в том, что ВКонтакте не заинтересован в полной зачистке всего «пиратского» аудио — главное, чтобы исключить возможность исков от правообладателей. Если правообладатель не сможет найти материал — то не будет стимула для дальнейшей разработки — претензий же нет.
        • 0
          Тут ещё остаётся открытым вопрос, а есть ли права у копирастов на изменённую музыку, пусть и таким способом. Возможно поэтому не применён более стойкий алгоритм.
          • 0
            Вопрос открытым не остаётся. У «изменяльщика» формально появляется авторское право на изменение, но осуществляться оно должно при условии соблюдения прав авторов оригинала.
    • +1
      Админы вконтакте не заинтересованы в удалении музыки. Сам Паша явно и твердо выразил свою позицию по этому поводу в том плане, что по официальным запросам с соответствующими документами они против закона не идут, но и делать нечто бОльшее в эту сторону не намерены – Дуров же закоренелый либертарианец.
  • +3
    Всё таки хорошая штука этот реверсинженеринг. Себя потешил и людям помог.
  • 0
    а как фильтр работает? кореллияционная функция рассматривается?
    • 0
      скорей всего это так — рассматривается максимум корелляционной функции с нормировкой — на выходе получают коэффициент от -1 до 1, где 1 — полное совпадение сигналов, -1 — в противофазе, 0 — абсолютно независимы -ну и устанавливается какое то значение после которого запись считается похожей — например 0.8 — добавление случайных шумов и доп кусков записи(лучше было добавлять в конец не синусоиду, а белый шум) уменьшают этот коэффициент. Поскольку для уха не важна фаза гармоники, а важна её частота — можно попробовать преобразовать запись в противофазе — тогда коэффициент будет со знаком минус — возможно разработчики это не учли. Остальные варианты — добавление шума в сигнал, только так можно уменьшить корелляцию сигналов
      • 0
        Добавление любого сигнала в конец работает немного не таким образом — анализируется не всё произведение, а как я ранее писал, только его фрагмент в средней части, причём небольшой. Изменяя равные части произведения в начале, в середине и в конце метод сработает только в середине (т.е. в моём примере, достаточно было обработать компрессором только среднюю часть, а не весь трек).

        При добавлении шума увеличивается «полезный сигнал» для анализатора (для слушателя это всего лишь шум), и средняя точка вычисляется не там.

        Анализ идёт исключительно в Frequency Domain, так что полное инвертирование сигнала здесь не поможет, т.к. оно не влияет на FFT, получаемое с этого сигнала. Если бы сравнение шло в Time Domain, то инвертирование должно было решить все проблемы — корреляция была бы -1.

        Кстати, а вот интересно, с чем корреляция будет меньше — с шумом или с синусоидой, при обилии шумов в современной танцевальной музыке (как трек в примере). «Шум» гораздо чаще встречается в музыке, нежели длительный синусоидальный сигнал с неменяющейся частотой.
        • 0
          Вот интересно ещё, а влияет ли вообще добавление куска вконце на анализ. Допустим в базе лежит кусок длиной в 10 секунд, его могут сравнивать вполне со всем треком и неважна в принципе длина трека

          Upd. Поспешил. Не дочитал посты
  • 0
    В реверсе кто-нибудь заливал?)
    • 0
      Заливал — фильтр не работает (песню пропускает).
      Также помогает и реверсирование какого-либо фрагмента в центре песни.
  • +1
    А как на счет склеить все треки в один, сгруппировав их, например, по альбомам?
    • 0
      Будет работать. Хорошая идея!
      Работает добавление абсолютно любого сигнала в конец, в том числе и другой аудиозаписи.
      • 0
        Если в середине альбома попадётся середина песни — всё сломается по идее.
  • 0
    А чем все предложенные методы отличаются в лучшую сторону, сравнительно с вырезанием маленького куска?
    Компрессировать или эквализировать готовый коммерческий трек-кирпич, это, конечно, более гуманные методы, да.
    Представить только, что случится с транзиентами и как размажутся верха, если вы начнёте на готовом треке менять стереобазу и трогать динамику.

    Единственный адекватный способ, который мне приходит в голову, и который почему-то никем не испытывался — запитчить весь трек, совсем немного. Это явно изменит всё, для анализаторов, и вырезать ничего не надо.
    • 0
      Давайте мыслить логически =)
      Лучшим способом, из всех предложенных мною был именно «Коронный», остальные ничем не отличаются в лучшую сторону. Просто альтернативные, к дополнению к предложенному ранее.

      Для работы с питчем/временем используются алгоритмы pitch-shift и time-stretch, для эквализации используется FFT. Pitch-shift и time-stretch — алгоритмы обработки, искажающие сигнал сильнее всего, т.к. они «заново» воссоздают необходимые куски волны — при растяжении по времени — алгоритм синтезирует сигнал, идентичный оригиналу и добавляет его к остальному сигналу. Естественно, создаётся не 100% идентичная волна, а сильно отличающаяся от оригинала (в сравнении с другой обработкой). Пример таких искажений (при pitch-shif эффекте) можно услышать в музыке певца T-pain: Образец (припевы) — тут искажения используются намеренно.

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

      Будет использоваться алгоритм передискретизации, который очень точный и его искажения несравнимы с искажениями при EQ или тем более, другими методами.

      Компрессировать коммерческий трек — кирпич? Я готов заявить, что 100% людей не услышат разницу между очень лёгкой компрессией, естественно я говорю только о современной танцевальной музыке или её аналогах по динамике — динамика там почти отсутствует и изменить что-либо компрессором практически невозможно (при очень лёгких настройках).

      Если говорим о фортепианной классике, или любом другом динамичеком материале — то компрессия будет слышна.
      • 0
        Кстати, однополосное изменение стереобазы никоим образом не влияет на динамику и трензиенты трека, и прямым образом не влияет на тональный баланс.
      • 0
        >можно услышать в музыке певца T-pain
        Вы мне что, про автотюн решили рассказать? :)
        Я говорил про самый обыкновенный питч, «как на виниловых вертушках». Это и изменит продолжительность композиции, что уже является помехой для анализатора, так и содержание.

        Эквализация, особенно если без linear-phase режима, делает большущий окрас и впадину возле выреза, создаёт лишние гармоники, что приводит к клиппингу. Я не знаю, загрузите в нормальный DAW и проверьте сами, сколько бы вы не вырезали, результат один — сильное подкрашивание и клиппинг.

        >очень лёгкой
        Любые махинации с динамикой, уже сильно сжатого трека, очень слышны. Вы же ему громкость меняете, понимаете?
        И не только на каком-то отдельном промежутке, а на протяжении всего трека.
        И ладно бы вы компрессор нормально настроили, но у вас атака и релиз на минимальном уровне. То есть это выглядит так: как только пик заходит за порог, он у вас тут же компрессируется и тут же релизится. Это же почти что клиппер для пиков и искажения при таких агрессивных настройках ЯВНО должны быть слышны.

        >однополосное изменение стереобазы никоим образом не влияет на динамику и трензиенты трека
        Да ну? Если я сделаю сайд канал тише (сделаю стереокартинку уже), в котором у меня содержится стерео составляющая, скажем, хай хета, то это никак не повлияет на динамику трека? То есть, каким-то магическим образом на моно канале компенсируется недостающая громкость хайхета, или как? :)
        • 0
          Кстати, можно ещё попробовать поиграться с разворачиванием фазы и swap'ом правого и левого каналов.
          • 0
            Не работает. Обнаружение ведётся в Frequency Domain, разворот фазы обеих каналов и swap не помогут.
            О развороте фазы одного канала мы не говорим, это изменяет восприятие.
        • 0
          Я говорил про самый обыкновенный питч, «как на виниловых вертушках». Это и изменит продолжительность композиции, что уже является помехой для анализатора, так и содержание.

          Это я тоже рассмотрел в предыдущем посте, pitch ассоциируется при обработке именно с pitch-shifting.

          Эквализация, особенно если без linear-phase режима, делает большущий окрас и впадину возле выреза, создаёт лишние гармоники, что приводит к клиппингу. Я не знаю, загрузите в нормальный DAW и проверьте сами, сколько бы вы не вырезали, результат один — сильное подкрашивание и клиппинг.

          Можно включить EQ в точный режим + линейную фазу и таких вопросов возникать вообще не будет. Даже если использовать EQ с минимальной фазой, расслышите ли вы это в наушниках на улице? Не в студийных условиях? Если не прислушиваться -разницы вообще не будет. Выложить образцы что-ли, чтобы Вы убедились в этом? Речь идёт об очень маленьком изменении тонального баланса.
          Сколько не работал с различными EQ, работающими без режима симуляции vintage-приборов, никакого клиппинга не было, даже в True Peak.

          Любые махинации с динамикой, уже сильно сжатого трека, очень слышны. Вы же ему громкость меняете, понимаете?
          И не только на каком-то отдельном промежутке, а на протяжении всего трека.
          И ладно бы вы компрессор нормально настроили, но у вас атака и релиз на минимальном уровне. То есть это выглядит так: как только пик заходит за порог, он у вас тут же компрессируется и тут же релизится. Это же почти что клиппер для пиков и искажения при таких агрессивных настройках ЯВНО должны быть слышны.

          Не нашёл в Audacity лимитер, так бы я воспользовался iZotope Ozone 5 Maximizer в режиме IRC3 и сделал совсем небольшое лимитирование. (на -1, -2 дБ). Посмотрите на численное значение release — 1с, это по-вашему мало? А на ratio и threshold? Это агрессивные настройки?

          Любые махинации с динамикой, уже сильно сжатого трека, очень слышны. Вы же ему громкость меняете, понимаете?
          И не только на каком-то отдельном промежутке, а на протяжении всего трека.
          И ладно бы вы компрессор нормально настроили, но у вас атака и релиз на минимальном уровне. То есть это выглядит так: как только пик заходит за порог, он у вас тут же компрессируется и тут же релизится. Это же почти что клиппер для пиков и искажения при таких агрессивных настройках ЯВНО должны быть слышны.


          Зачем же так, можно просто смиксовать стереодорожку в моно и подмешать к mid-у. Стерео-эффекты взаимно уничтожатся, а хайхет останется, т.к. в другом канале нет противофазы этого сигнала.
          • 0
            В принципе, учитывая, как сильно сейчас жмется большая часть музыки, можно использовать, наоборот, небольшую декомпрессию (upward compression). Может, даже на пользу пойдет. :)
            • 0
              Экспандирование =)
              upward compression это несовсем то.
              • 0
                Да, возможно. Я имел в виду не «компрессию» с ратио < 1, а обратную операцию (которая выражается чуть более сложной формулой).
                • 0
                  Что именно? Извините, но я вообще не понял)
                  • 0
                    Я имел в виду, что если для превращения сигнала A в сигнал B использовался компрессор, скажем, с порогом в -3 дБ и ратио 2:1 (пост-гейн оставим за кадром), то для обратного превращения из B в A уже не подойдет компрессор с порогом в -3 дБ и ратио 0.5:1.

                    Впрочем, мой исходный комментарий не предлагал какую-то прямо уж конкретную идею, просто содержал полуюмористическое указание на то, что многую современную музыку сжимать дальше особо некуда (в плане качества звука).
          • 0
            UPD
            У студийных мониторов бюджетного уровня неравномерность АЧХ на всём диапазоне около 3 дБ. Имеют ли смысл вообще рассуждения о том, что будет заметно изменение в 1 дБ на эквалайзере, при том, что у большинства людей, слушающих музыку из «ВКонтакте» нет студийных мониторов и их не очень будет интересовать столь малое различие в записях.
  • НЛО прилетело и опубликовало эту надпись здесь
  • 0
    Я могу ошибаться, но пару лет назад сттуация была такая:
    Ifpi встраивала метку — идентификатор прямо в аудиодорожку. Причём на стадии релиза.
    Простыми преобразованиями, которые здесь обсуждают, метку не снять. Ну а далее спецробот спокойно понимает, что эта за песня.

    Когда я работал в музиздательстве мы планировали все наши треки так помечать. Даже была проблема, когда наш партнёр пометил так наши треки и зали в айтюнс. По договоу, конечно. Но потом, когда эти треки в составе других альбомов мы заливали в айтюнс — пришлось доказывать, что мы не верблюды.

    Так что если вк действительно захочет вычистить треки мейджеров — то сделает это весьма просто.
  • 0
    Подействует ли, если добавить не минуту, а секунд 5-10 например?
    • 0
      Пробовал, не получилось.
  • 0
    Я думаю, вконтакте работает по той же методике, что и программы распознавания музыки: каждый трек имеет свой «отпечаток» частота-дельта_время.
    Достаточно ускорить или замедлить трек на 1 сек и у него будет совершенно другой слепок. На слух это выльется в изменение тона на 1-2 Гц, что не различимо.
    • 0
      проэкспериментируете?
    • 0
      Совершенно другого слепка на выходе FFT при незначительном изменении скорости воспроизведения не будет. Да, будет сдвиг, их некая корреляционная функция выдаст чуть меньший результат. Но не факт, что этого хватит. Тем более, очень просто модифицировать алгоритм распознавания так, чтобы уменьшить влияние проблемы: держать слепки, например, 98% и 102% скорости воспроизведения.
      • 0
        Он будет на 100% другой.
        Иначе как отличать треки?
        • 0
          Он будет на 100% другой.
          Самая обыкновенная логика подсказывает, что наборы частот на длинных нотах достаточно постоянны. Следовательно, небольшое растяжение испортит картинку несущественно (чем дальше от начала трека, тем существеннее). Можете проверить. Возьмите оконное преобразование Фурье, кусок аудиозаписи и простейшую корреляционную функцию.
  • 0
    Ещё можно попробовать подобавлять сверхнизки частот — найти минимальную частоту срабатывания. Так можно, например, узнать длину буфера FFT. Если фильтр будет срабатывать на частоты, которые обыкновенная акустика выдать не может, достаточно писать в них шум.
  • 0
    Joint stereo вместо stereo и наоборот?
  • 0
    /* Образец аудиозаписи был взят с сайта youtube.com, куда он выложен в свободном доступе правообладателем. Аудиозапись использовалась исключительно в исследовательских целях. */

    Если этим зарабатывают на жизнь юристы адоби, это не значит что всем нужно писать подобную галиматью. Но нет, сотни людей не устают поклоняться данному смешному карго культу :-D

    За исследование спасибо!
  • 0
    Жаль что с шумом не сработало, видимо оно динамику анализирует, значит видимо если пики будут не на своих местах, то он их пропустит. Но достаточно у него порог срабатывания изменить и всё, тогда чтобы его обойти придется сильнее портить запись. А что касается ложных срабатываний, ну и хрен с ними, и так вся малина уже испорчена.

    Что еще можно попробовать? подвигать эти пики во временной области случайным образом.
  • 0
    А я думаю пора с вконтакта переходить на что-то другое.
  • 0
    Мне помогло добавление эффекта плавного появления, причём я выделила по ошибке весь трек… Затем я поэкспериментировала и сократила время появления — способ тоже проканал, запись была загружена, но через несколько минут её удалили. Запись с плавным появлением без выделения отрезка висит до сих пор.

Только зарегистрированные пользователи могут оставлять комментарии. Войдите, пожалуйста.