Pocketsphix_batch_mfc工程下载和运行说明

Pocketsphix_batch_mfc 工程下载和运行说明

王小涛 2009-08-12

 

      我们项目所采用的PDA手机是HTC Touch 3G 手机,其操作系统是Windows Mobile 6.0,所以我们在开发这部手机上的应用程序的时候选择的解决方案平台应当是:Windows Mobile 5.0 Pocket PC SDK (ARMV4I)。(Windows Mobile 6.0 兼容 Windows Mobile 5.0)

1、 下载

2、 准备配置文件和识别过程所需要的数据

3、 准备dll文件

4、 常见问题解答:

 

1、 下载:

在PDA上运行pocketsphinx_batch_mfc首先要将pocketsphinx_batch_mfc.exe下载到我们的PDA上面,下载步骤如下

(1)、利用Microsoft ActiveSync (我们用的是Microsoft ActiveSync 4.5版本)与PDA同步上

首先将Microsoft ActiveSync的连接设置中的“允许USB连接”勾上,因为我们的PDA是通过USB线与电脑连接的。如果您想下载到仿真器中进行调试的话,这里应该在“允许连接到以下其中一个端口”选择DMA,因为仿真器实际上是通过DMA和我们的VS2008进行数据交换的。然后把“在任务栏中显示状态图标”和“设备连接时打开ActiveSync(P)”也勾上。如下图所示:

image

设置好了之后请将您的PDA通过USB与电脑相连接,一般来说接上后Microsoft ActiveSync会自动连接上您的PDA,并将同步您的PDA上的数据。

如果PDA没连接上的话:请检查以下几个方面:

USB是否连接好,连接设置有没有设置好,Microsoft ActiveSync有没有打开

如果以上几个方面都无误的话还不能连接,请重启你的 PDA (USB 不用断开 )

当移动设备通过Microsoft ActiveSync与您的电脑连接上后,右下角任务栏的图标会变成绿色的(没连接时是灰色的)。连接上后,你可以打开我的电脑,可看到多了一个图标“移动设备”,如下图所示:

image

