2級では「テンポや音量の調整」や「ループやコメントアウト」を習得した。
本記事ピコカキコ:基礎コース(1級)では、
ことを目的としている。
これまで作成してきたピコカキコは、デフォルトで設定されている音色で演奏している。このデフォルトの音も「ピコピコ」としていてそれなりにかわいいのだが、「バイオリンを鳴らしたい」「ギター&ベース&ドラムでロックを再現したい」「ゲーム音楽を再現したい」という願望を十分満たしてくれない。この願望を満たすためには音色指定をする必要がある。
音色データは1.FlMML(MML記法)の音色パラメータ図解&楽器音テンプレ(@Korinchanの音楽室)と2.ピコカキコ:サンプル音色データベース(@ニコニコ大百科)に掲載されている。
たいていの音色データは
の部分がある。
そしてときどき
があり、場合によっては
の部分を持つ。(これらの意味についてはここで掘り下げることはしない。)
バイオリン
@1@E1,8,20,110,12 t140 l8 o6
q12g4r q8d q12g4r q8d gdgb< q16d4r4
q12c4r q8>a q12<c4r q8>a <c>af+a q16d4r4
q14grq16g4.bq8ag q15g24&a24&g24q10f+q16f+4.a<q8c>f+;
との記述があるが、赤字で示した部分が音色データである。(q[数字]というコマンドがあるが、これと音色データ以外のほとんどの部分は理解できるはずである。q[数字]については後述「ゲートタイム指定」の部分で説明する)
音色指定するには各トラックの最初に音色データを張り付ければよい。
初級で作成したきらきら星をバイオリンで演奏させるには、この赤い部分をコピーして
@1@E1,8,20,110,12
C4C4G4G4A4A4G2F4F4E4E4D4D4C2
G4G4F4F4E4E4D2G4G4F4F4E4E4D2
C4C4G4G4A4A4G2F4F4E4E4D4D4C2
とすればよい(実際演奏させてみよう)。若干ざらついているがデフォルトの音よりバイオリンに近い音のはずである(1オクターブあげるとよりバイオリンに近くなる)。
この音色データはトラックをまたぐ効果を持たない。よって第1トラックでバイオリン、第2トラックでクラリネットなどを演奏することが可能である。
また@Lや@Fを用いない音色データは演奏の途中で変更してもよい。(発展:@Lや@Fを用いた音色データも変更可能であるが本コースで扱わない知識が必要となる。)きらきら星の1~4小節をクラリネットで、5~8小節をトランペットで、9~12小節をエレクトリックギターで演奏させることができる。
@3@w50@E1,4,20,64,4
C4C4G4G4A4A4G2F4F4E4E4D4D4C2
@1@E1,1,16,60,2
G4G4F4F4E4E4D2G4G4F4F4E4E4D2
@3@w6@E1,0,200,0,15
C4C4G4G4A4A4G2F4F4E4E4D4D4C2
音色の仕組み(波形、エンベロープ)については上述Korinchanの音楽室のページを参照のこと。
これらを用いることで複数トラックで大編成の音楽も奏でることができる。2009年11月以降は十数トラックの同時演奏も楽々可能となったため、ちょっとしたオーケストラも再現できるようになっている(作る側の根気が続かないが…)。
発展とちょっとしたヒント: ピコカキコで複数トラックを用いて演奏すると音のざらつきが気になるときがある。とくに音色データに@3や@1を用いていると顕著である。これは波形の関係で倍音が多く含まれているからである。そんな時は低音パートを@2に変えることですっきりすることがある。より根本的にはフィルタ(@F)を用いて倍音をコントロールする必要があるのだが・・・。
「自分の演奏したい楽器がリストにない…」「この音色はやっぱり違う…」そんな時はピコカキコ:サンプル音色データベースの掲示板で作成依頼してみるといいかもしれない(誰かがやってくれるとは限らないですが・・・)。また、音色を自由に操作できるようになったらぜひオリジナルのサンプル音色を作成して同ページに投稿してほしい。
音色データにはドラムセットもある。ドラムの作成には2点ほど注意が必要である。1.@4を用いる点と、2.トーン&ノイズの組み合わせが必要な点である。
音色データに@4が用いられている場合、音階を気にしなくてよい。音階CDEFGABが意味を持たず、音長のみが意味を持つ。C8はF8やG8と同じ音になる。
バスドラムとスネアドラムは基本となるトーンとノイズの2トラックを使う(音色データはピコカキコ:サンプル音色データベースに掲載されている)。たとえばスネアドラムは
/*---------トーン---------*/
@3 @e1,0,18,0@l500,36,-1,0,1o3 v15
L16 /:rcrcrccc:/
;
/*---------ノイズ---------*/
@4 @n110@e1,0,24,0,0v15
L16 /:rcrcrccc:/
;
となる(これも実際に演奏させてみよう)。
2級課題曲3で作成した「ねこふんじゃった」をピアノの音色に変更しなさい。
5つのトラック(ハイハット1チャンネル、スネアドラム2チャンネル、バスドラム2チャンネル)を使って以下の16ビートのドラムセクションのピコカキコを作成しなさい(最上部×がハイハット、中段がスネアドラム、最下部がバスドラムである)。
解答例)
t120
/*--------ハイハット--------*/
@4 @n0 @e1,0,5,0,0v4
l16 /:/:16c:/:/
;
/*--------スネア------------*/
@4 @n110 @ e1,0,24,0,0 v15
l16 /:/:r4crrr:/:/
;
@3 @e1,0,18,0@l500,36,-1,0,1 o3 v15
l16 /:/:r4crrr:/:/
;
/*--------バスドラ-----------*/
@4 @n127 @e1,0,10,0,0 v15
l16 /:crrcrrrcrrcrrcrr:/
;
@3 @e1,0,10,0 @l300,20,-1,0,1 o2 v15
l16 /:crrcrrrcrrcrrcrr:/
;
初級で述べたようにピコカキコで指定できる音長は「1, 2, 3, 4, 6, 8, 12, 16, 24, 32, 48, 64, 96, 128, 192, 384」だけである。
ここで覚えておきたいのはN連符の音長の求め方である。実は簡単で、単純な掛け算をすればよい。4分音符1個分の中に3個の音符を入れた3連符は4×3=12となり、3連符の音長は12(たとえばC12)となる。
たとえば以下の楽譜は
L12
CDEFGFEFEDED
と記述できる(3連符は3つで4分音符1つ分の長さなので音長が4×3=12になる)。
ただし、これは3連符、6連符と言った例外的な場合だけに妥当するものである(384ticksを素因数分解すると384=27×3であり、3が1つだけ含まれているため3連符だけは普通に記述出来る)。下記の7連符の部分は楽譜通りに演奏することはできない。
(ベートーベンソナタ8番(悲愴)第1楽章のカデンツァ部より)
こんなときは以下のように記述する。
{aa-gf+fee-}16
上記楽譜では16分音符の長さで7つの音を出さなければならない。{}の中に7つの音を書き込み、{}の直後にその7音をどの長さで演奏するかを記述する。すると16分音符の長さで7つの音が均等に演奏される。もっともあまり無茶なデータは正しく演奏しないので注意が必要である。
なお引数付きマクロ(基礎コースでは扱わない)の指定でも{}が用いられるが、その中でN連符を指定したい場合は
/*マクロ指定*/
$MACRO{ARG}=%ARG;
/*マクロ演奏*/
$MACRO{"{CDEFG}4"}
のように""でくくる形で指定する。
ノートシフトは転調する場合や、移調楽器用の音符を演奏する場合に用いられる。フレーズがそのまま半音上がる場合や下がる場合、新しく音符を書く必要はない。CDEFEDCを半音あげたい場合NS1をつければよい。全音上げる場合はNS2、半音下げる場合はNS-1とすればよい。
たとえば、
T170L16
/:C8CCC8C8E8C8E8C8E8EEE8E8G8E8G8E8:/
NS1
/:C8CCC8C8E8C8E8C8E8EEE8E8G8E8G8E8:/;
となる。一度上がったものを元に戻すにはNS0である。(NS-1ではないことに注意。)
また、似たような機能として@NSがある。これはノートシフトを相対的に行うものであり、書き方としては、「< >」(相対オクターブ指定)や「) (」(相対音量指定)に近い。
たとえば、
C NS2 C @NS2 C NS2 C
と書いたとき、どのように音が鳴るのかを追ってみる。
最初のCは特に何も指定しないので「ド」の音が鳴る。次に、NS2によって、 全音上がっているので「レ」の音が鳴る。問題は次の@NS2である。このとき、NS2からさらに全音上がった(すなわちNS4の状態)ので「ミ」の音が鳴る。最後のNS2では、これまでのノートシフトに関係なくNS2の状態になる。よって、「レ」の音が鳴る。
以上より「ドレミレ」と鳴ることがわかった。
このことから、NSは絶対的、@NSは相対的な性質があることがわかる。これまでの絶対的・相対的なコマンドの組み合わせをまとめると以下のようになる。
コマンドの種類 | 絶対的 | 相対的 |
---|---|---|
オクターブ | O | < > |
音量 | @V V | ) ( |
ノートシフト | NS | @NS |
ピコカキコで出てくる音は機械的な周波数であるため、ユニゾン(同じ音を重ねること)させるとただ音が大きくなるだけである。コーラスのように微妙な音の揺らぎによって演奏を豊かにする場合、2つ目3つ目のトラックでは音程を少しずらして演奏するとよい(デチューンを使う)。
(デチューンとは「微調整」を表す単語である。)
デチューンは@D[数字]を指定する。数字の単位はcentである(100cent=1半音,@D100はNS1と同じ効果を持つ)。ここで言う半音とは、1オクターブを周波数に従って12等分した音である(つまり1オクターブは12半音である)。
たとえば@D50とすれば、半音の半分だけ音が上がる。ブルースのクウォーター・チョーキングを表現したいときにも使える。
別の利用法として「エコー」を表現する際にも使える。下の2つを聴き比べてみよう。
L8CDEFEDC;
R32 L8 CDEFEDC;
L8CDEFEDC;
R32 @d-20 L8 CDEFEDC
2つ例は、ともに2つののトラックを使って第2トラックを32分休符一個分だけずらすことでエコーがかかった感じを表現している。ただ、上の例では同じ音が重なるので無機質なのに対し、下の例ではわずかに低い音が重なるのでぼわーんとした反響がきれいに表現されている。
音のステレオ定位の指定のことであり、より正確にはパンポットと呼ぶ。ピコカキコの音はステレオになっていて、例えば特定のトラックを右から、別のトラックを左から鳴らすことなどが可能である。もちろん右、左、中央の3つだけではなく、「ちょっとだけ右」、「ちょっとだけ左」などの細かな調整も可能である。
クラシックの大編成のような場合だけでなく、ポップ系でも中央から音が出るだけだとごちゃごちゃした感じになるのに対し、各パートを少しずつ左右にパンを振ることで立体的になり奥行きが表現され、かつ、すっきりした演奏になる(あまり大げさにやるとバラバラになるので注意)。
パンを設定するには@P[数字]を記入すればよい。数字は1~127まで。
@P1で左から、@P127で右から音が出る。デフォルトは@P64である。
L8
@P20C@P25D@P30E@P35F@P40G@P45A@P50B<
@P55C@P60D@P65E@P70F@P75G@P80A@P85B<
@P90C@P95D@P100E@P105F@P110G@P115A@P120B
楽譜が四分音符であっても四分音符の長さほど音が響かないような楽器がある(たとえばドラムのバスドラムなど)。本来の音の何分の1かの音を鳴らし、あとは休符にすると感じが出るのだが、「L16CRRR」と書くのは煩雑だったりする。そこである音の何割かしか音を鳴らさないという設定をあらかじめしておくことがある。これがゲートタイム設定である。
ゲートタイム設定はQ[数字]の形で設定される。数字は1~16。
Q10と設定すれば、G4の音が4分音符の10/16だけ演奏されて途切れる。Qの値を半分のQ8にすればスタッカートと同じ効果を持つ。
デフォルトはQ15である。
発展:17以上の長さも設定できるがここでは扱わない。詳しくは→こちら
2級の絶対音量指定(@V、V)の項目で述べたように、タイでつながれた音はVや@Vでは途中の音量を調整することができない。その代わりに@Xを用いて音量を調整する。
エクスプレッションは@X[数字]の形で指定し、数字には0~127が入る。デフォルト値は@X127である。
効果は下のMMLで確認してほしい。
L8V13
@X10G&@X20G&@X30G&@X40G&@X50G&@X60G&@X70G&@X80G&@X90G&@X100G&@X110G&@X120G
音の強弱は通常線形で表される。@V100は@V50の2倍である。一方、音の大きさは非線形であり、@V2と@V6の音の大きさの違いは、@V8と@V12の音の大きさの違いと一緒である。これを指数・対数関数的に表現することも可能である。それが音量モードの変更である。
デフォルトはX0で線形である。X1にすると指数関数のように変化する。右のグラフを見てみると、X1は@Vの値が16減るごとに半分に、X2では@Vの値が8減るごとに半分になっているのが分かる。ただし、@V0では特例で音量が0となっている。すなわち、音量モードX0,X1,X2における@Vの値をそれぞれX0,X1,X2(>0)とおくと、音量の関係は
X0/127
=(1/2)(127-X1)/16
=(1/2)(127-X2)/8
となっている。@V127における音量はどの音量モードでも同じであり、ここではその値を1とした。
このモードの変更によってVCAエンベロープ(@E1)、ベロシティー(V, @V)に影響が出る。
曲の中には何度も登場して演奏されるフレーズがある。隣り合っていればループ処理をして繰り返せばいいが、離れている場合にはそれができない。また、カエルの歌の輪唱やフーガのように複数のトラックで同じフレーズが出てくる場合もある。
そうした時に最初にフレーズを宣言して、それを再利用することができたら楽である。これを可能にするのがマクロである。
マクロは$[マクロ名]=[内容];の形で指定される。
セミコロンで区切られており普通のトラックと類似しているが、「$」と「=」があることでマクロ文と判別しているらしい。
[マクロ名]は英数半角を用いる。ただし数字だけではだめ。紛らわしくない名前をつけておく。
[内容]は代入される部分である。[内容]の中には繰り返されるフレーズだけでなく、音色データ、他のコマンドなど何が入ってもよい(ただしセミコロン(;)が入るものは除く)。
ピコカキコはこの宣言された内容を機械的に代入する。
なおマクロの宣言文はMMLの最初に書く必要がある(本当は最初じゃなくてもいいんだけど最初と覚えた方が便利)。
CDEF EDCR EFGA GFER CRCR CRCR C8C8D8D8E8E8F8F8 EDCR;
R1 R1 CDEF EDCR EFGA GFER CRCR CRCR C8C8D8D8E8E8F8F8 EDCR;
R1 R1 R1 R1 CDEF EDCR EFGA GFER CRCR CRCR C8C8D8D8E8E8F8F8 EDCR;
R1 R1 R1 R1 R1 R1 CDEF EDCR EFGA GFER CRCR CRCR C8C8D8D8E8E8F8F8 EDCR;
繰り返される部分を$KAERUというマクロ名で宣言してしまえば、
/*-------マクロ宣言文---------*/
$KAERU = CDEF EDCR EFGA GFER CRCR CRCR C8C8D8D8E8E8F8F8 EDCR;
/*-------------演奏-----------*/
$KAERU;
/:2R1:/$KAERU;
/:4R1:/$KAERU;
/:6R1:/$KAERU;
以上のようにできる。
別の例として音色データとフレーズの両方をマクロ宣言してみよう。実際演奏させてみて、なぜこうなるかを考えてみよう(実際ここまでやるメリットはないかもしれないが・・・)。
/*-------音色---------*/
$ACHORDION = @3@w20@E1,4,32,96,12 @P45;
$EBASE = @1@E1,0,80,0,4 @P70;
$HARP = @2@E1,0,64,0,32 @P55;
$CLARINET = @3@w50@E1,4,20,64,4 @P65;
/*------フレーズ------*/
$PH1 = L4CCGGAAG2;
$PH2 = L4FFEEDDC2;
$PH3 = L4GGFFEED2;
/*-------演奏---------*/
$ACHORDION
$PH1
$EBASE
$PH2
$HARP
$PH3
$CLARINET
$PH3
$ACHORDION
$PH1
$EBASE
$PH2;
なお、引数が含まれる高度なマクロ文もあるが、本コースでは取り上げない。
初等マクロ文を1つ以上使って、 自分の好きな曲をピコカキコで作成しなさい。特になければ以下の曲をピコカキコで作成しなさい。
マクロを使うと、2級の選択の部分で述べた「テンポ用無音トラック」をさらに発展させて、MMLの最上部に特定の音を出せるような「コントロールパネル」をつくることができる。2級の時と同様「ねこふんじゃった」の例をあげてみる。
/*-------部分演奏用---------------*/
$Pright = /:1;
$Pleft = /:1;
/*------------音色----------------*/
$Spiano1 = @3@w50@E1,0,170,0,12;
$Spiano2 = @3@w50@E1,0,170,0,12;
/*-------テンポ用無音トラック-----*/
t99999
r4/:5r1:/
t180
r1
;
/*------右手演奏------*/
$Pright
$Spiano1
l8o5
d+c+
r4f+4f+4d+c+r4f+4f+4d+c+
r4f+f+r4f+4r4f4f4d+c+
r4f4f4d+c+r4f4f4d+c+
r4ffr4f4r4f+4f+4r4
:/
;
/*------左手演奏------*/
$Pleft
$Spiano2
l8o4
r4f+4a+4a+4r4f+4a+4a+4r4
f+4a+a+d+4a+4c+4b4b4r4
c+4b4b4r4c+4b4b4r4
c+4bbd+4b4f+4a+4a+4r4
:/
;
右手だけ、左手だけを演奏させたかったら黄色の部分を操作すればよい。特定の小節まで飛ばしたかったら水色の部分を操作すればよい。音色を変化させたかったら紫の部分を操作すればよい。
このように全操作をMMLの先頭でできるのでMMLが長くなってしまった時には特に有効である。
本コースで扱えなかったものをまとめておく。それぞれの要望に合わせて各自習得してほしい。
ピコカキコ:基礎コース(1級)はここまで。
本コースではピコカキコ(MML)の基本的なコマンド、操作の仕方について演習を交えながら紹介してきました。本コース修了によって、楽譜を読める程度の知識を持った人がピコカキコをつくって演奏するという目的はおおむね達成できる・・・とおもいます。あとは実際にピコカキコを書きあげるまでのだるさとの戦い。がんばってください。そして、お気に入りのピコカキコができたらぜひ投稿してください。また、たとえ未完成でも、「/*力尽きた・・・。誰か頼む*/」と投稿するのもありです。(もっともピコカキコは各自スタイルがあるので他人の作品に手を入れて完成させるのは難しいかもしれませんが…。)
他方、本コースでは、音色に関する部分の説明を省略しました。たとえば音色を加工する「フィルタ」や「エンベロープ」、「フォルマントフィルタ」、音程や音源を揺らす「LFO」、「FM音源」、「波形メモリ」、「DPCM」などを扱うことはできませんでした(単に記事作成者ができないだけという理由だったり・・・)。音色を自分で作成できるのはピコカキコの最も強力で最も魅力的な部分です。興味をもたれた方は各自関連記事などを参照して習得していただけたらと思います。
以上で基礎コースの修了です。お疲れ様でした!
![]() |
このユーザはピコカキコ:基礎コース(1級)を修了しました。 |
以下をユーザページに張り付けると上のようなユーザボックスが表示されます。詳しくは→ニコニコ大百科:ユーザーボックスの一覧
<table style="border: 1px solid #999999; margin: 1px; height: 62px;" width="214">
<tbody><tr>
<td>
<img alt="ピコカキコ" src="https://dic.nicovideo.jp/oekaki/198134.png" width="50" height="50" />
</td>
<td style="padding: 6px; text-align: left; vertical-align: middle; font-size: 11px; line-height: 1.25; color: black;">
このユーザはピコカキコ:基礎コース(1級)を修了しました。
</td>
</tr></tbody>
</table>
ピコカキコ:基礎コース |
初級- 3級 - 2級 - 1級 |
掲示板
急上昇ワード改
最終更新:2025/03/16(日) 09:00
最終更新:2025/03/16(日) 09:00
ウォッチリストに追加しました!
すでにウォッチリストに
入っています。
追加に失敗しました。
ほめた!
ほめるを取消しました。
ほめるに失敗しました。
ほめるの取消しに失敗しました。