2012年8月18日 星期六

NXT digital voice recorder

http://4rdp.blogspot.com/2012/08/nxt-digital-voice-recorder.html

許久沒有碰 NXT 議題,因此出個考題給 NXT 玩家動腦筋,設計—個錄音機,按左鍵可以
錄音三秒鐘,按右鍵撥放聲音,其它看大家的創意,歡迎在此線上討論。

這個程式如果設計的好,掌握關鍵技術,語音辨識應該指日可待。

12 則留言:

  1. 還真有點難,搞不出來。

    紀錄的部分,我原本打算是這樣做:
    1.當按下LEFT鍵,SensorSound讀取音量
    2.音量若大於指定數值以上(例如80),記錄音量維持的時間長短在陣列中。
    3.若音量小於指定數值以下,不紀錄
    4.3秒鐘到,停止紀錄

    不過不知道為何音量顯示於面板上有數值,卻無任何紀錄。

    回覆刪除
  2. 薛老師您好,

    確實本題有點難,因為沒見到老師的程式,所以不清楚問題出在哪裡。
    本題的關鍵在取樣頻率、記憶容量,以及如何放音。

    另外,我覺得啟動錄音後,即使音量很小也應該要一起記錄,這樣聲音比較不會失真。

    我的小朋友一看到這題目,馬上想到兩種狀況:
    一、還未錄音就先按放音,會發生甚麼事?
    二、同時按下錄音及放音兩鍵,又會如何?
    他覺得狀況一應該沒聲音,狀況二應該先錄音。

    老師有興趣就試試看,再加油,應該會成功。

    回覆刪除
  3. 用 NXT-G 就可以達到嗎?

    回覆刪除
  4. Jeul您好,

    如果你使用NXT-G 1.0是無法設計,2.0有提供陣列變數應可達成,因為我的 NXT-G 為 1.0無法給你一個明確答覆,另外推薦使用NXC或Java。

    回覆刪除
  5. Bridan,您好:

    NXT-G 2.0 也沒有陣列變數,需要使用第3方Block。或是利用File Access Block功能。

    回覆刪除
  6. 剛剛寫了一個程式,還請大家指正。
    https://docs.google.com/open?id=0B8aMeqYeJfEIM0dRYW1BUmk3bzA

    回覆刪除
  7. 邱老師您好,

    謝謝指正,剛下載你的程式,NXT-G可以載入開啟,但是要download到NXT卻產生錯誤,Error code 5002, The program is broken. It may be missing required files. 應該還欠甚麼檔案?

    有時間再繼續研究,晚安。

    回覆刪除
  8. 5002可能是因為我是用2.0版寫的程式,輸入到1.0的環境就無法正常讀寫。您可以下載樂高官方的retail 2.0版軟體。
    http://tw.myblog.yahoo.com/touch_classroom/article?mid=6222

    回覆刪除
  9. 邱老師的程式我用 NXT-G 2.1 去試可以用,但錄音效果不佳。有空我再研究看看能不能改善。

    回覆刪除
  10. 謝謝測試,效果的確不好。^^

    1. NXT因為軔體緣故,聲音大小只有四段,(leJOS可以八段)

    2. 取樣頻率不容易調整。

    3. 發聲也不連續。

    4. File Access很慢。

    5.應該用換軔體,改用其他語言會改善。

    回覆刪除
  11. 邱老師好,

    感謝提供資訊,終於下載 NXT-G 2.0,並且執行你的程式,還蠻好玩的。

    這個程式,可以再研究改進,播音效果有很大改善空間。

    這個作品,未來值得您的新書收納!

    回覆刪除
  12. Dear Jeul,

    如果有改良,歡迎作品上傳分享。

    Thanks.

    回覆刪除