进入移动设备后可以看到有一下目录(如果你进入目录没看到任何东西,说明移动设备尚未连接):

}X{B90ZJZN`U]UL_P1IXP[X

PDA的根目录是在“我的Windows移动设备”目录下开始的,你可以进入目录“我的Windows移动设备”,可以看到地址栏显示的是“/”,说明这个目录是根目录啦。进入根目录后可以看到:

image

(2)、将目标设备选择成:Windows Mobile 5.0 Pocket PC Device R2

(3)、由于我们的PDA上,“%CSIDL_PROGRAM_FILES%”(即“Program Files”)目录下所剩余的空间不多,因此将程序下载到“儲存卡”目录下。

更改:工程属性(Alt+F7)——配置属性——调试——远程可执行文件:(可执行文件绝对路径)

儲存卡/pocketsphinx_batch_mfc/pocketsphinx_batch_mfc.exe

更改:工程属性(Alt+F7)——配置属性——部署——远程目标:(下载到该目录)

儲存卡/pocketsphinx_batch_mfc

以上步骤做完后就可以直接下载啦,点击“启动调试”,程序会自动下载到PDA上并进行调试。你也可以点击“部署”将程序下载到PDA上,但不进行调试。

下载后,你可以在电脑上的“移动设备”目录下的“我的Windows移动设备”目录下的“儲存卡/pocketsphinx_batch_mfc”路径下找到pocketsphinx_batch_mfc.exe文件。你也可以在PDA上的“开始”——“程式集”——“档案总管”——“儲存卡/pocketsphinx_batch_mfc”中找到pocketsphinx_batch_mfc.exe文件,

 

2、 准备配置文件和识别过程所需要的数据

我们的pocketsphinx_batch_mfc.exe程序的输入是一个配置文件,因此我们需要准备一个配置文件,配置文件是ASRconfig_batch,其内容如下所示:

-hmm "/儲存卡/pocketsphinx_batch_mfc/an4/model_parameters/an4.cd_semi_1000"

-lw 10

-feat s2_4x

-beam 1e-80

-wbeam 1e-48

-dict "/儲存卡/pocketsphinx_batch_mfc/an4/etc/an4.dic"

-lm "/儲存卡/pocketsphinx_batch_mfc/an4/etc/an4.ug.lm"

-wip 0.2

-ctl "/儲存卡/pocketsphinx_batch_mfc/an4/etc/an4_test.fileids"

-ctloffset 0,

-ctlcount 20,

-cepdir "/儲存卡/pocketsphinx_batch_mfc/an4/feat"

-cepext .mfc

-hyp "/儲存卡/pocketsphinx_batch_mfc/an4/result/an4-WINCE.match"

注意:配置文件中所有路径都要求是绝对路径,否则在pda上运行时找不到路径,如果路径中含有空格,则用双引号将路径括起来,这里我们建议所有路径都用双引号括起来,统一一下比较好,(*^__^*)…嘻嘻。

可以看到,我们的配置文件里面指定了一些路径,这些路径中包含了我们程序在语音识别过程中所需要的一些数据,因此我们还需要这些数据,包括:

model_parameters/an4.cd_semi_1000:声学模型参数

an4.dic:字典

an4.ug.lm:语言模型

an4_test.fileids:测试集

feat:每个语音对应的mfcc文件

上面全部数据准备好了之后,将放在配置文件ASRconfig_batch所指定的路径下即可。

 

3、 准备 dll 文件

由于我们的程序运行时需要依赖sphinxbase.dll和pocketsphinx.dll这两个dll文件,而dll文件一般需要和.exe文件在同一目录下,因此我们将这两个dll文件放在PDA上的“儲存卡/pocketsphinx_batch_mfc”目录下

1、 常见问题解答:

(1)、如果你编译通过并且部署成功了,但调试的时候出现下面提示,应该怎么解决?

image

答:出现这种问题一般是因为你在工程属性中设置的远程可执行文件的路径不对,请检查下,因为这个路径是VS2008用来启动PDA上程序用的,如果指定的路径不对,系统就找不到指定的(可执行)文件啦。

(2)、编译成功后下载,调试的过程出现下面对话框,是什么回事?

image

或者是在PDA上运行程序时出现类似以下对话框时,应该怎么解决?

clip_image014

答:这种情况一般来说都是你所执行的.exe文件需要依赖某个(或某些)dll文件,而这个(或这些)dll文件通常需要放在和.exe文件同一个目录下,请将你的.exe文件所需要依赖的dl文件都放在和.exe同一个目录下。

(3)、begintorecognize("/儲存卡/pocketsphinx_batch_mfc/ASRconfig_batch");

这里可以用相对路径代替吗?即begintorecognize("./ASRconfig_batch");

答:不可以,pda上好像就只认绝对路径,相对路径认不了。

小TIPs:如果你指定的路径是从根目录下开始的话,可以省略掉根目录符“/”。

例如:PDA上:“/儲存卡/pocketsphinx_batch_mfc/ASRconfig_batch”和“儲存卡/pocketsphinx_batch_mfc/ASRconfig_batch”是一致的。

(4)、我可以将程序下载到任何我想要下载的地方吗?

答:可以的,因为PDA上的路径是以“开始”——“程式集”——“档案总管”这个开始的,在这里面你可以看到类似下图的画面:

(PDA的难以截图,所以这里只给了模拟器上面的)

image

这个就是我们模拟器上的根目录啦,你可以下载到这里的任何一个目录和任何一个子目录下。例如,你可以将“工程属性(Alt+F7)”——“配置属性”——“部署”——“远程目标”:改为“/myprogram”,然后再点击“部署”。VS2008检查这个远程目标的路径是否存在,如果存在,则将程序下载进去;如果不存在,则创建路径并下载进去。

注意:“远程目标”这里的路径名最好用反斜杠 / ,如果用正斜杠/的话,而且你指定的路径中有两级或两级以上的目录需要VS创建时,会出现错。

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/Linruin/archive/2009/10/13/4665096.aspx

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值