File size: 1,826 Bytes
b65e164
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
#\!/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")