2012年10月10日 星期三

Flash : phonetics_quiz 聽字詞拼注音 (2014.02.22更新)

2012.10.05 glglacePlurk 上問:「有哪個軟體可讓學生練習聽聲音拼出注音?......」,我們之前合作的作品「注音小鍵盤」已經有現成的雛形,只要再加上出題及互動界面即呼之欲出。就這樣,以「注音小鍵盤」為主要架構,和國字加注音、影像顯示、聲音播放器......等幾個現有的模組兜一兜,這個新的小工具就產生了。經過 glglace 和 happy 的測試與回報,抓出了程式中的臭蟲,也新增了一些功能,詳細的討論過程可在這個討論串中看到。


功能簡介
  • 可播放指定的聲音檔或顯示圖片後,讓使用者以虛擬鍵盤輸入注音(拼音)符號。
  • 可自訂每回出多少題給使用者練習。
  • 可自訂是否使用亂數選題。
  • 可自訂是否出現國字的提示。
  • 可自訂虛擬鍵盤使用注音還是拼音。
  • 可自動產生題庫設定檔:如果是在 Windows 下,啟動已附有 FlashPlayer 的 「phonetics_quiz.exe」 ,它會先去 fscommand 目錄中執行主設定檔 phonetics_quiz_set.txt 中指定的批次檔 list.bat ,然後就可以自動抓取放在 data 目錄中的檔案,並將檔案清單存入 list.txt 。
    利用上述的機置,假設我們想增加一題「貓咪」的拼音練習,只要:

    1.先錄好「貓咪」的 mp3 聲音檔
    2.將聲音檔以中文命名為「貓咪.mp3」
    3.聲音檔儲存到「data」資料夾
    4.執行「phonetics_quiz.exe」

    經過 1~4 的程序,在玩的時候,題庫裡就會自動多了「貓咪」這題囉!如果想加圖片,也是用同樣的程序即可。


目錄結構

下載回來的 phonetics_quiz.zip 如果解壓縮以後,裡面的主要檔案如下:
  • phonetics_quiz.exe:主程式,為 Windows 的執行檔,帶有 Flash Player,具有自動產生題庫設定檔的功能。
  • phonetics_quiz.swf:主程式,需要以 Flash Player 或是網頁瀏覽器來開啟。Flash Player 可以在 Adobe 官方下載頁面 中依電腦的作業系統來下載合適的版本。
  • phonetics_quiz_set.txt:主設定檔。
  • list.txt:題庫設定檔,可由 phonetics_quiz.exe 自動產生或是手動輸入。
  • phonetab.txt:國字注音對照表,如果發現國字的注音有問題時,可以在這個檔案中修改或是新增。
  • pinyintab.txt:國字拼音對照表,如果發現國字的拼音有問題時,可以在這個檔案中修改或是新增。
  • data (資料夾):預設用來存放聲音檔和影像檔的資料夾。
  • fscommand (資料夾):存放給 phonetics_quiz.exe 呼叫的程式。


設定參數

