BgAudio.py 文件源码

python
阅读 20 收藏 0 点赞 0 评论 0

项目:BeltaGo 作者: 54BayMax 项目源码 文件源码
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()
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号