archeさんのページ ユーザー

5.2千文字の記事
  • twitter
  • facebook
  • はてな
  • LINE

ユーザーボックス
Windows このユーザーWindowsを利用しています。
Opera このユーザーOperaを利用しています。
ゆっくりピコカキコしていくよ!!! このユーザーピコカキコゆっくりしていく傾向があります。

簡単なプロフィールのようなもの

このページは?

何の変哲もないユーザページ

多分、記事に投稿するほどでもないものとか、該当する記事がないピコカキコ置き場になるかと。

ピコカキコエンジン(FlMML)についてもいろいろメモを書いてたり。

これまでに投稿したピコカキコ

量もそれほど多くはないんだけれども一応リストに。上に行くほど新しい。

対武器ボス戦
5739
危険なピコカキコというよりは危険な波形定義
ヴェエエエエエェェエエエェエエ
4245
ワールドカップの時にうるさかったアレ
海都アーモロード
3684
ゲームはまだ未クリア世界樹IIと並行して進めることに。人は気にせずゆっくりプレイする。
LEVEL5 -judgelight-
3643
どうしてあのPVはあんなことになったんだろう・・・
不思議の国のアリス
3550
#WAV13すげぇ。すげぇ。
Artificial Intelligence Bomb
3429
mckからピコカキコへの手動変換とか。ぜひとも原曲も聞いていただきたい。ちょっとミスあり。
あ゛ぁん///
3392
やれるものならやってみろと言われたので。ごめんなさい勢いでやりました。
VSプロト
3072
だいたいGBA音源準拠のはず。まぁPCMあるからなんでもありと言えばそうなんでしょうけれども。
シュレーディンガーの猫
2375
かいててわけがわかりませんでした
カーニバルだ!
2180
矩形波1トラックのみ。アレンジを先に聞いてて何かの拍子にBio_100%サイトから元音聞いたらBEEPだなんてびっくりですよ。
東方妖怪小町
2149
FM音源練習も兼ねて。なんとなく旧作っぽい感じで。
えれくとりっく・えんじぇぅ (FC風アレンジ)
1820
ひたすらアルペジオピッチベンド。キックとスネアの補助にDPCM使用。
(D)PCMテスト
1814
ピコカキコ、楽しいよ!
魔理沙は大変なものを盗んでいきました の冒頭のあの音
1728
また再現ネタ。いわゆるガバキック。流用したい人向けのコメント付き。
自作曲
1706
前にDAWで作った自作曲ピコカキコ移植FC音源っぽい感じで。
シンデレラケージ ~ Kagome-Kagome
1583
勢いで再現ネタピアノ理・・・・・・。みょんみょんした音が鳴るのはどうしようもなかった。下のほうにある「なんか高音で変なノイズが乗る」の項を参照。
街景 その名は百巻目に刻まれた! (街施設 冒険者ギルド)
1557
FMでやろうかと少し思ったけど結局フィルタ波形メモリ中心。重いのはご嬌。
1242
FC風音実装と聞いて。
RYDEEN
274
結構重いです。余裕という人はコメントを見てさらに重たいものでも。
ネイティブフェイス
259
以前にトラカーで打っていたものをMMLで書き直したもの。

FlMMLについてのメモ

ピコカキコエンジンであるFlMMLexitについてのメモ。出来るだけ最新版に追従してるつもりですが、遅れたりしてるかもしれません。

リファレンスexitに書かれていない事を中心に。間違いがあったら掲示板で教えてくださると助かります。

各パラメータのデフォルト値

パラメータ名 デフォルト値に設定するコマンド
音程関連 オクターブ(O[n]) O4
デチューン(@D[n]) @D0
LFO(@L[n],[n],[n],[n],[n]) @L0,0,0,0,0
音長関連 デフォルト音長(L[n]) L4
ゲートタイム割合定(Q[n]) Q15
ゲートタイム絶対定(@Q[n]) @Q0
音量関連 ベロティ定(V[n], @V[n]) @V100
エクスプレッション(@X[n]) @X127
音量モード定(X[n]) X0
制御関連 テンポ定(T[n]) T120
パン振り(@P[n]) @P64
音色関連 VCO波形選択(@[n]) @3
VCAエンベロープ(@E1,[n],[n],[n],[n]) @E1,0,60,30,1
VCFエンベロープ(@E2,[n],[n],[n],[n]) @E2,0,30,0,127
ノイズ周波数設定(@N[n]) @N0
パルス幅(@W[n]) @W50(@3の場合), @W4(@5の場合)
フォルマンフィルタ(@'A') @''
フィルタ(@F[n],[n],[n],[n]) @F0,0,0,0
FM(@O[n],[n]) @O0,0
FM(@I[n],[n]) @I0,0
リングモジュレータ(@R[n],[n]) @R0,0
オシレータシンク(@S[n],[n]) @S0,0

波形メモリのデータ

初期状態ではそれぞれのメモリに"0123456789abcdeffedcba9876543210"(FC三角波(@6)と等価?)が入っています。

また、再生開始時に初期状態に戻りません。前回再生時に設定したデータが残ります。ピコカキコエディタFlMMLフォームで編集するときには注意。

ちなみに、#WAV10で設定するときにデータが32桁に満たない場合の残りの部分は、0で埋められます。

(ほぼ)デフォルトの設定にするMML

T120 O4 @D0 @L0,0,0,0,0 L4 Q15 @Q0 @V100 @X127 X0 @P64 @3 @E1,0,60,30,1 @E2,0,30,0,127 @N0 @W50 @'' @F0,0,0,0 @O0,0 @I0,0 @R0,0 @S0,0

