最近更新した記事
各種統計値
ユーザーID:
923088総レス数:
138(第22705位)総編集数:
91(第3180位)総お絵カキコ数:
63(第400位)総新規記事数:
7(第5656位)総ピコカキコ数:
42(第56位)大幅に加筆したもののみ。赤字は今週のオススメ記事に選ばれたものです。
はオススメピコに選ばれたことがあるものです。一発ネタ・修正前・解説用・SEなどは載せていません。
※表の「ほめられ数」は2023/10/15時点のもの
ピコカキコは一歩踏み込んだ内容になると途端に知識やデータが少なくなる(気がする)ので、自分なりに色々調べてまとめてみた。
FM音源については、
を読めば大まかな内容はわかるはず。
ピコカキコでの使い方・パラメータ詳細は、
を参考にする。
#OPM@番号 {
AL FB
AR DR SR RR SL TL KS ML DT1 DT2 AMS /*M1 → OP1*/
AR DR SR RR SL TL KS ML DT1 DT2 AMS /*C1 → OP2*/
AR DR SR RR SL TL KS ML DT1 DT2 AMS /*M2 → OP3*/
AR DR SR RR SL TL KS ML DT1 DT2 AMS /*C2 → OP4*/
(OM以下省略)
}
とあり、AL FBの下に同じパラメータが4行にわたって記述されている。これらは通常オペレータ(以後OP)と呼ばれていて1行1行が正弦波を出力する装置のようなものである。CodePlexの解説では上からM1、C1、M2、C2とあるが、ここではOP1、OP2、OP3、OP4とする。理由は後述。
OPは単体だと単に正弦波を出力するだけだが、OP同士を繋げることで複雑な波形を作ることができる。繋ぎ方はAL(アルゴリズム)で決める。
繋ぎ方によってOPはモジュレータかキャリアのどちらかになり、
オペレータ(OP) | |
OPの下に別のOPが繋がっている? | |
Yes ↓ |
No ↓ |
モジュレータ(M) 繋がっているOPの波形を変調する |
キャリア(C) 波形を音として出力する |
という感じで分類する。この方法が正しいかはわからないが、今のところこれで問題ないのでまあいいや。
ALによってモジュレータとキャリアの数や繋ぎ方が違う。なのでOP1~4のパラメータそのままで他のALに変えた時、必ずしも似た音になるとは限らない。
モジュールFM(OPN)のパラメータを自分が理解できるようにした表 OPMよりパラメータの少ないOPNのみ、OM以下は省略可なので省略。 |
||
---|---|---|
AL | OPの繋ぎ方を決める。繋ぎ方によってかなり複雑な波形を作ったり複数の正弦波を組み合わせた音を作ったりできる。詳細は以下。 上記外部リンクにも載せたさけかんわーくすの「果物使いのためのFM音源温故知新」(外部リンク)の(3)と(4)を見ればこの図を理解できるはず。 パラメータのところであったM1,C1,M2,C2というのはアルゴリズム4を基本としているからそう書いてあるっぽい?ちなみにアルゴリズム4はOP1と3がモジュレータ、2と4がキャリアとなっている。 |
|
FB | OP1が自分自身を変調する回数。(回数?変調の量?)数字が大きくなるとその分音色も変わる。モジュレータが増えたようなものなので、FBが無いときよりも音色を更に変化させることができる。 数字を大きくするとOP1の波形が正弦波からノコギリ波に近くなる。TLの値が小さいときにFBの値を5~7にするとOP1の波形が途端にノイズのようになる。変調される側もノイズのような音になる。 |
|
以下、モジュレータとキャリアで違う動作をするのでそれぞれに分けて説明する | ||
モジュレータ | キャリア | |
AR | 時間的に変調量を変えるので、フィルタエンベロープ(@e2)のような働きをする。とりあえずキャリアに近い値に設定しておいて後から調整していくと楽。 | 音量エンベロープ(@e1)の働きをする。なのでモジュールFMを使用するトラックは@e1の記述が必要ない。 |
DR | ||
SR | ||
RR | ||
SL | ||
@e1・e2で設定するA,D,S,Rはそれぞれこの項目のAR,DR,SL,RRにあたる。SRはディケイの後に更にディケイを追加するようなもので、@eで同じようなことをするには多節エンベロープを使用する(参考:ピコカキコ:VCAエンベロープで遊ぶ)。 | ||
TL | 変調量。歪みエフェクタのゲイン設定のような感じで、派手な音にしたい時は数字を小さく、こもった・丸い音にしたい場合は数字を大きくする。 127だと変調しない。 |
音量。キャリアが1つだけの場合は通常0(音量最大)のままで良い。キャリアが2つ以上なら作りたい音を妄想しつつ兼ね合いを考えて適当に変える。127だと無音。 |
KS | - | - |
ML | 数字を大きくしていくと繋がっているOPの波形が複雑になる。 | 1だと音程そのままで音が鳴る。2でオクターブ上、4で2Oct上、8で3Oct上、0で1Oct下。 (周波数440Hzの音なら0で220Hz、1で変わらず、2で880Hz、3で1320Hz、以下略) |
DT1 | - | - |
AMS | - | - |
音作りで特に重要なのはモジュレータのTLとML。 アルゴリズムを変えてキャリアの設定を終えたらまずこれらを先にいじって大体の音のキャラクターを決めてしまう。 |
#OPN@0 {から設定すると楽な気がする。ちなみにこの状態で@0 @e1,0,0,127,0とほぼ同じ音。
0 0
31 00 00 15 00 127 0 01 0 0
31 00 00 15 00 127 0 01 0 0
31 00 00 15 00 127 0 01 0 0
31 00 00 15 00 000 0 01 0 0
}
FC音源・GB音源の記事を読んで分かったようで分かっていないことをまとめてみる。
※内容が古いです(2015/05/02現在)。その内書きなおします。
FC | GB | |
---|---|---|
音色 | 矩形波x2、三角波、ノイズ、DPCM @5、@6、@7・@8、@9 |
矩形波x2、波形メモリ、ノイズ @5、@10、@11・@12 |
エンベロープ | 矩形波・ノイズは音量最大から減衰のみ @e1,0,x,0,0 または @e1,0,0,127,0(xは任意数) |
矩形波・ノイズは音の立ち上がり音量も指定可能 @e1,0,x,0,0または@e1,x,0,127,0(xは任意数)(?) |
三角波は音量・エンベロープ変更不可 @e1,0,0,127,0で固定、曲の途中で音量変更(v15→v8など)はダメ |
波形メモリは音量変更可だがエンベロープは不可 @e1,0,0,127,0で固定、曲の途中で音量変更(v15→v8など)は可能 |
|
ソフトウェアエンベロープを使用することで自由なエンベロープにすることが可能。 | ||
定位 | モノラル @p64固定 |
ステレオ @p1・@p64・@p127(左、中央、右)の3つから選べる |
FC三角波は「@6」だけだと発音時にプチプチというノイズが入るので「@6-1」と書くと良い。(ピコカキコについて語るスレ#809、ピコカキコ:サンプル音色データベースについて語るスレ#61より)@2に関しても同様。
ピコカキコについて語るスレ#872-877の流れを頼りにして作成した手順を以下のブログ記事に記載しています。
上記内容に沿って作ったピコ↓
DPCM変換することによって、wavデータの波形をピコカキコで使用することができる。ただし変換することによってこもった感じのざらざらとした音になる。主にドラム音やワンショット波形などで使用する。wavデータは自分で用意してコンバータで文字列に変換して使う。詳しくはarche氏のユーザ記事のDPCMコンバータの項目や、ごちゃ氏のブログ「ピコカキコ - WAV9で音階付きメロディ楽器を鳴らす方法・ポイント・仕組み」(外部リンク)、「ピコカキコ向けに高音質なDPCMを用意する手順(私的メモ)」(外部リンク)参照。
初めてMMLを書く方は戸惑うと思うので、私がMMLを書く時に気をつけていることを書いてみました。
私の場合、基本的に「他人が読んで理解できるようにするにはどうすればいいか」を意識するよう書いています。「別に人に見せようと思って書いてねーし!」と言う人もいるかもしれませんが、こうすることで自分が数か月後に読み返す時でもぱっと理解することができるでしょう。
私の書き方以外を参考にしたい場合は、今週のオススメピコの記事のピコカキコを参考にするといいです。
ピコカキコを投稿したレスに飛んで、「元ネタにしてピコカキコ」のボタンをクリックしてソースを見られます。
ちなみに私がピコカキコを始めた時に主に参考にさせていただいたユーザは、もっちょ氏、Ag氏、OffGao氏の3名の書き方です。
スペースを入れずに書くと小節の区切りがわかりにくいため、後に修正する場合など探すのに時間がかかってしまう。
そのため、1小節ごとに半角スペースを入れることによって小節の頭がどこにあるかわかりやすくなる。
↓
また、小節を挟んでタイやスラーがある場合も、以下のように「&」の後に半角スペースを入れる。
1小節に32分音符や64分音符がたくさんあって1行が長くなる場合は、1拍ごとにスペースを入れることもある。
文字列が横に長くなると、いちいち横にスクロールしなくてはいけなかったり、1小節の途中で次の行に表示されることがあるので、ある程度の長さで改行する。目安として、長くても80文字くらいで改行するようにする。これで2~4小節で1行になる。
全音符や2分音符が続く場合は4~8小節くらいで改行することもある。
L16 c4>b8.<c>bre4er a4g8.agrc4cr d4dd-deg-rgrardr gg-gabb-b<cdd-d>bgfd>b
↓
L16 c4>b8.<c>bre4er a4g8.agrc4cr
d4dd-deg-rgrardr gg-gabb-b<cdd-d>bgfd>b
Aメロ、Bメロ、サビなどの展開が変わる場所に1行空行を入れる。
/:4r1:/
/:8r1:/
/:8r1:/
Q12O6L8
/:
/:e&f+e&f+&g+r:/r2
/:e16c+c+c+16/>a<://>a b.bb16g+<er4.
:/d+ >b16bbb16<e>br4.O6
/:
Q15g+4e4d+4Q12ee d+c+d+e2e /
Q15a4e4c+4Q11c+c+ Q12c+d+eQ15d+4.r4
:/Q15a4e4c+4e4 >b2r2L16Q13
/:
/:r2b8.br4:/ r1 /b8.b8bg+8<e8>r4.
:/b8rb8b<d*e16&e16>b8r4.
↓
文字の一番最後にトラック記号を入れると、どこでトラックが切り替わっているかわからないことがある。
そこで、トラック記号を1行に単独で書くことによってわかりやすくする。また、トラックと次トラックの間に1~2行空行を入れると、より見やすくなる。
マクロ定義の場合はこのやり方だと逆に見づらくなることがあるので、状況に応じて書き方を変えるとよい。1行で終わるマクロ定義が何個もある場合など。
L4 cderfgarb<cdefgab
cderfgarb<cdefgab
cderfgarb<cdefgab;
cderfgarb<cdefgab
cderfgarb<cdefgab
cderfgarb<cdefgab;
↓
L4 cderfgarb<cdefgab
cderfgarb<cdefgab
cderfgarb<cdefgab
;
cderfgarb<cdefgab
cderfgarb<cdefgab
cderfgarb<cdefgab
;
音色定義などで1回しか使わない場合は長い名前にしてもいいですが、頻繁に使う場合はなるべく短めにした方が入力するのが楽になる。
マクロを定義したら、コメントで何に使うものかを書いておく。引数がある場合はその意味も書く。
$Bass_Sound=@3 @E1,0,6,114,6 Q12 @V90 O3; /*ベース音色*/
$Oct_F{%note}=/:4 %note8<%note8> :/; /*オクターブフレーズ(全音符分) %note:音名*/
$K=@2 @E1,0,0,225,9,0,0 @L3700,110,2 Q15 @V127 O1 f; /*キック*/
$S=@11 @E1,2,13,0,0 @V64 Q14 O1 c; /*スネア*//*ベース*/
$Bass_Sound
$Oct_F{c} $Oct_F{f} $Oct_F{g} $Oct_F{c}
;
複数行にわたってループする場合、ループの始点と終点を1行単独にする。そしてループの中の文字列は半角スペース2つ分字下げする。(先頭に半角スペースを2つ入れる)こうすることにより、ループの中の文字列がどこかパッと見でわかるようになる。
↓
/:
□□b4g+4f+4g+4 f+ef+g+2g+
□□g+4f+4e4 ef+g+f+&2
:/
/*半角スペースの代わりに「□」を使っています(表示がうまくいかないため)*/
ループの中に更にループがあった場合は、字下げした状態で更に半角スペース2つ分字下げする。
/:3/:/:abe:/>ebg+:/:/
↓
/:3
□□/:
□□□□/:abe:/ >ebg+
□□:/
:/
/*半角スペースの代わりに「□」を使っています(表示がうまくいかないため)*/
途中でループを脱出した後に別のコマンドを書く場合は、ループの終点のすぐ後ろにコマンドを書く。また、ループ脱出記号「/」の前後は、スペースを1つずつ入れる。
/:3
□□/:
□□□□/:abe:/ / >ebg+
□□:/>eber
:/
/*半角スペースの代わりに「□」を使っています(表示がうまくいかないため)*/
波形定義の文字列は長くなることが多いので、ソースの先頭や途中に書くとスクロール量が多くなって鬱陶しいくなることが多い。また、これは頻繁に文字列を変更するものではないので(せいぜい波形番号くらい)、記述の一番最後に書く。
定義の前にはコメントで何の音の波形か書いておくとわかりやすくなる。
(色々な記述)
/*ピアノ*/
#WAV13 0,~
/*ストリングス*/
#WAV13 1,~
/*スネアドラム*/
#WAV9 0,67,0,~
トラックを擬似ステレオ化することで音に広がりを出すことができる。やり方は以下の通り。
↓
/*擬似ステレオ*/
$TEST=@2-1 @E1,0,0,127,0 O6 L4 cdefgfedcegec2r2; /*音色とフレーズ*/
@P32 $TEST; /*定位左寄り*/
@P96 @D-3 r128 $TEST; /*定位右寄り、ピッチを少し下げる、少し発音を遅らせる*/
また、定位の値を変えることでステレオ感を調整することができる。
$TEST=@2-1 @E1,0,0,127,0 O6 L4 cde2;
/*開始直後は中央から音が鳴り、徐々に左右に音が散る*/
@P64 $TEST @P46 $TEST @P28 $TEST @P10 $TEST@P1 $TEST;
@P64 @D-3 r128 $TEST @P82 $TEST @P100 $TEST @P118 $TEST@P127 $TEST;
私の場合、恋愛サーキュレーションのコーラスや、ハッピーシンセサイザのベースでこの方法を使用しています。
コマンドのv・@vでは音量に上限があるが、@e1のサスティンの数字を大きくすれば上限以上に音を大きくすることをできる(@e1,0,0,180,0とか)。音量が小さいDPCMなどで有効。ただし、この方法を使う時は、投稿されている他のピコカキコを参考にして程々に調整する。また、やりすぎると音が割れるので注意。
減衰音を作りたい時は「@E1,0,0,250,40,0,0」のように多節エンベロープを使用する。(参考:ピコカキコ:VCAエンベロープで遊ぶ)
他の方法として、1トラックをマクロで定義し、それを2つ置けばそれだけで音量が上がる(>>21さんより)。こちらも程々に調整する。
この方法は手軽にできるが、トラックが増える分動作が重くなるので、トラック数が少ない時に使うとよい。トラック数が少なくても4オペレータFMやフィルタを使っているとそれだけで重くなるので、状況に応じて使うかどうかを判断すること。
※サスティンレベルを127より大きくする場合のアタックとディケイについて
サスティンレベルを127より大きくする場合にアタック、ディケイを0より大きくすると、思い通りの音量変化にならないことがある。以下がその例。
別のトラックで同時に同じ音程やオクターブ違いの音が鳴るとやたら耳につくことがあるので、トラックごとにデチューン(@d-5~5程度)させるとある程度緩和される。またはその部分だけ音量を下げるという小手先の方法もアリ?
他の方々が書かれたTipsです。とても役に立ちます。
私が使っているものです。現在はほとんど表の上3つしか使用していません。
Macでの動作は不明。リンクは貼らないので興味がある方はググって下さい。
打ち込み | FlMML2WAV | いちいち大百科のエディタを開かなくてもオフラインで使用・内容を保存可。ピコカキコエディタのデフォルトと同じく、フォント名は「_typewriter」、フォントサイズは「14」にしておくと都合が良い。 ピコカキコエディタと違い、一時停止ができない・リドゥアンドゥができない・非アクティブ時に音切れがする、などの欠点もある。アンドゥ対策としてバックアップ用ファイルを作ってたまにそちらにも保存しておくと良い。音切れは自分の環境だけかも? |
耳コピ支援 | WaveTone | 耳コピの他にも目コピやテンポ解析、音出しもできる。参考動画。 |
音きりす | 音を可視化して上下(周波数)、左右(定位)、前後(音量)のうち、聴きたい部分だけ切りだすことができる。主に定位の確認に使用。 | |
音出し | Rainbow Keyboard | PCキーボードを鍵盤として扱える。 |
音源(VSTi) | Synth1 | シンセ音源。LFOやフィルタエンベロープの音の目安を取る時に使用。参考動画。@0~4、@w、@e1、@f、@e2、@lの参考に。 |
Magical 8bit Plug | ファミコン風音源。@5~8をを使うときの参考に。 | |
Chip32 | 波形メモリ音源。ゲームボーイっぽい音(@10)を作りたい時の参考に。 | |
VOPM | 4オペレータのFM音源。@14の参考に。 | |
FM音源エディタ | Hautbois / sccwave氏が製作。これだけスタンドアローン。周波数スペクトルやオペレータの波形を見ながら音作りできる。@14の参考に。 | |
VSTホスト | SAVI Host | 上記VSTiは単体で使うことができませんが(DAWなどを介して開く)、これだとスタンドアローンと同じように開くことができます。 |
仮想MIDIケーブル | MIDI York | PC内でソフト間を繋ぐための仮想ケーブル。自分はRainbow KeyboardとSAVIHostを接続するときに使用。 |
ASIOドライバ | ASIO4ALL | キーボードを叩いてから音がなるまでの遅延を詰めてくれる。必要性を感じなければ入れる必要はない。 |
波形編集 | SoundEngine | 打ち込んだ音源の音の1周期分を取る際に使用。@13の波形メモリ用。ピコカキコ以外でもよく使う。 |
バイナリエディタ | Stirling | @13の波形メモリを作る際に使用。SoundEngineで作った1周期分のファイルを突っ込めば16進数表示するので、該当部分をコピーすればそのまま使える。 |
今までに書いたものと重複しているものがあります。外部リンクも含まれます。
ピコカキコ関連記事の一覧を参照。
一部削除された記事(もしくは編集履歴)で役に立つものがあったので、Internet Archiveのリンクも載せておきます。リンク先でのピコカキコの再生などは行えません。
作曲者ご本人に認知された上にアドバイスも頂けたこと。こういう事もあるんだなと思いました(小並感)。
ツイートを読み込み中です
https://twitter.com/higedriver/status/158919566095941632
ツイートを読み込み中です
https://twitter.com/higedriver/status/158920843521572870
掲示板
57 ななしのよっしん
2023/04/25(火) 12:56:08 ID: XNjffq8gOd
>>56 オススメピコおめでとうございます 強風オールバックすき
キコちゃんがオールバックでリコーダー吹いてるのか…
58 ななしのよっしん
2023/05/29(月) 21:15:27 ID: Jx2D3pGaXY
59 ななしのよっしん
2023/05/29(月) 21:42:34 ID: Jx2D3pGaXY
歌書キコ(ver AT-1.02)の$VXマクロは引数が多いので、入力を減らすために更にマクロでラッピングしてみました。
同じフレーズが8回流れますが、それぞれ書き方が異なります。
急上昇ワード改
最終更新:2024/06/05(水) 17:00
最終更新:2024/06/05(水) 17:00
ウォッチリストに追加しました!
すでにウォッチリストに
入っています。
追加に失敗しました。
ほめた!
ほめるを取消しました。
ほめるに失敗しました。
ほめるの取消しに失敗しました。