2010-11-23 2 views
2

Для двух потоков mp3, можно ли смешивать два потока одного битрейта с разными значениями микширования без разжатия и повторного сжатия?Возможно ли смешивание MP3?

Например, если у нас есть две песни, которые уже закодированы в mp3 192 Кбит, и мы хотим создать кроссфейд длиной 5 секунд, мы должны смешивать последние несколько кадров из одной песни с таким же количеством кадров из второй песни , при этом скорость смешивания увеличивается от 0 до 100 для ввода песни и от 100 до 0 для ее закрытия.

+2

Я предполагаю, что вы не можете использовать Audacity или Garage Band для производства конечного продукта? – johnny 2010-11-23 15:42:11

+0

Нет, я говорю о программнике, смешивающей ее, ради бога. Это переполнение стека, в котором мы находимся, правильно? – 2010-11-23 15:56:56

ответ

1

Из того, что я знаю, mp3-сжатие идет очень грубо что-то вроде этого:

  1. принимает кадр образцов
  2. преобразует их в диапазоне частот
  3. капель частоты, которые ниже определенного порога (который является сжатием)

Итак, если у вас есть только mp3-данные, у вас должны быть фрагменты/кадры с частотами (с индексом). Чтобы смешивать потоки, вам нужно взять соответствующие кадры из каждого потока и построить новый кадр, например, состоят из f (idx) = fA (idx) + fB (idx)/2. Имейте в виду, что кадры имеют разную длину, потому что не все индексы (idx) присутствуют, а это потому, что некоторые частоты снижаются для сжатия. Надеюсь, что это поможет в начале. Я знаю, что это не полное решение.

Смежные вопросы