def my_record(self):
while self.start_flag == 1:
pa = PyAudio()
stream = pa.open(format=paInt16, channels=1, rate=self.framerate, input=True,
frames_per_buffer=self.NUM_SAMPLES)
save_buffer = []
count = 0
while count < self.TIME * 20:
string_audio_data = stream.read(self.NUM_SAMPLES)
audio_data = np.fromstring(string_audio_data, dtype=np.short)
large_sample_count = np.sum(audio_data > self.LEVEL)
print large_sample_count
if large_sample_count < self.mute_count_limit:
self.mute_begin = 1
else:
save_buffer.append(string_audio_data)
self.mute_begin = 0
self.mute_end = 1
count += 1
if (self.mute_end - self.mute_begin) > 9:
self.mute_begin = 0
self.mute_end = 1
break
if self.mute_begin:
self.mute_end += 1
print '.'
save_buffer = save_buffer[:]
# my_buf.append(string_audio_data)
# count+=1
# print '.'
if save_buffer:
if self.file_name_index < 11:
pass
else:
self.file_name_index = 1
filename = str(self.file_name_index) + '.wav'
self.save_wave_file(filename=filename, data=save_buffer)
self.writeQ(queue=self.wav_queue, data=filename)
self.file_name_index += 1
print filename, 'saved'
else:
print 'file not saved!'
# self.save_wave_file('01.wav',my_buf)
save_buffer = []
stream.close()
评论列表
文章目录