M5Stackのビープ音、Tone音の爆音対策
M5Stackはスピーカーが搭載されており、
標準のAPIを使ってビープ音やTone音(周波数を指定して鳴らす)を簡単に鳴らすことが出来ます。
ただし、「爆音」です。
これには、ちょっと困りました。鳴らすとやかましいです。
ググってみると、多くの利用者が同様に困っているようです。
何とかならないかなぁ、と思い試行錯誤してみました。
結論としては、とりあえず、何とかなりました。
とりあえず、単音440Hz(ラ)の音を音量指定して鳴らしてみました。
サンプルスケッチ
音量指定できる新しいtone関数、toneEx()を作成しました。
音の大きさの制御は、デューティ比を操作で制御しています。
toneEx()の3番目の引数、volに0(無音)、1(最小) ~ 9(最大)の指定にて音量を指定することが出来ます。
サンプルスケッチでは、M5Stackの左ボタンで最小音、真ん中ボタンで3、左ボタンで5を指定して音を鳴らすことが出来ます。
耳で聞いた感じでは、いい感じで音量制御出来ています。
最小の1でも十分聞こえ、ちょうど良いかもしれません。
次の段階として、Arduino用に作成したMML演奏ライブラリを試してみます。
追記 2021/03/29
この記事へのアクセスが多々あるので、遅レス..
この爆音対策は、M5Stack 0.3.1で行われているようです(動作未確認)
この記事を参考にして、らびやんさんがプルリクして本家に組み込まれたようです。
■ 関連記事
・update: M5.Speaker.setVolume works with M5.Speaker.tone . #205
・https://twitter.com/lovyan03/status/1245712776514768897
duty設定してボリューム下げるのM5.Speakerに突っ込んでプルリク出しても良さそうな https://t.co/jQZsIowOLH
— らびやん (@lovyan03) April 2, 2020
« M5stackで日本語表示 | トップページ | M5StackでMML単音演奏 »
「arduino」カテゴリの記事
- 豊四季Tiny Basic for micro:bit のマニュアルを更新しました(2020.11.21)
- 豊四季タイニーBASIC for Arduino 機能拡張版 V0.08の更新(2020.07.27)
- Arduino IDE 1.8.13が公開されています(2020.07.24)
- SPI接続フラッシュメモリモジュールを入手しました(2020.05.13)
- 豊四季タイニーBASIC for Arduino 機能拡張版 フルスクリーンエディタ対応(2020.02.20)
「ESP32・ESP8226」カテゴリの記事
- M5Stackで日本語表示(2)(2020.02.04)
- M5StackでMML単音演奏(2020.01.26)
- M5Stackのビープ音、Tone音の爆音対策(2020.01.22)
- M5stackで日本語表示(2020.01.18)
- M5Stack始めました(2019.12.05)
コメント