打印

DIY创意:基于语音识别和合成技术的益智玩具

[复制链接]
8955|40
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
agnd|  楼主 | 2010-1-27 05:41 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
如今孩子们玩具真多。但真正上档次的,应该不但能说话,还能听懂话,更好的是能教孩子说话。可惜这种玩具不多也很贵。
    现在,我们DIY一个这样的玩具似乎不太难。比较低端的ARM系列芯片很便宜,利用其内置的A/D采集MIC的语音,利用其内置的D/A或PWM输出合成的语音,利用其丰富的I/O口和PWM控制LED灯,LCD屏,小电机等,似乎硬件上一片小ARM就足以搞定。当然,要合成大量语音,取得好音质(起码能与公交报站器相比),可能还要外扩一个类似SD卡等的大容量FLASH存储器。
    当然问题的关键,还是在软件。但当今时代,能想到的似乎都最终能做到:早在NN年前,电脑上就出了汉字语音录入软件,通过简单学习用来录入汉字都不成问题,识别
几个固定短语更不在话下;N年前手机里的主控芯片可能比现在最快的ARM7(108Mhz)快不了多少,照样实现了语音拨号。再说语音合成,从8位单片机控制的报站器和NN年前运行于40Mhz的16位80286上的语音校对软件看来,比语音识别似乎更容易的多。
    特别是最近,我偶然发现了一款似乎就是为我们这个DIY量身定做的ARM7芯片,具体型号就不多说了,免得以为我是在为其做广告,但我相信大家一定能很容易搜到并了解熟悉它。
    因此,我个人感觉这个DIY项目的可行性很大。前期我们可以先从简单入手,比如,一个语音识别遥控的智能小车,或者把它装扮成机器小动物,它能经过“学习”听懂人话执行前进、后退,左右转向,加速减速等。然后,我们可以把它扩展为一个智能机器人,能用语音合成回答一些实时问题:比如“几点了?”,“温度?”等,还可以做成语音计算器,你问它“1+1”它能用语音回答说“等于2”。当然,如果你老重复问它“烦了”,它会调侃的回答“在算错的情况下等于0”......
   对于我们DIY的这个玩具的更多有趣功能和可行性(如技术难度和成本等),还希望大家能讨论一下,当然,更渴望能有芯片厂家技术资料上的鼎力支持(好像有的芯片已经有现成的“语音库”发布了?)。
   渴望论坛上朋友们能够支持,谁有关于语音识别和合成方面的资料能奉献的,LZ高分悬赏啊。

相关帖子

沙发
xwj| | 2010-1-27 07:31 | 只看该作者
“能说话”容易,但要“能听懂”那可就难了

使用特权

评论回复
板凳
agnd|  楼主 | 2010-1-27 09:08 | 只看该作者
本帖最后由 agnd 于 2010-1-27 09:11 编辑

ARM从娃娃开始.....貌似很伟大的希望工程。确实,十几年前MEMS陀螺可是航天级的东东,现在却成了游戏双节棍,如此看来,用ARM做2岁小孩玩具也成水到渠成了。现在ARM的计算能力不比当年80286差,以前286上能做到的ARM为什不行? 这正是本创意的目标。
但现在只是有了创意,还没具体方案啊。选哪公司的片子?STM32资源多价格好人气旺,还有现成的语音库,新出的NUC501也别具优势,有专用MIC输入和语音处理单元,外挂的SPIFLASH也可灵活廉价的外扩大量语音库,只是推广力度稍逊。还有周公强力推广只要用就“送”的NXP和TI......
2楼都说的很在理:“能听懂”确实有些难度,但“关键在软件”。这也正是锻炼我们DIY能力的挑战。希望大家能多给点技术上的支持和鼓励。

使用特权

评论回复
地板
aufair| | 2010-1-27 09:21 | 只看该作者
有点意思。但有关语音识别的资料不多,LZ能否给提供点?

使用特权

评论回复
5
coreduo| | 2010-1-27 10:08 | 只看该作者
。。。。。语音识别。。。。。。arm。。。。。。
别想了,不可能的

使用特权

评论回复
6
aufair| | 2010-1-27 10:24 | 只看该作者
5# coreduo 为什么不可能呢?又不是要识别全部任意词语,只要判断出几个特定的短语,而且识别正确率在90%以上对玩具来说应该就差不多可用了吧?要不那手机的语音拨号是怎么实现的呢?难道非要用DSP不行?

使用特权

评论回复
7
coreduo| | 2010-1-27 15:08 | 只看该作者
也沒啥,給你各開源的语音识别网站,你先去研究研究
http://htk.eng.cam.ac.uk/

使用特权

评论回复
8
chunyang| | 2010-1-27 16:33 | 只看该作者
楼主的想法要良好的实现难度非常高,语音拨号技术很简单,采用的是声音样本比较法,基于特定样本,就是采用模糊算法都不难,但要直接从语句中识别特定信息的难度就大了,需要实时连续采样、比较,对处理器和存储器的资源需求很大,算法的难度也很高,ARM根本应付不了,只能上高速DSP,而儿童的理解能力、自控力、耐心等相对成年人要差很多,不能用成年人可以接受的“训练”法来应对儿童,玩具必须是要有趣的、普适的,这个前提下要采用的技术就不简单,而玩具还要求成本低,这就成为难以逾越的障碍了,至少目前还不行。当然,作为学习,这个项目没什么问题,深入研究的话所能掌握的技术在其它领域也会很有用,但就此“儿童玩具”本身,楼主的想法不现实,对此需要有个清醒的认识。

