找回密码
 注册
X系列官方授权正版
搜索
查看: 4169|回复: 14

[转帖] 用语音控制X3。。解决了识别率不高的问题。。

  [复制链接]
发表于 2010-3-26 17:40:47 | 显示全部楼层 |阅读模式
本帖最后由 zouyue735 于 2010-3-27 17:25 编辑

转自骑马与砍杀中文站
http://bbs.mountblade.com.cn/viewthread.php?tid=76784
原帖是用语音控制骑砍。。但实际没什么区别,只是语音命令和相应按键不同



首先下载http://www.dywt.com.cn/edown/speech/speechsdk51.exe
再下载Shoot 1.6.4 :http://clans.gameclubcentral.com/shoot/shoot-1.6.4.zip
安装好之后系统就已经可以识别英文语音了

需要中文语音的话还需下载
http://www.dywt.com.cn/edown/speech/speechsdk51langpack.exe
再打开控制面板里面的语音项>语言选择简体中文>应用,就是中文识别了。

另外注意Shoot 1.6.4是基于Microsoft .NET Framework 1.1的软件,如果已经安装了Microsoft .NET Framework 2.0的话需要再安装Microsoft .NET Framework 1.1
http://www.microsoft.com/downloads/details.aspx?displaylang=zh-cn&FamilyID=262d25e3-f589-4842-8157-034d1e7cf3a3
然后下载原帖28楼的附件,解压后替换Shoot文件夹下同名文件即可

最后将以下代码复制到txt中,另存为shoot文件夹\profile\XX.xml即可

<?xml version="1.0" encoding="iso-8859-1" ?>

<shoot-config>
   <command-list>

      <!-- Flight Controls -->
      <command name="Toggle cursor flight mode" phrase="cursor flight mode">
         <key type="SpaceBar" />
      </command>

      <command name="Toggle classic flight mode" phrase="classic flight mode">
         <key type="Shift N" />
      </command>
     
      <command name="Boost extension" phrase="Boost extension">
         <key type="Tab" />
      </command>

      <command name="Brake to Stop" phrase="Brake to stop">
         <key type="BackSpace" />
      </command>

      <command name="Match speed to target" phrase="Match speed to target">
         <key type="Shift F" />
      </command>
      
      <command name="Toggle autopilot" phrase="auto pilot">
         <key type="Shift A" />
      </command>

      <command name="Dock with target" phrase="Dock with target">
         <key type="Shift D" />
      </command>

      <command name="Switch gravidar modes" phrase="Switch gravidar modes">
         <key type="ESC" />
      </command>

      <command name="Eject from ship" phrase="eject">
         <key type="Shift E" />
      </command>


      <!-- Weapons -->
      <command name="Laser targeting mode" phrase="Laser targeting mode">
         <key type="K" />
      </command>

      <command name="Select missile" phrase="Select missle">
         <key type="M" />
      </command>

      <command name="Launch missile" phrase="Launch missile">
         <key type="L" />
      </command>
      
      <command name="Select weapon group 1" phrase="weapon group one">
         <key type="1" />
      </command>
      <command name="Select weapon group 2" phrase="weapon group two">
         <key type="2" />
      </command>
      <command name="Select weapon group 3" phrase="weapon group three">
         <key type="3" />
      </command>
      <command name="Select weapon group 4" phrase="weapon group four">
         <key type="4" />
      </command>

      <command name="Weapon menu" phrase="Weapon menu">
         <key type="G" />
      </command>


      <!-- Targeting -->
      <command name="Track target" phrase="track target">
         <key type="T" />
      </command>

      <command name="Target nearest enemy" phrase="Target nearest enemy">
         <key type="Shift T" />
      </command>


      <!-- Information -->
      <command name="Actions for selected object" phrase="Actions for object">
         <key type="I" />
      </command>

      <command name="View info about selected object" phrase="info about object">
         <key type="U" />
      </command>

      <command name="Current Ship" phrase="Current ship">
         <key type="Y" />
      </command>

      <command name="Personal Information" phrase="Personal information">
         <key type="P" />
      </command>

      <command name="Navigation" phrase="Navigation">
         <key type="ESC" />
      </command>

      <command name="Sector map" phrase="Sector map">
         <key type="." />
      </command>

      <command name="Galaxy map" phrase="Galaxy map">
         <key type="," />
      </command>

      <command name="Show selection on galaxy map" phrase="Show selection on galaxy map">
         <key type="G" />
      </command>

      <command name="Owned property" phrase="Owned property    ">
         <key type="R" />
      </command>

      <command name="Message log" phrase="Message log">
         <key type="Shift M" />
      </command>

      <command name="My Missions" phrase="My missions">
         <key type="ESC" />
      </command>

      <command name="Global Commands" phrase="Global commands">
         <key type="ESC" />
      </command>

      <command name="Encyclopedia" phrase="Encyclopedia">
         <key type="ESC" />
      </command>


      <!-- Commands and Management -->
      <command name="Command console for current ship" phrase="Command console">
         <key type="Shift C" />
      </command>

      <command name="Rename object" phrase="Rename object">
         <key type="M" />
      </command>

      <command name="Wingman attack target" phrase="Wingman attack target">
         <key type="Shift 6" />
      </command>

      <command name="Wingman protect me" phrase="Wingman protect me">
         <key type="Shift 7" />
      </command>

      <command name="Drones attack target" phrase="Drones attack target">
         <key type="Shift 8" />
      </command>

      <command name="Drones protect me" phrase="Drones protect me">
         <key type="Shift 9" />
      </command>


      <!-- Ship and Stations -->
       <command name="Change ship" phrase="Change ship">
         <key type="X" />
      </command>


      <!-- Freight -->
      <command name="Freight bay" phrase="Freight bay">
         <key type="F" />
      </command>

      <command name="Freight exchange" phrase="Freight exchange">
         <key type="ESC" />
      </command>


      <!-- Upgrades -->
      <command name="SETA time accelerator" phrase="time accelerator">
         <key type="J" />
      </command>

      <command name="Jumpdrive" phrase="Jump drive">
         <key type="Shift J" />
      </command>

      <command name="Unfocussed Jump" phrase="Unfocussed Jump">
         <key type="ESC" />
      </command>

      <command name="Video enhancement goggles" phrase="Video enhancement goggles">
         <key type="RightAlt" />
      </command>

      <command name="Best selling price locator" phrase="Best selling price locator">
         <key type="5" />
      </command>

      <command name="Best buys locator" phrase="Best buys locator">
         <key type="6" />
      </command>


   </command-list>

   <!-- configure your  push-to-talk  key here: -->
   <push-to-talk initial-state="off">
      <hold on-press="enable">
         <key type="CapsLock"/>
      </hold>
   </push-to-talk>

   <sounds>
      <sound type="recognized" source="recognized.wav" volume="100" pan="0"/>
   </sounds>