當 phonetics_quiz.exe 或是 phonetics_quiz.swf 被啟動以後,會試著載入預設的主要設定檔「phonetics_quiz_set.txt」,這個設定檔可以設定的參數如下:
  • title:出現在畫面上方的標題。
  • phonetics_table_filename:國字注音(國字拼音)的對照表檔案名稱,在 phonetics_quiz_set.txt 被載入以後,程式會依這個設定,載入對照表。當使用者以虛擬鍵盤輸入一般國字拼音最後的符號──「調號」以後,會以對照表中的資料來找出輸入的是哪一個國字,再比對該題是否答對。因此,如果對照表中的字庫如果有誤,或是不足時,可以自行修改這個檔案。
    phonetab.txt (注音) 和 pinyintab.txt (拼音) 兩個檔案中,除了前者是使用注音符號,後者是使用拼音,pinyintab.txt 中還多了一行

    &input_method=pinyin&

    主要是告訴程式將虛擬鍵盤換成「拼音」的按鍵。
  • show_character:用來設定題目中是否顯示國字,可設定為「yes」或「no」,預設值為「yes」,會出現國字。如果設定為「no」,國字的部份會以問號(?)代替。
  • character_select_enabled:用來設定當使用者輸入完注音(拼音)符號後,虛擬鍵盤是否要出現同音的國字供選擇,可設定為「yes」或「no」,預設值為「yes」,虛擬鍵盤會出現國字。如果設定為「no」,程式在對照表裡比對答案,使用者不用選國字。
  • filename_escape:用來設定在載入設定檔、影像檔或聲音檔時,檔名的部份是否要編碼,可設定為「yes」或「no」,預設值為「no」。如果確認檔案存在,卻發生圖片或聲音檔案載入失敗的情形,就將這個參數設為「yes」。
    例如:
    這支程式如果是放到 Android 系統中,由於 Android 系統採用的是 UTF-8 的環境,檔案的路徑必須依循 RFC 3986 的規範來編碼,如果有中文部份沒有編碼,就會發生看不到圖片或是聽不到語音的情形。因此,如果程式是放在 Android 中執行,filename_escape 記得要設為「yes」。
    另外,如果檔案是放在 web server 中,影像檔或聲音檔是中文檔名,也可能會有找不到檔案而無法載入的情形。這時,filename_escape 設定為「yes」試試看,不過,不見得會有效,因為這部份還得看 web server 的系統是否採用 UTF-8 的編碼。像 Dropbox 是使用 UTF-8 的,就可以成功,而我們學校的主機就無法適用。
  • random_order_enabled:用來設定出題時是要以亂數來選題,還是依題庫中的順序來出題,可設定為「yes」或「no」,預設值為「yes」也就是用亂數選題。
  • questions_to_answer:用來設定每一回要出多少題給使用者做答。如果題庫中的題目數量不足這個設定值,它會自動被降低。
  • data_folder_name:來用設定影像檔和聲音檔放在那個目錄,預設值是「data」。這個必須和 script_filename 所指定的程式搭配使用,建議不要更動,不然就得兩邊一起改。
  • script_filename:用來設定 phonetics_quiz.exe 啟動時,去 fscommand 目錄中找哪個檔案來執行,預設值為「list.bat」。
  • file_list_load_delay:用來設定執行 script_filename 指定的程式後,等待幾秒才繼續接下來載入 file_list 指定的題庫檔的程序,以免因為 script_filename 的程式尚未結束而發生不可預期的錯誤。
  • file_list:用來設定題庫的檔案名稱,這個必須和 script_filename 所指定的程式搭配使用,建議不要更動,不然就得兩邊一起改。它裡面主要是放 data_folder_name 指定目錄中的檔案清單,一行一個檔案名稱。
  • logger_url:用來指定接收並處理使用者做答記錄的程式網址。


檔案下載


相關連結


更新紀錄
  • 2014.02.22 讓記錄的內容更詳細,更改了記錄傳送的方式及格式,如需傳送記錄,搭配 phonetics_quiz.html 中的 JavaScript ,以 JSON 格式傳送資料,與 HTML5 版格式相同。修正題庫題數太少時會未按設定檔設定的出題題數出題的 bug。
  • 2013.01.01 加了記錄做答情形的功能,如果設定檔中指定了 logger_url ,會出現輸入使用者代號的對話框,並記錄各題各字的答題狀況,並於答完所有題目時,將記錄上載到 logger_url 指定的程式,傳一個名為 result 的記錄給程式運用。
  • 2012.10.12.g 修改了虛擬鍵盤空白鍵的程式碼,將物件路徑修正為相對路徑;修正了回饋音效物件的建立方式;增強了右上角叉叉的功能,如果是被別的 SWF 載入時,不結束程式,改為跳到上一層標示為「menu」的影格執行,這樣可以結合 menu.swf 變成有選單。
    phonetics_quiz.zip 中加了 menu.swf 和 menu_set.txt 兩個檔案,可以用來製作選單。
  • 2012.10.11.f  解決如果題庫為空的時候,程式可能會陷入 loop 而無回應的問題。
  • 2012.10.09.e 加入所有題目做答完畢,顯示做答花費的時間。將 input_method 的參數改放到 phonetics_table_filename 指定的對照表中。
  • 2012.10.07 加入可跳過同音字候選字的參數;除掉題庫自動產生有問題的大 bug;加入啟用拼音虛擬鍵盤的參數。
  • 2012.10.06 測試版。


