- 本课程为精品课,您可以登录eeworld继续观看:
- TI 甘为 AI 大脑的顺风耳.P2
- 登录
- 课程目录
- 相关资源
- 课程笔记
云处理 我们今天的Topic主要是指(包括TI)前端 前处理
因为后处理主要是一个AI的算法或者说是云端
所以说语音识别的应用上各有专长
因为它有这个专长的话
就随便找那个ARM或者说用云端吧
就不需要专门来说这个事情
就是这个应用技术的关键点或者说是瓶颈
其实是在前处理
这是大家来区分产品好坏的一个关键点
谁前处理做得好
谁的产品 比如说识别率 优化率这些指标就会更好
基本上是这么一个概念
前处理从TI能提供的芯片的device来说
我们有两个方向可以选择
一个是C5000的低功耗一个低功耗
一个是C6000高性能
C5000的低功耗呢
当然因为我们的主频限制50M或者到200MHz
目前我们的C5000是这么一个水平
所以说你要做很多Micro
或者说很多功能都加进去的话
可能不一定够
就是说你要去权衡你加进去的一些算法
以及Micro数啊做一个权衡
是选C5000够不够的这个问题需要进一步的确认
当然首先你低功耗要求比较苛刻的话
可能就只能在C5000里面来做选择
只能在基本的功能上做一些平衡
有些你想的很好的功能可能就不能搬进去了
C6000就是高性能 高性能呢
C5000和C6000虽然都是TI的DSP但他们之间是没有间隔性的
因为芯片的架构完全不一样则连接不一样
基本上从理论上
C6000 C5000有可能是一个同频4倍以上性能的提升
C6000目前我们主打的是
C6743 它其实在C6000里面也算是低功耗的产品
主频最高456M
片刻内存也还可以 有三百多K
它的I2S接口
就是说MCASP我们有16个脉
也就是说可以支持16个通道的I2S
其中的方向是灵活可配的
所以基本上对Micro数没有限制
TI基于C5000 C6000我们做了一个TI Designs
就是说仓口设计
就是硬件基本上一般是基于开发吧
这个设计主要是软件
大家如果有这个power板的话可以下载它的软件下来试一试
这里面的软件包括Voice Trigger也是TI的一个识别
但它指的是英文
回声消除
其实回声消除很多产品下大家都有这个需求
当然 因为它不是一个简单的概念
回声消除涉及到各种指标的一个需求
比如说你的延时长度
比如说回声你要消的是D级声还是单声道
这都不一样 所以它里面很多需要调整
所以说用EC的话大家需要有这方面的一个知识背景
当然
如果你有这个知识背景
再去看我们提供的算法用起来会方便一些
如果不懂这方面的话
用起来还是会有些你需要去研究的地方
前面是C5000的Voice Trigger一个简单的参考设计
这里讲的是基于我们的语音识别预处理的一个参考设计
算法不一样就把前处理这一块都换进去了
这是基于C6000K2G做的同样的一套前处理的一直到KWS
就是有关进制唤醒这一部分的软件
这个图 这个硬件中间是一个K2G的原板
左边圆形的是我们一个环形的麦克风阵电
这个都在我们的官网上可以直接订购
如果有兴趣需要拿来评估的话
因为其实做一个语音识别系统的话
这个麦克风阵电摆放的位置等等都是有讲究有要求的
我们的这个麦克风把
是一个7+1的环阵
中间一个 作为一个参考麦克风
作为17个
我们也会有一个4Micro的线阵
就是直的 线阵
然后很快也会放到网上来
然后这个环阵呢
可以跟我们的SK2GCDU74X以及C5517开发板
都可以连接我们提供的相应的TI Designs的软件包
就是直接可以在上面弄可以看到效果
可以去调整你的算法
可以加入你们的算法
左边这个黑色的4个Micro就是我们马上要推出的4个Micro的线阵
因为针对于不同的产品
有的比如说你的产品是放在桌子上的
那肯定需要一个环阵要360度去唤醒它
或者去跟它通讯交流
比如说挂在墙上的产品
比如说空调 电视机等等一般放在墙上的产品的话
它就不需要四格环阵不是360度是180度的 所以线阵就可以了
这样效果会更好
比如说现在你的beamforming的话
你拿到的比如说是4Micro的话
你只是4个Micro的beanforming的一个提升
环阵的话一般来说
你一个对角线这种的话
就是中间有一个你就是对角只有三个麦克风
拿到的信号的能量是不一样的
所以真正的线阵比环阵效果可能还要好一些
我们的这个demo里面
就是那个KWS 就是说唤醒那一块
唤醒那一块用的是第三方的这个唤醒用的是第三方的
因为它支持各种语言
sensory 它是一家专门做唤醒或者说语音识别的一家公司
它不做前处理 它只做识别这一块
目前很多这个语音识别的产品
里面用的其实很多都是sensory的
当然慢慢的也会有很多其他家也做得很好的
这里只是声明一下里面做的那个
因为后面假如用TI的平台用到这一块的话呢
因为后面识别的这一块还是要自己去跟sensory去谈的
因为不是TI的
这个图呢就比较清晰了
就是说这个从声音 信号进来的流程到一些算法的流程
左边是声音
比如说 1到8Mic的这种那个板是八个Mic
最终用户你可以 比如说4Mic比如说6Mic 都无所谓
声音信号进来之后
经过做beamforming算法
如果是说还要做AEC的话
有可能在beamforming之前就要做一个AEC的
因为每个麦克风都采集了你放出去的声音
如果你有本地扩音这种产品的话
在做AEC板的时候你有多出多少个麦克风通道
就要做多少的路的AEC
可以说这个处理量是非常大的
在beamforming
在做这个支持云降噪
看你是用哪种的算法
TI我们也有算法来做 你自己实现了
之后你可能得出一个相对比较干净的信号
然后再来从选择是哪一路
麦克风或者是哪一路方向的beamforming信号
作为最终输送去做识别引擎
这是sensory大家可以去它的网站上
去了解它基于哪些平台 或者是做的哪些语音识别方面的一些成功案例
大家现在在TI的平台上是做了C5000版本的移植
我们后面也在做C6000版本的移植
这是目前TI在TI Designs
在自己的平台上评估下来的一个性能需求
所以从这里可以看到我们的比如说C5535到C5517
各适合于做多少个麦克风 阵列 预处理
需要多少的处理能力
以及内存大小
不过这个表里面是没有包括AEC的算法进来
因为不是所有的产品都需要AEC
只有那种本地有回放的才需要AEC
如果加AEC的话 就还要考虑到几个通道AEC的处理能力
以及内存需求
这个表加上了KWS的唤醒
就语音识别的唤醒值
这部分的内存需求
那就是说如果选择TI的平台
那如何开始
TI的平台 就是C5000 C6000 K2G开发板
以及CNB麦克风硬件板
软件TI到底提供哪些东西
就预处理需要哪些
一般来说是包括哪些算法
TI的以及提供的情况如何
首先就是说
DSP库
DSP库就是那些ft ift以及fir等等这些录合器
这些都是在DSP库里面
不管C5000 C6000TI都做了不同版本的提供
可以在官网上直接免费下载
还有AEC
就是AEC以及AER 这里面包括
自动阵列控制
均衡等等动态范围压缩
声音降噪 都放到一起了
你可以在TI的官网上直接搜搜到它的链接
还有VoLIB
里面包括一些voice的检测
以及语音增强
这是做VIP的一个库
VIP的一个库
里面包括一些跟语音相关的VIP也是跟voice相关的
就是预处理它不是一个单一的概念
就是我们提供的前面这些
当然不仅仅是这些
可能你还有更多的自己的想法来实现一些其它的算法
来提高你的处理或者效果
因为它不像一个标准
比如说打个比方
比如说264264它就公式给你的
就是把一个low data转成264的文件
而预处理它不是这样
就包括video做图像
预处理也是一样的一个道理
它不是一个标注格式的东西
你可以加很多很多自己的算法进去也可以
TI提供的很多已经提供的大部分的通用的一些算法
用TI的平台可以有一个很好的开始
OPUS这是指你处理好的声音
你要是交给云端做一个打包
dm码打包交给云端去识别的一个格式
课程介绍
共计4课时,2小时6分10秒
猜你喜欢
换一换
推荐帖子
- TI UCC25800中限流是否是连续可调的,RTH不在范围内会有什么影响
- UCC25800中的限流是否是连续可调的,如果RTH不在这几个范围内会有什么影响呢? ...
- xiaoming888 模拟与混合信号
- 这中断是咋回事??
- 最近在调CC1101,中断本来就已经调好了的,,,无奈又出毛病了,,,找不出哪有毛病,就重新建了一个工程,单独做个中断,,就是LAUNCHPAD上面那两个按钮,按一下进入中断把灯点亮. 结果竟然不行......也找不出毛病在哪....... #include "inc/hw_memmap.h" #include "inc/hw_types.h" #include "inc/hw_ints....
- zgbkdlm 微控制器 MCU
- 【仅针对在职工程师】2013年5月 TI 微控制器研习班正式招募中!!!
- 德州仪器 (TI) 微控制器研习班 5 月份课程现已开始报名!在原有产品线相关培训的基础上,今年我们将陆续推出各种"应用层级"的培训,带您每周与 TI 工程师零距离接触,近距离领略 TI MCU 的性能优势,更有动手实验助您深度了解实际应用,加速开发进程。名额有限,报名从速! 立即报名:http://www1.ti.com.cn/ti-course/Submit.aspx?courseID=1研...
- EEWORLD社区 微控制器 MCU
- 单片机沉思录——static
- 在C语言中,static的字面意思很容易把我们导入歧途,其实它的作用有三条。 (1)先来介绍它的第一条也是最重要的一条:隐藏。 当我们同时编译多个文件时,所有未加static前缀的全局变量和函数都具有全局可见性。为理解这句话,我举例来说明。我们要同时编译两个源文件,一个是a.c,另一个是main.c。 char a = 'A'; v...
- fish001 微控制器 MCU