MMLから音声になるまでの流れ

音を鳴らし始める前の処理

波形生成処理

ブロックダイアラムで書くと以下の図のようになっているようです。(rev.32278時点のもの)

Tipsのようなもの

ゲートタイム指定について

16以上の値も定可。次の音が休符の場合のみ音が長くなる、という定義とかもできる。

Q24 ccr

上のMML再生すると1音と2音の長さのは1:1.5になります。

タイ/スラーのつけ方

&はノート/音長/付点の直後に書くこと。以下の例のような感じ。

c&l16c; g4.&>g16

V[n]と@V[n]の関係

V[n]と@V[n]は同じパラメータを変更します。どちらかのうち、後に出てきたコマンドの値が適用されます。

V[n]と定したときの音量は@V[n * 8 + 7]と定したときと同じになります。

V[n]と@V[n]の値の範囲以外の違いとしてその後の音量相対定('(', ')')の際の変動量の変化があります。

最後に実行したコマンド@Vの場合は1ずつ、Vの場合は8ずつ(それぞれ@Vでの値)変化するようです。

デフォルト@Vにより定を行った後の状態になるっぽい。

パルス幅設定(@W[n])の動作の変化

パルス幅設定(@W[n])はVCO波形がFCパルス設定の時とそれ以外のときで変更される箇所が変わります。

トラックの波形が@5(FCパルス)の時に@Wを書くと、@5の時のDutyが、それ以外のときに書くと@3の時のDutyが変わります。

@0@w20@3c @5c@w2 @3c @5c

上のMML再生すると鳴るパルスのDutyは順番に、20:80→50:50→20:80→25:75になります。

休符のトラックばかりなのに妙に重いときは。

フィルタ処理が不要な場合には自動で省かれるようになりました。下のような小手先のテクニックはもう要らないはず。

フィルタ(@f)とフォルマンフィルタ(@'')は音が鳴っていないときにも処理を行うようです。

休符のトラックばかりなのに妙に重い、という場合は疑ってみるといいかも。@f0/@''で一時的にフィルタの動作を止めるのも一つの手。

なんか高音で変なノイズが乗る

以前に投稿したシンデレラケージ ~ Kagome-Kagomeで特に顕著な現。他トラックに埋もれてるけどRYDEENリードパートなんかでも出てます。

FlMMLのオシレータ部(特に@1~@3)が非常にシンプルな波形を生成しているため、折り返しノイズexitが発生してそれが十分に聞こえるレベルになっちゃっているのが原因。フィルタとかLFOとかと組み合わせると非常に立つから困り者。

対策としては・・・・・・ユーザレベルじゃどうしようもないかなぁ。FlMML自体にテコ入れすれば善できると思うけれども結構重たい処理になる気がする。

DPCMコンバータ

置いときますね。DPCM自体の使い方はおーさんのブログのエントリexitを参照のこと。

http://www.logicmachine.jp/files/DPCMConverter.swfexit

http://www.logicmachine.jp/files/DPCMConverter.src.zip (ソースコード)exit

FlMML2WAVについて

ピコカキコ投稿されているものなど、FlMML用のMMLデータ再生結果をWAVファイルに録音できるツールです。再生時の負荷が大きく再生が途切れ途切れになるものでも、きちんと繋がった形で録音します。

ダウンロードは以下のリンクから。Adobe AIRランタイムがあればWindowsでもMacでもおおよそ使えるはずです。使い方は同梱のReadme.txtを参照してください。

FlMML2WAVをダウンロードするexit

引数つきマクロについて

codereposにあがっているものに反映していただけたので簡単に説明を。

まずは分かる人向けの簡潔な説明。

$m{cmd}=@v100%cmd16@v16%cmd16; $m{c} $m{d} $m{e};

上のコードマクロを展開すると下のようになります。

@v100c16@v16c16 @v100d16@v16d16 @v100e16@v16e16;

マクロ定義のときに$[macroName]{[argName0],[argName1],...}=...というようにマクロ名を決めると、そのマクロ定義中で%[argName0], %[argName1]...というような値がマクロのように扱うことが出来るようになります。

ここで、%[argNamen]と置換される文字列は、マクロを呼び出す際に決定されます。

$macro{[val0],[val1]}という具合に呼び出すと、その呼び出し部分の展開時には%[argName0][val0]に、%[argName1][val1]に、といった具合に置換された上で通常のマクロ置換が行われます。

・・・・・・プログラム経験い人には分かりにくいよなぁ。かもっと分かりやすく解説してくれないだろうか。何かよく分からないところがあったらここの掲示板にでも書いてくれればいくらか対応できるかもしれません。

ここから雑記

  • FM使うときにフィードバックを使おうとしたら力技でやるしかないのかなぁ。
  • いい加減ユーザ記事が長くなってきたのでどうにか整理したい。
この記事を編集する

掲示板

おすすめトレンド

ニコニ広告で宣伝された記事

記事と一緒に動画もおすすめ!
山口剛央[単語]

提供: Pyun Pyun

もっと見る

急上昇ワード改

最終更新:2024/04/24(水) 19:00

ほめられた記事

最終更新:2024/04/24(水) 19:00

ウォッチリストに追加しました!

すでにウォッチリストに
入っています。

OK

追加に失敗しました。

OK

追加にはログインが必要です。

           

ほめた!

すでにほめています。

すでにほめています。

ほめるを取消しました。

OK

ほめるに失敗しました。

OK

ほめるの取消しに失敗しました。

OK

ほめるにはログインが必要です。

タグ編集にはログインが必要です。

タグ編集には利用規約の同意が必要です。

TOP