一点想法,权当参考。

使用特权

评论回复
9
agnd|  楼主 | 2010-1-27 18:38 | 只看该作者
8# chunyang 你说的对,不用"训练法"是很难实现的.但如果要把它定位为4-5岁的学龄前儿童,用它来学习一些汉语拼音,英语单词,乘法口诀什么的,或许可以用"训练法"吧?现在小孩聪明的很,我就曾看见几个4,5岁的小孩很耐心的教他们家一个鹦鹉学说话的.因此,我觉得只要有家长或幼儿圆老师指导,"训练"应该还可以接受.当然,尽量做的好力求训练简单有效,这是对我们算法的一个考验. 我到觉得这项目是否可以作为一个什么类似于老鼠走迷宫类的竞赛的课题呢,因为它的特点是:硬件简单廉价,但软件大有搞头.

使用特权

评论回复
10
agnd|  楼主 | 2010-1-27 19:01 | 只看该作者
对9楼补充一下,我的意思是说,这个项目如果前期不考虑机械部件(和主体功能好像关系不太大)的话,硬件成本也就几十元钱,如果有很多愿意并经审查有实力DIY的高手们参与,再搞个高奖金评奖,说不定还真能海选出一些比较实用的实现代码来的

使用特权

评论回复
11
agnd|  楼主 | 2010-1-27 19:04 | 只看该作者
非常感谢大家的鼎立支持,两天后一定结帖给大家分分.

使用特权

评论回复
12
因特网用户| | 2010-1-27 19:29 | 只看该作者
做简单的语音控制可用凌阳的SPCE061A来搞

使用特权

评论回复
13
agnd|  楼主 | 2010-1-27 20:20 | 只看该作者
12# 因特网用户 不错的建议! 只是我对ARM更熟点,但一定有时间找这羊的资料看看.

使用特权

评论回复
14
machunshui| | 2010-1-27 20:57 | 只看该作者
1# agnd

语音识是难点。
国内科大讯飞语音产品做得不错。
听说最近已经开始做语音玩具了。

使用特权

评论回复
15
古道热肠| | 2010-1-27 21:55 | 只看该作者
12楼网友推荐的凌阳单片机好象是专长这一块。楼主宜在这上面下点功能,能做出有趣的玩具的。

使用特权

评论回复
16
不起眼| | 2010-1-27 21:56 | 只看该作者
最简单的语音识别算法是求LPC。具体步骤是:
1. 算出采样信号的自相关系数,一般是6--8个自相关系数
2. 然后就是解一个方程组。就求出LPC系数
3. 建库。
这些计算在12MHZ  51单片机就可以实现(外扩AD),当然算法要优化,而且要用汇编。
这种算法识别率很低,我只做到75左右(10个数字,特定人)。
    呵呵,你可以看出语音识别的大概计算量。
    我个人认为arm的速度是绝对够的。

使用特权

评论回复
17
ma9453| | 2010-1-27 22:03 | 只看该作者
帮楼主加加油,顺便说说俺了解的一些东西。
原来见人做过语音识别,是做语音识别芯片,整个算法还是比较麻烦的,
先要排除掉噪声,然后要判断单词的开始,最后才是语音识别,
难度相当大,如果用软件,速度估计也跟不上(单词量较大的话)。

使用特权

评论回复
18
aufair| | 2010-1-28 04:28 | 只看该作者
正好盯试验值夜班,上网了解了一下语音识别的现状,感觉确实像8楼上说的,用ARM实现是有些难度。但作为孩子玩具,可以通过一些巧妙办法绕过这些难点。我建议别作什么机器猫呀狗了,就先作一个鹦鹉吧。学舌是它的天生基本本领,能听懂人话是它学聪明了,听不懂可以教它嘛! 藏个4位拨码开关,就能让它学15句话了,拨到一个位置一个劲的对它说"几点了",还怕"训练"不好它? 况且,对鹦鹉来说,识别率做到75%就及格了吧,能听懂主人的话而听不懂你的也就太正常了。偶尔再蹦出一两句"太阳照PP了快起床啊","我快饿死了充电器在哪儿啊",等雷人的话,或许还能哄的孩子们喜欢的。
   希望这个建议能给楼主以战略高度的帮助!

使用特权

评论回复
19
coreduo| | 2010-1-28 08:58 | 只看该作者
LPC解方程arm可以勉强做,可以试试

使用特权

评论回复
20
huangqi412| | 2010-1-28 10:47 | 只看该作者
:D  估计就能做成凌阳那种模式,手机拨号也是那种模式的.选训练和存储,然后识别特定的话.
要跟微软那个垃圾语音输入法一样的话,那绝对不是DIY能搞定的.   别看语音输入法没实用性,那玩意绝对不是不是DIY能搞定。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

14

主题

137

帖子

0

粉丝