2012年3月23日金曜日

オルゴールの楽譜作成方法

1月の「親子で電子工作@月見ケ丘子供の家」で製作した「なかよしタッチオルゴール」で、自分の好きな曲を入れる方法を紹介します。
2月10日に「なかよしタッチオルゴール CPS版」の記事を書いてから、ずいぶんと間が空いてしまいましたので、今更な感じですが、このマイコンプログラムをダウンロードしていただいた方が、2月だけで15人もおられたので、一応、紹介させていただきます。

マイコンのプログラムのダウンロードファイル一式の中に、楽譜をマイコンのプログラムに変換するためのエクセルが入っています。

マイコンのプログラムのダウンロードはこちら

この中の「楽譜変換.xls」というファイルがそれです。
このファイルを、マクロが有効になる状態で開きます。
2枚目以降にシートに、サンプルとして「でんでんむし」などの楽譜が入っています。

新しい曲を入力する場合は、「でんでんむし」のシートに上書きしても良いですし、このシートをコピーして使っても良いです。

楽譜は7行目以降のB列とC列、水色に色をつけたセルに入力します。


B列に音階、C列に音符の長さです。
音階はカタカナで「ド」「レ」「ミ」と書きます。
半音は「ド#」と書きます。「#」は全角文字で入力して下さい。フラット「♭」は使えません。1つ下の音の「#」で表してください。例えば「ミ♭」なら「レ#」と書いてください。
使用できる音階は、1オクターブ下の「ミ」から、1オクターブ上の「」までです。1オクターブ下の音は前に「↓」を付けて「↓シ」というように書きます。1オクターブ上の音は同じように「↑」を前に付けて下さい。
音符の長さは、4分音符が「4」、8分音符が「8」で、2分音符から16分音符まで使用できます。付点音符は後ろに「.5」を付けて表します。例えば付点4分音符は「4.5」になります。

休符は「ん」です。長さは音符と同じように数字で表します。

あと、特殊な機能として、タイがあります。2つ(以上)の同じ音をつなげて演奏する機能です。
タイの表記方法は、つなげる前の方の音を、音階の文字のかわりに「ス」と書きます。後ろの音は普通に書きます。これで、「ス」と次の音とがつながって演奏されます。
例えば次のようなタイの楽譜は、次のように書きます。


ちなみに、なぜ「タイ」を「ス」で表すかと言いますと、私は音楽の知識が乏しく、このソフトを作った当時、スラーとタイの違いを知らなかったのです。それで、スラーと思って「ス」と表すことにしたのですが、その後、同じ音をつなげるのは「タイ」だと知った次第です。ちなみに、違う音をつなげて演奏する本当の「スラー」の機能には対応していません。ご注意下さい。

このようなルールで、全ての楽譜を入力できたら、最後の音の次の行のB列とC列は空白にしておいて下さい。
それから、曲のテンポをセル「B5」に入力します。

楽譜が完成したら、演奏機能を使って、正しく入力できているか確認します。カーソルを楽譜の先頭のセルを選択して「演奏」ボタンを押します。楽譜の途中から演奏したい場合は、演奏を開始したい音のセルを選択した状態で「演奏」ボタンを押します。1つ、ご注意いただきたいのは、この演奏機能はパソコンのビープ音を使用しています。MP3など音楽再生の音が出るスピーカとは別のスピーカを使用しているパソコンが多いです。もしかすると、パソコンによっては、うまく音が出ないかもしれませんが、ご容赦ください。

楽譜を演奏して、正しく入力できていることが確認できたら、マイコンのプログラム用のコードを作成します。コードの作成は「変換」ボタンを押すだけです。


「変換」ボタンを押すと「O列」にコードが書き出されます。書き出されたコードは、ダウンロードファイルの中に、「p12f1822_orgel_v11.X」というプロジェクトフォルダの仲の「gakufu.h」というファイルにコピーします。の全てのセルを選択して、「gakufu.h」の中の、図の位置にコピーします。


それから、楽譜の音符の数がセル「B4」に表示されますので、この値も「gakufu.h」の中の上の図の位置にコピーします。それと、曲のテンポから計算される数値、セル「D5」もコピーします。

これで1曲分の楽譜データが完成です。
曲は全部で4曲入りますので、あと3曲も同じ要領でコードを作成して、「gakufu.h」の適当な位置にコピーしてください。

全ての曲が完成したら、プログラムをコンパイルします。「p12f1822_orgel_v11.X」はMPLAB Xのプロジェクトフォルダです。MPLAB Xでビルドすることができます。ただし、Cコンパイラとして「High-tech C for PIC」のVer.9.82を使ってください。バージョンが異なると、変数名の定義などが異なり、エラーが出る可能性があります。その場合は、適当に修正してビルドしてください。

従来のMPLAB v8.xxを使う場合は、ソースファイルとヘッダーファイルをそのままコピーして使用できます。
それでは、自分のお気に入りの曲を入れて、オルゴールの演奏をお楽しみください。


にほんブログ村 その他趣味ブログ 電子工作へ
↑最後まで読んでいただいた方はこちらのリンクをクリックしてランキングにご協力下さい。

0 件のコメント:

コメントを投稿