Speakerライブラリについて



  • Speakerライブラリのplayメソッドに「ド(C5)」の周波数を指定すると、下記のエラーとなります。

    [Log] Obniz: send: [{"pwm0":{"freq":523.251}}] (obniz.js, line 7931)
    
    [Error] Error: ------ errored json -------
    	showObnizDebugError (obniz.js:8632)
    	error (obniz.js:8601)
    	send (obniz.js:7975)
    	sendWS (obniz.js:11359)
    	freq (obniz.js:11394)
    	play (obniz.js:21411)
    	(anonymous関数) (private_PiezoelectricBuzzer.html:127)
    	dispatch (jquery-3.2.1.min.js:10:51731)
    
    
    stack: "ValidationError@https://unpkg.com/obniz@1.9.5/obniz.js:6981:21↵createError@https://unpkg.com/obniz@1.9.5/obniz.js:5879:3…"
    
    subErrors: null
    
      var speaker = obniz.wired("Speaker", {signal:11, gnd:9});
    
      speaker.play(523.251);  //ド(C5):523.251hz
    

    speaker.pwm.freq()の引数として整数(Integer)のみ許容していることが原因と思いますが、音階(音程)を出すために浮動小数点数のサポートが必要と思います。
    ご検討お願いします。



  • @nak435

    ご連絡ありがとうございます。
    pwm の freqはファームウェアレベルで整数のため時間がかかりそうです。
    対応できるか検討してみます。



  • @nak435 浮動少数化には時間がかかりそうなので、次のバージョンでspaker.playで少数を整数にする処理を追加することにしました。
    ただ、出したい音が出るようになるわけではないのでファームウェアを含めたUpdateを検討致します。



  • ファームウェアのUpdateをぜひお願いします。期待しています。


Log in to reply
 

SUGGESTED TOPICS