import numpy as np import scipy.io.wavfile as wavfile from pydub import AudioSegment from pydub.generators import Sine # Texto oculto no áudio (para ser revelado via espectrograma) hidden_message = "SUBTERRA42" # Parâmetros do áudio sample_rate = 44100 # Hz duration = 5 # segundos frequency = 440 # tom base (Hz) # Gera um tom base t = np.linspace(0, duration, int(sample_rate * duration), endpoint=False) tone = 0.3 * np.sin(2 * np.pi * frequency * t) # Codifica a mensagem ocultamente modulando a frequência freq_shift = {'A': 10, 'B': 20, 'C': 30, 'D': 40, 'E': 50, 'F': 60, 'G': 70, 'H': 80, 'I': 90, 'J': 100, 'K': 110, 'L': 120, 'M': 130, 'N': 140, 'O': 150, 'P': 160, 'Q': 170, 'R': 180, 'S': 190, 'T': 200, 'U': 210, 'V': 220, 'W': 230, 'X': 240, 'Y': 250, 'Z': 260, '0': 270, '1': 280, '2': 290, '3': 300, '4': 310, '5': 320, '6': 330, '7': 340, '8': 350, '9': 360} # Adiciona variações sutis para esconder a mensagem for i, char in enumerate(hidden_message.upper()): shift = freq_shift.get(char, 0) tone += 0.02 * np.sin(2 * np.pi * (frequency + shift) * t) # Normaliza para salvar tone = np.int16(tone / np.max(np.abs(tone)) * 32767) # Salva o áudio output_path = "/mnt/data/enigma_audio.wav" wavfile.write(output_path, sample_rate, tone) output_path