that_one_nigga_you_k

sincronizar

Feb 12th, 2025
57
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.23 KB | None | 0 0
  1. import numpy as np
  2. import librosa
  3. from scipy.signal import correlate
  4.  
  5. def find_sync_offset(audio1, audio2, sr):
  6.     """
  7.    Encontra o deslocamento necessário para sincronizar dois áudios.
  8.    """
  9.     print("Calculando correlação cruzada...")
  10.     correlation = correlate(audio1, audio2, mode='full')
  11.     print("Correlação cruzada calculada.")
  12.  
  13.     delay = correlation.argmax() - len(audio2) + 1
  14.     delay_seconds = float(delay) / sr
  15.  
  16.     return delay_seconds
  17.  
  18. def main():
  19.     # Caminhos para os arquivos de áudio dos vídeos
  20.     audio1_path = "/home/narciso/Videos/moses_audio.wav"
  21.     audio2_path = "/home/narciso/Videos/eu_audio.wav"
  22.  
  23.     print("Carregando áudios...")
  24.     audio1, sr1 = librosa.load(audio1_path, sr=None)  # Começa a partir do segundo 38
  25.     audio2, sr2 = librosa.load(audio2_path, sr=None)
  26.     print("Áudios carregados.")
  27.  
  28.     # Verifica se as taxas de amostragem são iguais
  29.     if sr1 != sr2:
  30.         raise ValueError("As taxas de amostragem dos áudios devem ser iguais.")
  31.  
  32.     print("Encontrando deslocamento...")
  33.     offset = find_sync_offset(audio1, audio2, sr1)
  34.     print(f"Deslocamento necessário para sincronizar os áudios: {offset:.2f} segundos")
  35.  
  36. if __name__ == "__main__":
  37.     main()
Add Comment
Please, Sign In to add comment