Melodyはheaderファイルで定義する。
ただし、曲を差し替えるときは、スケッチの書き換えも必要。
ただし、音色を発車メロディーっぽくするために、スケッチ内で2オクターブほど音階を上げている。(note_offset)
ただし、曲を差し替えるときは、スケッチの書き換えも必要。
- Melodyのheaderファイルの説明
- Melodyファイルの作り方
- 耳コピの適当なやり方
- 他曲のスケッチへの組み込み方
- notes_XXXX1[]〜notes_XXXX6[] XXXXは曲名、Yは1-5で一つ一つが単音で5重和音まで可能。
ただし、音色を発車メロディーっぽくするために、スケッチ内で2オクターブほど音階を上げている。(note_offset)
//hana taki rentaro PROGMEM const byte notes_hana1[] = { /* >レーーレソーーソラソファ+ミレーーー <シ>レソラシー>レー<ラーーーーーーー */ 62, 0, 0, 62, 67, 0, 0, 67, 69, 67, 66, 64, 62, 0, 0, 0, 59, 62, 67, 69, 71, 0, 74, 0, 69, 0, 0, 0, 0, 0, 0, 0, }; PROGMEM const byte notes_hana2[] = { /* >レーーレ<シーーシ>ドミレド<シーーー シーシ>レソーソーファ+ーーーーーーー */ 62, 0, 0, 62, 59, 0, 0, 59, 60, 64, 62, 60, 59, 0, 0, 0, 59, 0, 59, 62, 67, 0, 67, 0, 66, 0, 0, 0, 0, 0, 0, 0, }; −−−−−(省略)−−−−−
- pitch_XXXX[] XXXXは曲名
PROGMEM const byte pitch_hana[] = //ピッチじゃなくて周期 { 120,120,120,120,120,120,120,120,120,120,120,120,120,120,120,120, 120,120,120,120,120,120,120,120,120,120,120,120,120,120,120,120, };
- instrument_XXXX XXXXは曲名
const byte instrument_tanabatasama = 3;
番号 | 音色 |
0 | PWMDACSynth::sineWavetable |
1 | PWMDACSynth::squareWavetable |
2 | PWMDACSynth::triangleWavetable |
3 | PWMDACSynth::sawtoothWavetable |
4 | PWMDACSynth::shepardToneSineWavetable |
MMLからの変換プロジェクトはこちら。
\bin\debug\WindowsApplication1.exeが実行ファイル。
ソフトの使い方は、いわゆるMML風のものを入れると変換してくれるが、今回はオルゴール風のため、音を伸ばすという機能は無視しているので、いろいろと機能を限定した。(4分音符で延ばすとか8分音符で延ばすとか、テンポ指定するとかそういう機能は無い)。また、ドレミファがCDEFというのも、気に入らなかったので、ドレミファと入れられるようにした。(名残で普通の半角の”AB>CD+<A"みたいな書き方も受け付けるが。)
ソースを読むと詳しくはわかるが、適当な機能を言うと、
ド、レ、ミ、ファ、ソ、ラ、シ、ド・・・音
+、−(マイナス)・・・半音あげる、下げる
ー(全角の長音)、R,r・・・休符
>・・・オクターブ上げ
<・・・オクターブ下げ
で、一連の曲は出来るはず。
気をつけなければいけないのが"-"(半角/全角 マイナス)と”ー”(全角 長音)で
前者はb(フラット)の意味で後者は休符の意味。Windowsが変換で、意訳をしてしまうので
+の後のー(長音)は注意。Windowsはまずマイナスにしたがる。
実際であるが、GK3-1,2という曲の一番上のパートについて
\bin\debug\WindowsApplication1.exeが実行ファイル。
ソフトの使い方は、いわゆるMML風のものを入れると変換してくれるが、今回はオルゴール風のため、音を伸ばすという機能は無視しているので、いろいろと機能を限定した。(4分音符で延ばすとか8分音符で延ばすとか、テンポ指定するとかそういう機能は無い)。また、ドレミファがCDEFというのも、気に入らなかったので、ドレミファと入れられるようにした。(名残で普通の半角の”AB>CD+<A"みたいな書き方も受け付けるが。)
ソースを読むと詳しくはわかるが、適当な機能を言うと、
ド、レ、ミ、ファ、ソ、ラ、シ、ド・・・音
+、−(マイナス)・・・半音あげる、下げる
ー(全角の長音)、R,r・・・休符
>・・・オクターブ上げ
<・・・オクターブ下げ
で、一連の曲は出来るはず。
気をつけなければいけないのが"-"(半角/全角 マイナス)と”ー”(全角 長音)で
前者はb(フラット)の意味で後者は休符の意味。Windowsが変換で、意訳をしてしまうので
+の後のー(長音)は注意。Windowsはまずマイナスにしたがる。
実際であるが、GK3-1,2という曲の一番上のパートについて
シラ+ファ+レ+ーーーーーレ+ファ+ラ+シラ+ファ+レ+ >ド+<ラファ+ミーーーーー>ド+レド+レド+<ラファ+ ミーーーーーーーーーーーーーーーと入れて、変換ボタンを押すと
59, 58, 54, 51, 0, 0, 0, 0, 0, 51, 54, 58, 59, 58, 54, 51, 61, 57, 54, 52, 0, 0, 0, 0, 0, 61, 62, 61, 62, 61, 57, 54, 52, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,と変換してくれる。これをヘッダファイルにコピペすればよい。
(1)発車メロディーを録音などして、mp3またはWAV化する。
(2)それをWaveToneというソフトで周波数変換してやる
(3)画面を見ながら、適当に音圧の高いところ(赤い部分)を楽譜というかMML風に書き起こしてやる。
(注意)曲によって、和音があまり分かれていない場合(倍音とかでわけがわからない)があり、そういうのは私のような素人には無理。
(4)出来たメロディーと実際のメロディーを聞き比べて、自己満足できたら終了。
(2)それをWaveToneというソフトで周波数変換してやる
(3)画面を見ながら、適当に音圧の高いところ(赤い部分)を楽譜というかMML風に書き起こしてやる。
(注意)曲によって、和音があまり分かれていない場合(倍音とかでわけがわからない)があり、そういうのは私のような素人には無理。
(4)出来たメロディーと実際のメロディーを聞き比べて、自己満足できたら終了。
最新コメント