14 則留言:

  1. 好棒呀!~感謝雄老師!如獲至寶!

    一個建議的功能: 加入老師可以決定是否限時作答的功能。比方說,全班一起作答五分鐘,時間一到,顯示答題數。^^

    回覆刪除
  2. Erin 好!
    您的建議也不錯, 定時計量
    不過, 這種模式的話, 題目應該不能用亂數決定題目, 不然, 會有公平性的問題

    回覆刪除
  3. 顏老師,
    感謝您的分享,我已經成功將遊戲放上部落格
    http://blog.huayuworld.org/yangjessicaocls/19560/2012/10/18/122833

    ,學生反應很好!我有一個小小的建議,希望不會太冒昧!我也試過您設計的HTML5版,我個人因為以單元單獨遊戲的需求較高,所以並未使用menu的功能...如果直接掛上部落格,第一題的聲音會立刻出現,如果Flash 也能如 HTML5版,會出現『準備闖關』的開始頁面...就會改善....這只是我個人的意見..我想如果使用Menu的功能應該也可以改善....呵呵!我會再試試!再次謝謝您!
    楊曉青

    回覆刪除
  4. 謝謝雄哥的回覆!哈哈~,突然覺得稱呼「雄哥」好親切唷!:P

    關於雄哥說的"會有公平性的問題",不會ㄟ,學生不會去計較這一點的,他們本來就應該都要會的。老師只要全出生詞或是全出短句分開來,就可以了。

    另外,可不可以也加入如iPad版的可以不用選字的的版本?Erin很喜歡聽音回答+選字的功能,是很棒的識字練習,但是有一所學校要求學生不必學國字說。^^

    回覆刪除
  5. Erin :

    計時回答的部份,有空我再加加看(哈!最近忙著玩別的)

    虛擬鍵盤不選國字是 Flash 版先有的,您要修改的是「character_select_enabled=no」

    回覆刪除
  6. 原來雄哥早就有提供老師們自行決定虛擬鍵盤是否選擇國字的設定~ 太棒了,謝謝!

    沒問題的,好幾位學生玩過目前的版本了呢!...雄哥最近在玩的也很有意思,開心玩就對了!:D

    回覆刪除
  7. 國雄老師您好:您設計的這個遊戲真的很讚! (相信一定造福了很多人,包括我~ ^^ )
    但我遇到一個問題,就是我選擇拼音鍵盤,但當我要打"女生"和"綠色"時,因為拼音鍵盤沒有注音符號的"ㄩ",所以不知道該打哪一個字母才能代替"ㄩ"。麻煩請國雄老師幫忙~ :)

    回覆刪除
  8. 不好意思~~ 顏老師,我已經知道如何打"女生"和"綠色"了!!! 謝謝。

    回覆刪除
  9. 是否可提供"臺灣客家語拼音"鍵盤介面版本,嘉惠本土客家語老師及學生。

    回覆刪除
    回覆
    1. 您好:
      前題是必須有客家語拼音與字的「對照表」, 它無法無中生有, 沒有現成的資料庫檔案供查表的話, 這支程式就沒什麼作用了。

      刪除
  10. 顏老師,你好:
    昨天有在此留言,不知為何今天卻不見了.現再補述如下:
    phonetics_quiz 這個程式我用了一段時間了,感覺很好用. 現在想擴大使用範圍,讓學生除了輸入字/詞外還能輸入長句(如在list.txt裡寫入唐詩等) ,但問題在於長句顯示時會超出範圍,請問老師是否可以有改變字體大小與換行的參數設定選項? 另外,我到相關連結的 ”用 menu.swf 幫phonetics_quiz 做選單”裡,找不到可以下載的程式,這個選單功能還能用嗎?
    不好意思,又要麻煩顏老師了.
    賀明禮 上

    回覆刪除
    回覆
    1. 您好:
      這支程式當初的設計就只針對字、詞而已,加上還考慮到注音要一個個符號兜的排版問題,因此,並沒有改變字型大小,遑論換行的設計。
      menu.swf 的部份,您可以在您解壓縮的資料夾,它應該就在哪兒等著您用,此部份在說明中已有提到了哦!

      刪除
  11. 我在 ”用 menu.swf 幫phonetics_quiz 做選單” 裡找不到menu.swf檔,再回到 phonetics_quiz.zip 解壓縮檔裡面找到了,謝謝顏老師.

    回覆刪除

 
© 2009. Design by Pocket