Вам нужно будет декодировать mp3 в волновой формат, выполнить микширование, а затем закодировать его обратно в формат mp3.
Кто-то должен будет указать вам некоторые mp3-библиотеки. Я могу помочь вам с фактическим сведением.
Это круто, как это работает на самом деле. Звуковой файл - это просто набор амплитудных выборок, записанных с определенным интервалом. Это, например, может быть звук:
0, 12, 128, 14, -1, -13, -128, -64, -32
Хорошо, это действительно короткий звук, но держись за меня. Скажем, я хочу смешать вышеуказанный звук с этим звуком:
10, -12, -100, -150, -75, -25, -12, -0
Это классная часть, мы просто сложим вместе два массива:
10, 0, 28, -136, -76 ...
0 + 10 = 10
12 + -12 = 0
128 + -100 = 28
...
Единственное, что вам действительно нужно остерегаться - это тот факт, что есть пределы амплитуд, которые вы можете сохранить в волновом файле. Большинство этих дней 16-битные, но вы все равно можете создавать 8-битные волновые файлы. Если ваши амплитуды превысят пределы волнового файла, вам придется пойти как можно выше или ниже и ограничить его.
Во всяком случае, это суть. Более тонкие моменты нужно будет проработать.