Audio.py 文件源码

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

项目:assistant 作者: yjoe0 项目源码 文件源码
def startAccord(self, Times=100):
    # ??????
    pa = PyAudio() 
    if not self.SAMPLING_RATE:
        setAudio(self)
    stream = pa.open(format=paInt16, channels=1, rate=self.SAMPLING_RATE, input=True, 
                    frames_per_buffer=self.NUM_SAMPLES) 

    save_count = 0 
    save_buffer = [] 

    while True: 
        #????
        if Times != 100:
            Times -=1
        # ??NUM_SAMPLES???
        string_audio_data = stream.read(self.NUM_SAMPLES) 
        # ???????????
        audio_data = np.fromstring(string_audio_data, dtype=np.short) 
        # ????LEVEL??????
        large_sample_count = np.sum( audio_data > self.LEVEL ) 
        if self.debug:
            print np.max(audio_data) 
        # ??????COUNT_NUM??????SAVE_LENGTH??
        if large_sample_count > self.COUNT_NUM: 
            save_count = self.SAVE_LENGTH 
        else: 
            save_count -= 1 

        if save_count < 0: 
            save_count = 0 

        if save_count > 0: 
            # ??????????save_buffer?
            save_buffer.append( string_audio_data ) 
        else: 
            # ?save_buffer??????WAV???WAV????????????
            if len(save_buffer) > 0: 
                filename = "tmp.wav" 
                cacheFile = save_wave_file(self, filename, save_buffer) 
                save_buffer = [] 
                stream.close()
                if self.debug:
                    print "saved audio stream" 
                return cacheFile
                break
        if Times < 0:
            stream.close()
            return False
            break
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号