Как распознать, если аудиосэмпл был сжат, а затем распакован?

Несколько лет назад я сделал аудиозапись, и я не могу найти оригинальные файлы WAV, у меня есть только сжатые MP3. Теперь я нашел аудио-CD, но я не знаю, был ли он сделан с использованием оригинальных несжатых файлов WAV или из сжатых файлов MP3 или OGG.

Есть ли способ, как определить, был ли аудиосэмпл сжат и распакован с использованием сжатия с потерями, такого как MP, OGG, ..., без оригинала для сравнения?

Обновить:

Пытаясь предположить @MisterHenson, я построил спектры двух образцов с очевидными различиями в графиках:

Образец с CD:

Образец из MP3:


Это практически решает мою текущую проблему, но все же у меня есть следующие открытые вопросы:

  1. Если бы спектры были визуально неразличимы, я бы не знал, существует ли реальная разница или я просто не могу их различить (то есть сжатие было бы лучшего качества). Что еще я мог попробовать?
  2. Точно так же, что бы я делал, если бы у меня не было файла MP3 для сравнения, только один аудиосэмпл?
  3. Есть ли автоматизированный метод, который ответил бы на вопрос с разумной вероятностью?

5 ответов

Я сделал пример, чтобы подчеркнуть топологию всех транскодов MP3, исходный материал которых - ноктюрн Шопена. MP3 сверху, без потерь снизу. Все записи имеют фоновый шум некоторой амплитуды, и этот шум здесь едва заметен. Что делает транскод MP3 (в данном случае предустановка Lame V2), так это создает жесткий предел на ~ 16 кГц. На MP3 с частотой дискретизации 320 кбит / с и частотой дискретизации 44,1 кГц этот жесткий предел появляется на уровне около 20 кГц, но в этом изображении он все равно будет заметно отличаться.

Пример фортепианной музыки

Вы можете выбрать эту полку, не имея оригинального файла без потерь для сравнения. Я хочу сказать, что вся музыка имеет амплитуду на частотах выше даже 19 кГц. Вот пример, для которого у меня нет исходного файла без потерь, только MP3 на 320 кбит / с. Вы можете увидеть очень жесткий предел на 20 кГц, а также более мягкий предел на 19 кГц. Если бы не было потерь, этот красный шарик в середине расширился бы до 22 кГц, поскольку частота дискретизации составляет 44,1 кГц.

Back - назад

Я бы сказал, что этот процесс, вероятно, автоматизируемый, но я не знаю ни одной попытки автоматизировать его. Однако, если бы это было автоматизировано, я бы сказал, что он может выбрать Lossy из Lossless с гораздо более высокой точностью, чем вы или я, благодаря возможности анализировать весь спектр, а не только высокочастотные отсечки.

Полное разрешение изображения:

Вот сделка.

Необработанный семпл (или необработанный фрагмент звука) кодируется с определенным качеством. Некоторые звуковые карты могут пойти дальше с дискретизацией 64 бита.

Но давайте предположим, что у нас есть звуковые файлы определенного ИЗВЕСТНОГО качества.

Качество CD подходит для человеческого слуха.

Студия, будет использовать более качественные образцы, хотя. Как 24 бит в качестве стандарта.

Таким образом, вы получили имя файла формы волны.wav, которое действительно имеет частоту дискретизации 44100 Гц.

Что это значит?

Это означает, что компьютер может брать огромное количество различных сэмплов в секунду, чтобы представить почти точный звук.

Звук оригинальный? Зависит от того, как это было сделано. Если это было сделано вашим компьютером и программным обеспечением с использованием 16-битной звуковой карты по умолчанию, то да, это так.

Если это было из аналоговой записи, хотя, оно теряет часть своего качества при оцифровке при 44100 Гц, к счастью, не столь значимым для человеческого слуха. ВНИМАНИЕ, что записи в формате mp3 - плохая идея для профессиональной записи. Но поскольку запись в формате mp3 существует... это усложняет ваш вопрос.:П

Поэтому при оцифровке с помощью 16-битной звуковой карты качество звука теряется. Теперь подобное может произойти, когда вы что-то кодируете в mp3.

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

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

Если я преобразую его обратно в wavetable, не будет никакой разницы.

Например:

               [UNCHANGED FREQUENCIES][CUT FREQUENCIES]
    Waveform:  =================================
    mp3:       =======================
    Waveform:  =======================


    Waveform:


               [UNCHANGED FREQUENCIES][CUT FREQUENCIES]
    Waveform:  =================
    mp3        =================
    Waveform:  =================

The following seems impossible to me (except if the converter has bugs thing that can be heard)

           [UNCHANGED FREQUENCIES][CUT FREQUENCIES]
Waveform:  =========================
mp3        =======================
Waveform:  =============================

Таким образом, ваш вопрос зависит от исходного источника, который вы использовали в первом сигнале.

Хорошая новость заключается в том, что образец очень ограничен и сжат. Поэтому мне кажется, что использованный вами компакт-диск, вероятно, будет звучать как оригинальная форма волны, в то время как mp3, как вы можете видеть, вырезали частоты.

Чтобы быть уверенным, конечно, вам нужен частотный анализатор и спектр, как уже показал MischaNix.

Есть также много mp3 кодировок. Некоторые из них статичны, некоторые динамичны, некоторые режут больше, а другие меньше звуковой информации. Некоторые также больше, чем другие по этой причине.

Теперь есть и форматы без потерь. И еще есть OGG, который достаточно мал, а также имеет отличное качество.

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

