Как синхронизировать два аудио файла в python? - PullRequest
1 голос
/ 31 октября 2019

У меня есть два коротких 2-3-минутных файла .wav, которые были записаны в течение 1 минуты. Они могут быть где угодно от 0 до 60 секунд. Я хотел бы синхронизировать их вместе. Существует сигнал синхронизации, который воспроизводится и присутствует в обоих аудиофайлах. В них очень мало звука, кроме громкого синхронизирующего тона, это очень очевидно, если смотреть в отвагу.

Я перепробовал все решения, перечисленные здесь Автоматически синхронизируйте две аудиозаписи в python , и ни одна из них не работает. Все они сталкиваются с одной и той же проблемой, когда добираются до этого метода:

def find_freq_pairs(freqs_dict_orig, freqs_dict_sample):
    time_pairs = []
    for key in freqs_dict_sample.keys():  # iterate through freqs in sample
        if freqs_dict_orig.has_key(key):  # if same sample occurs in base
            for i in range(len(freqs_dict_sample[key])):  # determine time offset
                for j in range(len(freqs_dict_orig[key])):
                    time_pairs.append((freqs_dict_sample[key][i], freqs_dict_orig[key][j]))

    return time_pairs

Каждый раз, когда внутренний цикл for заканчивается тем, что приходится выполнять (500k ^ 2) итераций для каждого из 512 ключей в freqs_dictСловарь. Это займет много месяцев, чтобы бежать. Это с двумя 3-4 секундными аудиофайлами. С 1-2-минутными аудиофайлами это было (5м + * 5м +) итераций. Я думаю, что, возможно, библиотека порвала с python3, так как все в этом потоке, казалось, были довольны ...

Кто-нибудь знает лучший способ синхронизации двух аудиофайлов с python?

Спасибо

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