Объединение нескольких аудио файлов в Python (с задержкой) - PullRequest
1 голос
/ 03 января 2011

Я собираюсь объединить ряд различных аудиофайлов (mp3) в Python. Одним из требований является то, что мне нужно иметь возможность указать задержку в конце каждого файла. Для иллюстрации что-то вроде:

[file1.mp3 -------- 3 секунды ----------] [задержка --------- 2 секунды --------] [file2.mp3] ------------- 4 секунды] [задержка --------- 2 секунды] [file3.mp3 ---------- 3 секунды ---------]

Кто-нибудь здесь знает о каких-либо библиотеках mp3, которые могут это сделать? Python на самом деле не является необходимостью здесь. Если на другом языке будет легче, то все будет в порядке.

Ответы [ 2 ]

2 голосов
/ 03 января 2011

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

0 голосов
/ 03 ноября 2013

Чтобы объединить файлы WAV или AIFF, вы можете сделать что-то вроде этого: (вдохновение от здесь )

import aifc

def concatenate(*items):
    data = []

    for item in items:
        f = aifc.open(item, 'rb')
        data.append([f.getparams(), f.readframes(f.getnframes())])
        f.close()

    output = aifc.open('output.aif', 'wb')
    output.setparams(data[0][0])

    for item in data:
        output.writeframes(item[1])

    output.close()

См. Ссылку для формата wav (он почти такой же, но с библиотекой wave)

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...