Если проблема дает оригинальный образец, ваши фотографии показывают мне существенные различия между двумя образцами. Я имею в виду, что создание формы волны из вариации среза mp3 должно выглядеть так же, как вариация среза. Вы не можете получить информацию из ничего.

Запишите mp3 на CD, затем возьмите волну, сравните новую форму волны со старой и формой mp3. Вероятно, это будет не то же самое, поэтому вы можете выиграть джекпот здесь. Возможно, у вас есть оригинальная резервная копия на руках.

Однако с этого момента, попробуйте сэмплировать сырье и сохранить его на CD или DVD, прежде чем выбросить. Или, по крайней мере, храните хорошие несжатые образцы в резервной копии.

Открытые вопросы:

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

Правильный. Но это будет происходить редко без намерения на выборку.

Зачем задавать такой вопрос?:) Вы имеете в виду стеганографию? Если да, не забывайте о характере звука, который вы собираетесь использовать. Образцы не подходят. "Готовые песни" есть!

Точно так же, что бы я делал, если бы у меня не было файла MP3 для сравнения, только один аудиосэмпл?

Поскольку существует множество настроек кодирования mp3 различных качеств, вы можете проверить, использовалось ли самое низкое качество. Если нет, то существует неопределенность из-за возможностей сжатия. Если это относится ко всей выборке, то вы должны увидеть, нужно ли сжатие. Вот почему вы не можете быть уверены в песне. Вы не делаете запись с таким жестким сжатием. Я думаю, это еще одна мета-причина, почему вам нужен естественный звук. Так что, если речь идет о записи, вам может повезти. Теперь о готовой мастеринговой песне... все снова становится грубым. Это о природе, типе звука. Запись легче понять, что происходит, если вы знали, что использовали запись формы волны. Запись в формате mp3, конечно, пустая трата времени. С другой стороны, законченная песня, обычно в наши дни, приводит к перегоранию компрессоров, ограничителей, вентилей и цепных компрессоров. Количество использования этой техники в современном освоении огромно. Итак... вам действительно понадобится удача, чтобы выяснить, был ли оригинальный фрагмент сжат раньше, прежде чем иметь исходную форму волны для начала.

Есть ли автоматизированный метод, который ответил бы на вопрос с разумной вероятностью?

Ни то, что я знаю. Сожалею.:(Но это не значит, что никто не может сделать это.

НО!

Сэмпл стерео обычно разделяется на два канала. Лево и право. Теперь, если у вас есть анализатор спектра на рабочей станции цифрового аудио, и вы смотрите только на левые каналы двух разных семплов, вы можете на лету увидеть, являются ли они одинаковыми или нет, я думаю.

Чтобы понять, что я имею в виду, взгляните на ЭТУ ссылку. Иди в 05:00 и просто смотри интерфейс.

Уф. Надеюсь, что это поможет вам в дальнейшем, так как это заняло некоторое время.:P Ура.

Редактировать: Исправление некоторых вещей здесь и там.

Вышеуказанные подходы звучат очень многообещающе, хотя, возможно, немного сложнее - вы можете сначала попробовать что-нибудь легкое, например, проверить распределение младшего бита. В естественной выборке LSB должен быть почти точным распределением 50/50 между нулями и единицами (фактически во многих выборках будет некоторое отклонение после биномиального распределения, но с миллионами или миллиардами битов это будет смехотворно близко к 50/50 в любом данный образец). В выборке с потерями вы найдете маловероятное распределение в LSB.

Что-то вроде этого:

1 - извлечь LSB из каждой точки данных

2 - применить критерий хи-квадрат, чтобы определить, необычно ли распределение

Я нашел описание проблемы, решение и реализацию в Python от Maurits van der Schee, которая работает с FLAC.

Из образца анализируются только первые 30 секунд. Для каждой секунды частотный спектр выборки вычисляется путем применения окна Хеннинга и выполнения быстрого преобразования Фурье. Эти спектры добавляются, так что в итоге вы получите 30 составных спектров. Они делятся на 30, чтобы получить средний спектр. Затем спектр нормализуется с помощью log10. После этого мы применили скользящее среднее к спектру с размером окна 1/100 частоты, составляющим 44100/100=441 выборок.

Если в частотном спектре есть неестественное обрезание, то это то, что нам нужно найти. Мы сместим спектр с 44100-й обратно на 1-ю частоту, где переменная частота равна f. Как только величина в f-220 более чем на 1,25 выше, чем величина в точке f, а величина в точке f не превышает 1,1x величины в точке 44100, мы нашли точку отсечения. Точка отсечки умножается на 100 и делится на частоту, чтобы получить процент не обрезанного спектра.

На что обратить внимание:

  • Изменение частоты среза на границах кадра (не будет 100% жестким срезом, но ищите от "слышно" до "неразборчиво" и наоборот)
  • Частоты исчезают или появляются на границах кадра (опять же, не на 100%)
  • Уровни шума меняются на границах кадра (на самом деле довольно хорошо для кодеков с потерями)

Для MP3 границы кадра составляют точно каждые 1152 образца, хотя вы можете "видеть" гранулы каждые 576 образцов.

Для Vorbis границы кадра обычно составляют 128 или 1024 выборки в зависимости от переходных процессов, которые кодер "видел". Вы, вероятно, можете сойти с делать каждые 128 сэмплов...

Вам придется исследовать другие форматы, чтобы узнать размеры их фреймов (я их не знаю).

Другие вопросы по тегам