originalCoverSamples = deepcopy(samplesOne) if (audioOrText == True): message = "" message = fp.getMessageBits('C:/Users/Johan Gouws/Desktop/Audio-Steganograpy/src/Media/text.txt') message = list(map(str, message)) message = "".join(message) originalMessage = deepcopy(message) message = AES.encryptBinaryString(message, AESkeyEncode) message = list(map(int, list(message))) message = "".join(list(map(str, message))) else: # Get the audio samples in integer form intSamples = fp.extractWaveMessage('C:/Users/Johan Gouws/Desktop/Audio-Steganograpy/src/Media/ShortOpera.wav') rate,originalDecSamples=scWave.read('C:/Users/Johan Gouws/Desktop/Audio-Steganograpy/src/Media/ShortOpera.wav') # Convert to integer list of bits for embedding message = "".join(intSamples[0]) originalMessage = deepcopy(message) message = AES.encryptBinaryString(message, AESkeyEncode) message = list(map(int, list(message))) message = "".join(list(map(str, message))) currentTime = time.time() stegoSamples, samplesUsed, capacityWarning = dwtScale.dwtScaleEncode(samplesOne, message, '.txt', LSBs[LSB_index]) totalEncodingTime[LSB_index] += time.time() - currentTime if (capacityWarning == True):
x = pywt.data.ecg() plt.figure() plt.plot(t,x) if (firstPrinciplesImplement == True): OBH = 0 print("Extracting wave samples") samplesOne, samplesTwo, rate = fp.getWaveSamples("Media/song.wav") print("Extracting message samples") messageObject = wave.open("Media/opera.wav", "rb") # Get the audio samples in integer form intSamples = fp.extractWaveMessage(messageObject) # Convert to integer list of bits for embedding message = "".join(intSamples[0]) message = list(map(int, list(message))) print("Done2") message = "".join(list(map(str, message))) # message = "" # message = fp.getMessageBits("Media/opera.wav") # message = "".join(list(map(str, message))) print(len(message)) print("Encoding") stegoSamples, samplesUsed, capacityWarning = dwtOBH.dwtHaarEncode(samplesOne, message, OBH, 512, ".wav")
RT.getCapacity(secretMessage, samplesUsed, frameRate)) + " kbps." return stegoSamples if (testAudioMessage == True): print("##################################################") print("# Hiding opera.wav into song.wav #") print("##################################################") secretMessage = "" # Get the audio samples in integer form converted to binary print("Getting message samples") intSamples = fp.extractWaveMessage("Media/opera.wav") # Convert to integer list of bits for embedding secretMessage = "".join(intSamples[0]) secretMessage = list(map(int, list(secretMessage))) print("Getting cover samples") coverSamplesOne, coverSamplesTwo, rate = fp.getWaveSamples( "Media/song.wav") for i in range(0, len(coverSamplesOne)): if (coverSamplesOne[i] <= -32768): coverSamplesOne[i] += 1 coverSamples = [coverSamplesOne, coverSamplesTwo]
coverFiles = coverFiles[0:numSongsPerGenre] for t in coverFiles: # Receive the message file fileType = '.txt' samplesOne, samplesTwo, rate = fp.getWaveSamples(t) message = "" AESkeyEncode = 'AES_KEY' if (fileType == ".wav"): # Get the audio samples in integer form intSamples = fp.extractWaveMessage('Media.ShortOpera.wav') # Convert to integer list of bits for embedding message = "".join(intSamples[0]) message = AES.encryptBinaryCTRString(message, AESkeyEncode) message = list(map(int, list(message))) else: message = fp.getMessageBits('Media/text.txt') message = list(map(str, message)) message = "".join(message) message = AES.encryptBinaryCTRString(message, AESkeyEncode) message = list(map(int, list(message))) LSBs = 1