紧急求助:代码有个错误 与语音识别的方案

musli   2009-12-20 21:53 楼主
在做一个毕业设计,遇到几个问题,请高手帮助,谢谢!

1、目前的程序主要是用SPCE061实现下语音播放,不论怎么修改都一直有个错误:
Error L0080: The external symbol "T_SACM_S480_SpeechTable" has not a public definition.
请高手帮忙啊,谢谢!

2、另外我们的设计想要实现多个家电的语音控制,但目前61单片机的例程一般都是只有4条语句实现语音识别,对于家电语音控制不够,怎么办?恳请大侠指导下,谢谢!谢谢!

回复评论 (6)

先友情帮顶下,等我先查下。
点赞  2009-12-20 23:05
Error L0080: The external symbol "T_SACM_S480_SpeechTable" has not a public definition.

这个错误应该你在做语音播放的时候,没有在Resource.asm(这个文件是在代码编译后才会生成的)文件中添加:
  1. .PUBLIC T_SACM_S480_SpeechTable
  2. T_SACM_S480_SpeechTable:
  3. .DW _RES_48_48K_SA


其中.DW _RES_48_48K_SA 第一个48改成你所用的语音资源的名字;另外如果你用多个语音资料,就需要按照上述格式,依次添加。

2、这个问题,可以考虑分组实现,即每个家电独立成一组;有N个家电需要控制就设置成B组,而在组内实现利用语音识别实现电器的打开与关闭功能。并且SPCE061A只能同时识别5条。
具体既是采用:分组识别的方法,即“触发命令”与“控制命令”组合。

具体楼主可以参照官网上的一篇文章(包含源码可下载):
http://www.unsp.com/app/html/2006724162207.shtml
点赞  2009-12-20 23:43
mark
点赞  2009-12-21 08:45
Error L0080: The external symbol "T_SACM_S480_SpeechTable" has not a public definition.
从字面上来说 T_SACM_S480_SpeechTable是没有定义成公共变量,可以试着改成公共的
点赞  2009-12-21 08:59
非常感谢各位;
正于KYZF所说,添加语音资源后,问题解决。

非常感谢各位,结贴。
点赞  2009-12-21 12:37
您可以在resource.asm这个程序文件里的end table后面加上

.PUBLIC T_SACM_S480_SpeechTable

T_SACM_S480_SpeechTable:

就可以了.
点赞  2010-4-30 21:53
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复