2216|3

1239

帖子

66

TA的资源

纯净的硅(中级)

楼主
 

基于平头哥RVB2601的声纹采集系统 [复制链接]

 

在设备监测领域,随着人工智能技术的发展,声纹监测技术近年来日益成熟,声纹监测就是对设备运行过程产生的声音(20Hz~20kHz)进行监测,通过分析软件判断设备运行工况。平头哥RVB2601开发板拥有双路麦克风、音频code芯片,可以完成声纹采集系统中最重要的音频采集任务。

本次使用的RVB2601开发板基于平头哥CH2601设计,板载JTAG调试器、WiFi芯片W800音频采集ES7210、数字麦克风、12864 OLED显示屏、RGB三色灯用户按键。通过麦克风采集音频经过ES7210读取到音频PCM数据,添加WAV文件头形成一定时长的wav文件存储到基于本地flash的文件系统,运行嵌入式web服务器便于通过浏览器访问播放音频,12864和按键、RGB三色灯用于人机交互。

RVB2601通过I2C接口控制ES7210,通过I2S接口读取PCM数据,通过SPI接口与WIFI芯片 W800通讯,通过SPI接口控制OLED屏幕,通过GPIO驱动按键和三色RGB灯

音频采集代码参考例子ch2601_ft_demo

void cmd_ft_mic_handler(uint32_t channel_status)

{

csi_error_t ret;

csi_codec_output_config_t output_config;

csi_codec_input_config_t input_config;

ret = csi_codec_init(&codec, 0);

if (ret != CSI_OK)

{

printf("csi_codec_init error\n");

return ;

}

codec_output_ch.ring_buf = &output_ring_buffer;

csi_codec_output_open(&codec, &codec_output_ch, 0);

/* output ch config */

csi_codec_output_attach_callback(&codec_output_ch, codec_output_event_cb_fun, NULL);

 

output_config.bit_width = 16;

output_config.sample_rate = 8000;

output_config.buffer = output_buf;

output_config.buffer_size = OUTPUT_BUF_SIZE;

output_config.period = 1024;

output_config.mode = CODEC_OUTPUT_SINGLE_ENDED;

csi_codec_output_config(&codec_output_ch, &output_config);

csi_codec_output_analog_gain(&codec_output_ch, 0xbf);

csi_codec_output_buffer_reset(&codec_output_ch);

 

csi_codec_output_link_dma(&codec_output_ch, &dma_ch_output_handle);

 

codec_input_ch.ring_buf = &input_ring_buffer;

csi_codec_input_open(&codec, &codec_input_ch, 0);

/* input ch config */

csi_codec_input_attach_callback(&codec_input_ch, codec_input_event_cb_fun, NULL);

input_config.bit_width = 16;

input_config.sample_rate = 8000;

input_config.buffer = input_buf;

input_config.buffer_size = INPUT_BUF_SIZE;

input_config.period = 1024;

input_config.mode = CODEC_INPUT_DIFFERENCE;

csi_codec_input_config(&codec_input_ch, &input_config);

csi_codec_input_analog_gain(&codec_input_ch, 0xbf);

csi_codec_input_link_dma(&codec_input_ch, &dma_ch_input_handle);

 

if (channel_status == 0)

{

es8156_all_data_left_channel(&es8156_dev);

}

else

{

es8156_all_data_right_channel(&es8156_dev);

}

printf("start repeater\n");

csi_codec_output_start(&codec_output_ch);

csi_codec_input_start(&codec_input_ch);

uint32_t times = 0U;

uint32_t read_size = 0U;

while (1)

{

while (new_data_flag < 48)

{

if (cb_input_transfer_flag)

{

read_size = csi_codec_input_read_async(&codec_input_ch, repeater_data_addr + (new_data_flag * 1024), 1024);

LOGD(TAG,"read size:%d",read_size);

cb_input_transfer_flag = 0U;

new_data_flag ++;

}

}

new_data_flag=0;

led_refresh_low();

led_refresh_high();

ft_led_refresh();

 

aos_msleep(100);

}

printf("stop repeater\n");

csi_codec_input_stop(&codec_input_ch);

csi_codec_output_stop(&codec_output_ch);

csi_codec_input_link_dma(&codec_input_ch, NULL);

csi_codec_output_link_dma(&codec_output_ch, NULL);

csi_codec_output_detach_callback(&codec_output_ch);

csi_codec_input_detach_callback(&codec_input_ch);

csi_codec_uninit(&codec);

return;

}

五、作品源码

ch2601_my_project.7z (557.22 KB, 下载次数: 5)

六、视频演示(视频简介+链接)

七、项目总结(项目文字总结+帖子分享链接汇总)

非常感谢eeword和平头哥举办的活动,本次活动体验了平头哥的开发生态,aos是十分优秀的RTOS,CDK虽然使用感觉不是很流畅,但是功能十分强大,能够方便快捷的下载、管理软件组件。本来是计划将采集的音频PCM数据增加WAV文件头后存储到文件系统,然后运行一个嵌入式web服务器,这样通过浏览器能够访问采集的音频wav文件,但是折腾了一段时间,没有成功的将基于内部flash的文件系统调试成功因此本次只能采集到PCM音频数据,预期的功能无法实现,等后续这方面的资料丰富起来再折腾看看。

八、其他

平头哥RVB2601活动作品提交.docx (114.2 KB, 下载次数: 9)

 

 

最新回复

视频看不到 还有其他演示吗 能实现什么效果  详情 回复 发表于 2022-6-8 09:35
点赞 关注
 
 

回复
举报

7047

帖子

11

TA的资源

版主

沙发
 
功能十分强大了,学习了,谢谢分享!
 
 
 

回复

4942

帖子

12

TA的资源

版主

板凳
 
这个音频采集还是蛮好的,一般来说,声音经过背景去噪滤波,还需要好几步,或者要读特定的话,来确保某些发音都涵盖掉,来满足声纹。
 
 
 

回复

9797

帖子

24

TA的资源

版主

4
 

视频看不到 还有其他演示吗 能实现什么效果

 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/6 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表