在加密文件中将语音数据记录并写入字符串

时间:2014-01-16 14:17:08

标签: python audio encryption aes audio-recording

我已经为数据加密编写了AES,我的代码能够加密文本文件,同时一次挑选32个字节......我现在也想加密录制的语音,

这是我到目前为止所做的,

import pyaudio
import wave
import sys

CHUNK = 1024
FORMAT = pyaudio.paInt16
CHANNELS = 2
RATE = 44100
RECORD_SECONDS = 5
WAVE_OUTPUT_FILENAME = "R_Voice.wav"

p = pyaudio.PyAudio()

stream = p.open(format=FORMAT,
                channels=CHANNELS,
                rate=RATE,
                input=True,
                frames_per_buffer=CHUNK)

print("The Voice is being Recorded........")

frames = []

for i in range(0, int(RATE / CHUNK * RECORD_SECONDS)):
    data = stream.read(CHUNK)
    frames.append(data)

print (frames)
f = open("abc.txt",'w')
f.write(str(frames))
f.close()

frames[]由录制语音的十六进制数据组成我想将此数据作为字符串写入文件,所以我这样做了(如上所示)

 f.write(str(frames))

但是当我在执行程序后看到文件abc.txt中的数据时,它就是这种形式,完整的数据在一行中,通常会挂起我的Raspberry Pi。

['7\xe47\xe4O\xe4O\xe4N\xe4N\xe4A\xe4A\xe4F\xe4F\xe4C\xe4C\xe4H\xe4H\xe4Y\x

我应该如何将其转换为字符串以便我可以对其进行加密?

1 个答案:

答案 0 :(得分:1)

使用

with open("filename", 'w') as outFile:
  for frame in frames:
    outFile.write(frame)

将所有帧作为字节流连接到该文件中。