SPRESENSE の ビープ再生機能を使ってみよう


SPRESENSE の ビープ再生機能を使ってみよう

はじめに

SPRESENSE Audio はハイレゾ再生とかハイレゾ録音とか俄かに信じがたい機能が搭載されているようですが、ココではビープ再生機能をクローズアップ!

ビープ再生用の関数は公式ドキュメントの「ビープ音を鳴らしてみる」に載ってますが、Arduino でメジャーな tone() 関数をこのビープ再生関数に置き換えます。圧電ブザーとかを用意する必要なく、tone() が鳴らせるなんて最高ですよね。ですよね。

SpresenseTone ライブラリ

ヘッダファイルのみでライブラリというのもおこがましいけどそんなことは気にしない。
https://github.com/baggio63446333/SpresenseTone

この SpresenseTone ライブラリを libraries フォルダにインストールします。

PlayRtttl ライブラリ

もう一つ ArminJo さんの PlayRtttl ライブラリもインストールします。
本当にすごいのはこっちです。GitHub には思わず Star を付けときました。

本人も間違えているようですが、正しくは t が 3 つです

× https://github.com/ArminJo/PlayRttl
https://github.com/ArminJo/PlayRtttl

RTTTL というのは、Ring Tone Text Transfer Language の略で、例えば以下のソースコードでスターウォーズが流れます。

static const char StarWars[] PROGMEM
= "StarWars:d=32,o=5,b=45,l=2:p,f#,f#,f#,8b.,8f#.6,e6,d#6,c#6,8b.6,16f#.6,e6,d#6,c#6,8b.6,16f#.6,e6,d#6,e6,8c#6";

SpresenseTone サンプル

examples にある RandomMelody スケッチを起動します。

まぁまぁな曲数が入ってます。

PlayRtttlライブラリに内蔵されている音楽をそのまま再生してます(著作権等はクリアになっているものと信じています)。
再生中の動画をUpしようと思いましたがやめておきます。

さいごに

SPRESENSEボードをもっていれば(もしくはSPRESENSE以外のボードでも圧電ブザーをもっていれば)、簡単に試せるので聴いてみてください。