audio_localizer.py 文件源码

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

项目:speaker_recognizer_robot 作者: shrutiyer 项目源码 文件源码
def angle_from_audio(self, file_name, chunks):
        [rate, wave] = wavfile.read(file_name)
        raw_0 = wave[:, 0].astype(np.float64)
        raw_1 = wave[:, 1].astype(np.float64)

        for i in range(1, chunks):
            start = i*chunks
            end = (i+1)*chunks

            left = raw_0[start:end]
            right = raw_1[start-self.buffer:end+self.buffer]

            corr_arr = np.correlate(right, left, 'valid')   
            max_index = (len(corr_arr)/2)-np.argmax(corr_arr) 
            time_d = max_index/float(rate)
            signal_dist = time_d*self.sound_speed

            if (signal_dist != 0 and abs(signal_dist)<=self.mic_dist):
                angle = math.degrees(math.asin( signal_dist / self.mic_dist))
                self.angles.append(angle)

        a = np.array(self.angles)
        hist, bins = np.histogram(a, bins=10)

        # width = 0.7 * (bins[1] - bins[0])
        # center = (bins[:-1] + bins[1:]) / 2
        # plt.bar(center, hist, align='center', width=width)
        # plt.xlabel('Angle (degrees)', fontsize=16)
        # plt.show()

        index = np.argmax(hist)
        self.angle_pred = bins[index]

        print self.angle_pred
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号