MP3 является lossy аудиокодирование.
Это означает, что в общем случае два аудиоклипа (например, PCM) будут воспроизводить одинаковый выход MP3, если и только если они одинаковы во всех отношениях. Этот процесс также является не reversible - нет способа получить исходный необработанный аудиофайл, по крайней мере, до уровня байта.
Кроме того, давайте рассмотрим этот процесс:
У вас есть сырой аудио клип
Вы конвертировать его в MP3, а затем обратно к сырому аудио клип A2
Вы отсекаете часть B of A, конвертируете ее в MP3, а затем обратно в необработанный аудиоклип B2
Если клип не является чем-то необычным, например. абсолютная тишина - то, что может быть создано только путем искусственного создания исходного аудиофайла - вероятность того, что B2 будет подмножеством A2, чрезвычайно мала.
Имейте в виду, что описанный выше процесс предполагает использование одного и того же программного обеспечения и параметров кодирования, что не всегда так, что делает любые совпадения еще более невероятными.
В общем, вам нужен алгоритм обработки цифрового сигнала (DSP), который будет выполнять проверку подобия звука. Это отнюдь не так просто, как простое двоичное сравнение.
Единственным возможным исключением из вышеизложенного является то, что более короткий клип был создан с использованием какой-либо формы программного обеспечения для редактирования на уровне кадра MP3. В этом случае исходный эквивалент звука может быть быть подмножеством более длинной версии.
Какой аудиофайл вы используете, а не бинарный? – Gumbo
У меня есть mp3-файл, который я хочу преобразовать в двоичный файл и сохранить результат в базе данных. – Geek
. Есть, вероятно, какой-то диалект XML для хранения аудиофайлов. :) Анекдоты разные, вопрос не ясен, но у меня такое впечатление, что он действительно спрашивает, можете ли вы использовать PHP для сравнения аудиопотоков. Это сложная задача, даже если вы оставите PHP отдельно. –