#\!/usr/bin/env python3 import os import sys import time import torch import torchaudio import numpy as np print("=== Teste de Áudio com Medição de Tempo ===") print() # Criar um áudio sintético simples para testar print("Gerando áudio de teste...") start_time = time.time() # Parâmetros do áudio sample_rate = 22050 duration = 5 # segundos frequency = 440 # Hz (nota Lá) # Gerar onda senoidal com envelope t = np.linspace(0, duration, int(sample_rate * duration)) # Adicionar envelope para suavizar início e fim envelope = np.ones_like(t) fade_samples = int(0.1 * sample_rate) # 100ms de fade envelope[:fade_samples] = np.linspace(0, 1, fade_samples) envelope[-fade_samples:] = np.linspace(1, 0, fade_samples) # Gerar áudio com múltiplas frequências (acorde) audio = np.zeros_like(t) frequencies = [440, 554, 659] # Lá maior for freq in frequencies: audio += 0.2 * np.sin(2 * np.pi * freq * t) * envelope # Adicionar um pouco de vibrato vibrato = 0.02 * np.sin(2 * np.pi * 5 * t) # 5Hz vibrato audio = audio * (1 + vibrato) # Converter para tensor audio_tensor = torch.FloatTensor(audio).unsqueeze(0) # Salvar arquivo output_file = "test_audio_timing.wav" torchaudio.save(output_file, audio_tensor, sample_rate) generation_time = time.time() - start_time # Estatísticas file_size = os.path.getsize(output_file) / 1024 # KB print(f"✅ Áudio gerado com sucesso\!") print() print("📊 Estatísticas:") print(f" - Arquivo: {output_file}") print(f" - Duração: {duration} segundos") print(f" - Taxa de amostragem: {sample_rate} Hz") print(f" - Tamanho: {file_size:.1f} KB") print(f" - Tempo de geração: {generation_time:.3f} segundos") print(f" - Velocidade: {duration/generation_time:.1f}x tempo real") print() print("🎵 Áudio contém um acorde de Lá maior com vibrato")