4
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

今年一番の大ニュースと言えば、、、日本語プログラミング言語「なでしこ3」に『MML演奏』という命令が追加されたことでしょう。

筆者を含め皆さんもとても忙しい年でした。自分へのご褒美として、年末に向けて、ブラウザ楽器を作って遊んでみるのはどうでしょうか。

「MML演奏」を使ってブラウザで音を鳴らそう

最初に「MML演奏」を使う方法を確認してみましょう。以下は一番簡単なMML演奏のサンプルです。

一番簡単なMML演奏のサンプル.nako3
# 『MML演奏』の一番簡単なサンプル

# 拡張プラグインの取り込み --- (*1)
!『拡張プラグイン:music.js@1.0.2』を取り込む。

# --- 音楽を再生 --- (*2)
「音階5 ドレミ」をMML演奏。

上記のプログラムは、なでしこ3貯蔵庫で実行できます。プログラムを確認しましょう。実行すると、ドレミっと音がなります。

  • まず、(*1)では、MML演奏を有効にするための宣言を記述します。この命令は、なでしこの拡張プラグインとして用意されています。そのため、このようにプラグインの取り込み宣言を書く必要があります。
  • 次に、(*2)で、MML演奏を記述しています。「ド」とか「レ」と記述することで、その音を演奏できます。

簡単なブラウザ楽器を作ろう

次に、ボタンを押したら音が鳴るという以下のようなプログラムを作ってみましょう。

スクリーンショット 2023-11-24 22.31.37.png

ボタンを押したら音が鳴るサンプル.nako3
# 拡張プラグインの取り込み --- (*1)
!『拡張プラグイン:music.js@1.0.2』を取り込む。

# --- ボタンを押したら音楽を再生 --- (*2)
C=「ド」のボタン作成。
Cをクリックした時には
  「音階5 ド」をMML演奏。
ここまで。
E=「ミ」のボタン作成。
Eをクリックした時には
  「音階5 ミ」をMML演奏。
ここまで。

なでしこ貯蔵庫で見る

プログラムを見てみましょう。(*1)は先ほどと同じです。(*2)ではボタンを作成し、それをクリックしたら音が鳴るようにしています。

ラップボタンも作る?

なお、最近のブラウザは、TTS(テキストを読み上げる)機能が備わっています。そのため、TTS機能を使うと、より面白い楽器になるでしょう。

スクリーンショット 2023-11-24 22.39.38.png

ボタンを押したら音楽を再生その2.nako3
# 拡張プラグインの取り込み
!『拡張プラグイン:music.js@1.0.2』を取り込む。

# --- ボタンを押したら音楽を再生
C=「🎹ド」のボタン作成。
Cをクリックした時には
  「音階5 ド」をMML演奏。
ここまで。
E=「🎹ミ」のボタン作成。
Eをクリックした時には
  「音階5 ミ」をMML演奏。
ここまで。
G=「🎹ソ」のボタン作成。
Gをクリックした時には
  「音階5 ソ」をMML演奏。
ここまで。
SP=「こんにちは」のボタン作成。
SPをクリックした時には
  「こんにちは」と話す。
ここまで。
SP2=「げっっつ」のボタン作成。
SP2をクリックした時には
  「げっっつ」と話す。
ここまで。

貯蔵庫で実行

プログラムでは「話す」命令を使っています。ボタンを押すと、音がなったり「こんにちは」と言ったり、ダンディー坂野のような切れのある逆を繰り出したりできます。

まとめ

以上、今回は「MML演奏」を使ったら、簡単なプログラムを紹介しました。
音が鳴るってとても面白いですよね。
こんな感じで、面白いブラウザ楽器を作ってみてください!
きっと楽しい(はず)です。

4
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?