</shoot-config>

需要中文语音的话要将开头的iso-8859-1改成gb2312,并且phrase必须都是中文的
然后用shoot打开xml文件后再打开X3就可以识别了
这段代码是按住CapsLock识别,在最后的key type里可以改成其他键,比如LeftControl,具体可以看shoot下的keymap.xml
把push-to-talk initial-state="off"改成on的话不用按任何键就可以识别


刚才试用了一下英文的,发觉识别率不高。。。。大概我的英文语音不怎么标准,不过这段代码中确实有很多不必要的部分,语音命令过多可能会造成识别率不高,在玩骑砍的时候因为命令少,识别率基本还是100%的。
另外按键都是用的X3TC的默认按键,默认当中没有绑定的都用ESC代替了,各位可以按照需求把代码改善精简一下,我接触X3时间很短,也不知道哪些是累赘的。
这段代码也很简单,command name是命令名,phrase是实际系统需要识别的语音,而key type是对应的按键。
如果哪位改善了一下这段代码请回帖告诉我一下,我把改过的放到顶楼来


现在发现了识别率不高的原因,大概是因为系统没有习惯你的声音
打开shoot后,点击Speech->Recognizer->Training
在进行过一次Training后,识别率有显著提高,绝大多数命令都能识别,理论上再训练几次识别率会更高
再有Speech->Recognizer->Custom dictionary能存储原来系统无法识别的发音,
比如打开Custom dictionary后在Word中输入SETA,点击Record pronounciation,再对着麦克风读出“SETA”系统就会自动记录下你刚才的读音了。。Dictionary栏里就会有你刚才记录的单词了

另外Speech->Audio->Microphone中能自动调整你的麦克风音量,也许也会有所帮助

刚才又训练了一次。。。现在识别率基本是100%了

话说论坛怎么贴图来着。。。
发表于 2010-3-26 17:57:16 | 显示全部楼层
嘿嘿 这个有意思 用声控指令的话 会带来不少方便呀
战斗时 只要专心的机动螺旋 开火用语音
抢船时用语音控制发射pod

阿汤哥的HAWX里面就集成了语音操作 发射导弹 机炮 干扰弹都可以语音完成
再加上震动手柄 很有代入感
回复

使用道具 举报

 楼主| 发表于 2010-3-26 18:22:06 | 显示全部楼层
机炮因为需要持续按所以没写在里面。。不过导弹还是可以的
回复

使用道具 举报

发表于 2010-3-26 18:26:41 | 显示全部楼层
顶一下,虽然没有尝试的打算,但听起来还是蛮有趣的.
回复

使用道具 举报

发表于 2010-3-26 19:07:01 | 显示全部楼层
這個十分不錯,大家可真的成為艦長發號司令或者是飛行中隊的隊長,不必次次都要按身邊個按鈕 (鍵盤)
回复

使用道具 举报

发表于 2010-3-26 19:10:08 | 显示全部楼层
估計收發問題會引至大量傷亡=.=(特別是撞船-,-)
回复

使用道具 举报

发表于 2010-3-26 19:18:38 | 显示全部楼层
听起来不错,召唤小白鼠尝试
希望不会让我的叉3更卡……
回复

使用道具 举报

发表于 2010-3-27 01:59:52 | 显示全部楼层
对了 识别率如何呢
要是识别率太低的话 那就乱套了
反而不如用鼠标键盘来的实际
回复

使用道具 举报

 楼主| 发表于 2010-3-27 09:55:37 | 显示全部楼层
本帖最后由 zouyue735 于 2010-3-27 10:16 编辑

我只用过英文的,用这段代码确实识别率不高。。。大多phrase都是和原来游戏中选项的名字一样的。。。代入感也不强
所以这段代码需要改良一下

不过玩骑马与砍杀的时候识别率基本是100%的,因为里面一共就10几个命令

据原帖说因为中文是单音词,所以识别率更高
回复

使用道具 举报

发表于 2010-3-27 10:46:16 | 显示全部楼层
反正我对我的手机声控指令很无奈
虽说是自动识别型 不用事先录制
但是识别的很费劲 有时识别出来的东西让人哭笑不得
回复

使用道具 举报

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

本版积分规则

关闭

站长推荐上一条 /1 下一条

Archiver|手机版|小黑屋|DeepTimes.NET 太空游戏站