2014年6月1日 星期日

Praat project_v3

今天二哥去雲科大參加機器人比賽, 因為座位不夠, 所以我沒跟去 (二哥現在念國一, 好像也不喜歡我跟咧), 所以一整個白天都在忙水某的新筆電-華碩 X550CC, 要灌工作用的軟體, 以及做 Ghost 系統備份. 因為上週三那台 2006 年研究經費買的技嘉筆電冒煙了, 送修後工程師建議別修了, 不划算. 她只好再動用一筆研究經費買台新的, 趕著下周就要用, 所以要先幫她弄好.

傍晚終於搞定新筆電, 繼續來研究學姐的語音資料處理問題. 這週工作也是在忙, 直到週四才有空把那龐大的檔案跑一遍看看問題出在哪裡.

三月底的時候, 接到學姐的來信, 在執行我的 Praat project 程式時出現錯誤, 因為工作上忙著新系統要開放, 所以過了一週才有空去下載學姊的整個檔案系統 (高達 250MB), 正在納悶, 我改成第二版時不是已經支援 IE7/8/9 了嗎? 相信即使是 IE10/11 應該都沒問題, 因為微軟的 JScript 中 FOS 物件對檔案路徑的擷取方式是在 IE7 出現大改變, 我已經對 IE 版本做了妥善處理, 怎還會出錯呢? 正想去檢查原始碼時, 隔天開機發現電腦竟然讀不到硬碟! 哇咧, 硬碟裡面還有很多寶貴檔案尚未備份啊! 這下損失慘重了!

所幸經我努力爬文, 尋找硬碟搶救之道, 有人提到 cannot read hard disk 有可能硬碟還好, 只是 cable 鬆了, 我死馬當活馬醫, 拆開機箱, 把 SATA 的 cable 拔掉重插, 嘿嘿, 果然能開機了! 但隨後姐姐會考將屆, 為了幫她複習功課, 只好把學姐的問題擱下來, 學姊, 真是對不起了.

上週開始重新審視學姐的語音學問題, 但我的 project 程式自從 2011 年改版到現在已快 3 年, 程式碼已經生疏了, 看了許久還是找不出問題點.下午打開 wav 語音檔目錄, 發現怎麼有些副檔名是大寫呢? 哈, 這就是問題所在, 可能切音存檔時沒注意, 或者以為在 Windows 下檔案名稱大小寫沒差別, 才導致錯誤, 因為 Javascript 可是有分大小寫的. 如果照檔名安排規範做, 應該不會出現問題才對.

為了防呆, 我修改了部份程式碼, 主要是在第一道程序的 check_subject_stimuli() 方法, 加入一個功能, 在掃描語音檔時, 將所有 wav 檔的檔名全部改成小寫,

          //將全部 wav 檔名一律改為小寫
          var srcname=wavFolder + "\\\\" + objItem.Name;
          var destname=srcname.toLowerCase();
          FSO.moveFile(srcname, destname);


同時更新 formant.htm, pitch.htm, 以及 vot.htm 中的同名方法, 升版為 project_v3, 終於可以向學姐交差了.

沒有留言 :