プチコン3号 MMLリファレンス
プチコン3号MML用参考、プチコン2号のサウンド関係マニュアル
http://smileboom.com/special/ptcm2/co_manual/p10.php#3
プチコン3号MMLメモ
:コマンドは、:0~:15 の16ch指定可能
ポルタメントについて。
・L16C_Gで、
・発音時間:16分音符2個ぶん
・ポルタメントタイム:16分音符2個ぶん
・つまりポルタメントがかかるのは16分音符2個ぶんの間ずっと
・ポルタメントタイムを短くしたいなら、L16C32_G32
・もっとポルタメントタイムを短くしたいなら、L16C64_G32.
・挙動が表記に比べ複雑。詳しいことはぐぐるといいのかも
スラーとピッチベンド(をデチューンを使って実現)について
・例 O5C& @D32C& @D64C&
プリセットPCM音色にはどんなものがあるか
・MMLで@で使えるPCM音色は0~511(ユーザ音色や空を含む)
・128~130の3つはdrum setで、ノートナンバーごとに別PCM音色
・0~511とdrumそれぞれ音色旨みのわかるピッチはまちまち
デチューンコマンドについて
・HELPにある「1音」とは、「全音1つ」の意味、つまり200centの意味である。
・半音(100cent)デチューンしたいなら、+64か-64を指定する。
WAVSETAする波形について
・16384サンプルのバッファに256周期で波形を書いて、基準ノートナンバー69で登録した場合、
@D-4O4C で、プリセット波形のO4Cと概ね同じピッチになる。
プチコン3号MML以外のメモ(3.02以降で未確認かも)
SMILEボタンから起動した場合のみの仕様
・LOADで他プロジェクトのファイルをLOAD可能。
例:LOAD"PRG1:WORK/AAA" ※WORKというPROJECTのAAAというファイルをSLOT1にロード。"PRG1:"のようにSLOTを明示的に指定しないとエラー。
・EXECで他プロジェクトのファイルをEXEC可能。
・LOAD同様、"PRG1:"のようにSLOTを明示的に指定しないとエラー。
・このとき、カレントプロジェクトは、他プロジェクトのものになる。
・EXECしたプログラムが終了したあとは、カレントプロジェクトは、
実行直前のプロジェクトに戻る。
・EXECでSLOTを指定しているため、
指定SLOTにプログラムがあったらそれは上書きされて消える。
・備考:EXECで、SLOT指定せず、SMILEボタンに登録したツールと同じプロジェクトのファイルを実行した場合、
つまり通常SMILEボタンを使う流儀の場合は、
内部的にはSLOT4にプログラムがロードされるため、
SLOT0~3のプログラムは上書きされない。
・参考 http://d.hatena.ne.jp/eidaht/20160320/1458432429
FILESの隠し仕様
・FILESの第一引数にプロジェクト名を指定できる。
例:FILES"WORK"で、WORKというPROJECTのファイル一覧を取得できる。
配列変数に格納して利用することも可能。
現SLOTを知る方法
プログラム先頭でBACKTRACE実行後にCHKCHR命令で画面に表示されたスロット番号を取得
BACKTRACE:SLOT=CHKCHR(CSRX,CSRY-1)-48
(3.02で解決済み、備忘)ハング原因と対策
・BGMPLAY 128直後にBGMSET 128実行を繰り返すとハング
・再現コード(実行すると保存していないプログラムは消えるので、電源落としてもいい状態にしてから実行すること)> FOR I=0 TO 99999:IF I MOD 99==0 THEN ?I:ENDIF:BGMSET 128,"CDE":BGMPLAY 128:NEXT
・応急対策はBGMSET直後にWAIT 1を入れること。これでハングしなくなった
・バージョン3.02では、上記は修正された。上記コードでハングしなくなったことを確認した。上記にWAIT 1を入れる必要はなくなった。
(3.02で解決済み、備忘)VSYNCちらつきバグ対策
VSYNC後にfor空ループ999回を実行 ※New3DSでVSYNCが想定より短時間で終了するバグ。3.02で修正済み
プチコン3号公開キー
ソフトシンセWAVLPF:V3EN3JK1 ※Cutoff+reso、簡易オートメーション付
DEMO SOUND: https://soundcloud.com/cat2151/wavlpf-demo-20150301
説明書: https://miiverse.nintendo.net/posts/AYIHAAAEAAA5VHwlAmxH8Q
簡易リズムシーケンサ開発中:S344FD
処理落ちチェックツール(関数):N3ANEDRS
MICオシロスコープ: QKADJ3KD ※autoGain,noiseGate付
MML移調: BA5XE33J ※scale変更付
SPANIMやWAVSETの10行~1画面サンプルTIPS集: PE3X3NQE
MENU関数: T45XA3R4 ※簡易仕様。関数 MENU$() を呼ぶだけで使えます
リンク
プチコン3号 備忘録(Github.Gist版)
https://gist.github.com/cat2151/d35667ee8227919165c3
プチコン3号 備忘録(Qiita版)
http://qiita.com/cat2151/items/c289b650d28006b78f92