k210实现麦克风阵列声源定位

这篇具有很好参考价值的文章主要介绍了k210实现麦克风阵列声源定位。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

import sensor

import image

import lcd

import time

import KPU as kpu

from fpioa_manager import *

from Maix import GPIO

# 设置麦克风阵列

fm.register(board_info.MIC_ARRAY_DATA, fm.fpioa.I2S0_IN_D0, force=True)

fm.register(board_info.MIC_ARRAY_WS, fm.fpioa.I2S0_WS, force=True)

fm.register(board_info.MIC_ARRAY_BCK, fm.fpioa.I2S0_SCLK, force=True)

# 初始化LCD

lcd.init()

lcd.rotation(2)

# 初始化麦克风阵列

mic_dev = I2S(I2S.DEVICE_0)

# 设置麦克风阵列参数

sample_rate = 32000

record_time = 5000

samples_per_record = sample_rate * record_time // 1000

mic_dev.sample_rate(sample_rate)

# 初始化KPU

lcd.draw_string(100, 100, "Initializing KPU...")

sensor.reset()

sensor.set_pixformat(sensor.RGB565)

sensor.set_framesize(sensor.QVGA)

sensor.set_vflip(1)

sensor.run(1)

sensor.skip_frames(30)

lcd.draw_string(100, 100, "Loading Model...")

task = kpu.load(0x300000)

# 循环读取麦克风数据并进行声源定位

while True:

    try:

        lcd.draw_string(100, 150, "Recording...")

        mic_dev.rec(samples_per_record)

        lcd.draw_string(100, 150, "Processing...")

        pcm_data = mic_dev.record_read(samples_per_record)

        pcm_data = bytes([int(i / 256) for i in pcm_data])

        a = kpu.forward(task, pcm_data)

        output = kpu.get_output(task, 0)

        max_index = output.index(max(output))

        lcd.draw_string(100, 200, "Sound from direction: %d" % max_index)

    except Exception as e:

        print(e)

        lcd.draw_string(100, 200, "Error occurred!")

        continue

# 释放资源

mic_dev.deinit()

kpu.deinit(task)文章来源地址https://www.toymoban.com/news/detail-629969.html

到了这里,关于k210实现麦克风阵列声源定位的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 基于K210的声源定位系统

    2022年全国大学生电子设计竞赛——声源定位跟踪系统(E题) 设计一种能够检测声音源的偏航角、俯仰角及距离来定位和指示声源的装置。水平方向上采用K210结合麦克风阵列采集不同方向麦克风的强度,从而计算偏航角和距离;从而控制舵机,将激光笔指到声源位置。 所需硬件

    2024年02月13日
    浏览(24)
  • STM32驱动INMP441麦克风实现左右通道声音采集

    注意INMP441的第4引脚,用来选择左声道还是右声道。 代码使用cubemx生成 根据以上说明,最后一个参数size的单位是由数据帧的长度决定的。前面在Cube中设置的数据格式为24 Bits Data on 32 Bits Frame,因此DMA读取数据的总长度为size×4字节。前面定义的DMA缓冲区是一个长度为4的uint3

    2024年02月14日
    浏览(44)
  • Qt 实现的万能采集库( 屏幕/相机/扬声器/麦克风采集)

    【写在前面】          之前应公司需要,给公司写过一整套直播的库( 推拉流,编解码),类似于 libobs 。         结果后来因为没有相关项目,便停止开发维护了。         不过里面很多有用的组件,然后也挺好用的,遂开源出来一部分。         因此,本篇就简单讲

    2024年04月27日
    浏览(24)
  • web端调用本地摄像头麦克风+WebRTC腾讯云,实现直播功能

    视频直播技术大全、直播架构、技术原理和实现思路方案整理 视频采集端: 1、视频采集:使用摄像头设备获取实时视频流。 2、视频处理: 对采集到的视频进行处理,可以包括美颜、滤镜、水印等效果的添加。 3、音视频编码压缩: 将处理后的音视频数据进行编码压缩,常

    2024年02月10日
    浏览(36)
  • 音频——数字麦克风和模拟麦克风(DMIC/AMIC)

    麦克风 (microphone):是将声音信号转换为电信号的能量转换器件,也就是用来采集你说话的声音 扬声器 (speaker):是一种把电信号转变为声信号的换能器件,就是把对方说话产生的电信号转换成声音播放出来。 简单来说,麦克风的功能是采集声音,扬声器的功能是播放声音。

    2024年02月10日
    浏览(62)
  • 麦克风分类汇总

    1)按声电转换原理分为:电动式(动圈式、铝带式),电容式(直流极化式)、压电式(晶体式、陶瓷式)、以及电磁式、碳粒式、半导体式等。 2)按声场作用力分为:压强式、压差式、组合式、线列式等。 3)按电信号的传输方式分为:有线、无线(无线麦克风分为三个频段,

    2024年02月09日
    浏览(38)
  • 电脑麦克风没声音?

    这3招就可以解决! 在我们使用电脑录制视频时,有时会遇到一个令人头疼的问题:麦克风没有声音。那么,为什么会出现这种情况呢?更重要的是,我们应该如何解决这个问题呢?本文将介绍3种方法,帮助您解决麦克风没有声音的难题! 方法一:通过声音设置来调整麦克风

    2024年02月13日
    浏览(37)
  • 成功解决电脑麦克风不管用、电脑无法录制声音之出现的麦克风Realtek(R) Audio未插入

    成功解决电脑麦克风不管用、电脑无法录制声音之出现的麦克风Realtek(R) Audio未插入 目录 1.解决问题 2.解决方法 电脑无法录制声音,经过查看发现问题,麦克风Realtek(R) Audio未插入 搜索框输入Realtek Audio Console→麦克风阵列→点击取消静音,即可! 哈哈,大功告成! 完工了!!

    2024年02月11日
    浏览(53)
  • mac 麦克风权限添加应用

    系统偏好设置 - 安全性与隐私 - 麦克风  右侧无 \\\"+\\\" 图标 没办法添加应用的麦克风权限 准备工作: 获取 游戏/程序 包名 找到安装应用的目录(下文是网易的 荒野行动 游戏),可以访达里搜 荒野行动 ,找到对应目录,找到目录下的一个Info.plist 文件,右键用 文本编辑.app或者其

    2024年02月06日
    浏览(53)
  • ARM DIY(七)麦克风调试

    上篇文章介绍了扬声器调试,今天介绍下麦克风调试。 焊接:咪头、电阻、电容 音频调试时已完成,参考上篇文章 使能 mic1 录音 10s -f 是设置录音质量, -f cd 表示录音质量为 cd 级别。-d 是指定录音时间,单位是 s,这条指令就是录制一段 cd 级别 10s 的 wav 音频,音频名字为

    2024年02月10日
    浏览(30)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包