機種依存情報


MFiがver2.0になって発音数も表現力も一段と増すようなフォーマットになっています。ですが、503シリーズには現在3種類の音源が確認されており、さらに機種によっても違いがすこしづつ有るようです。機種依存情報はそれぞれの音源、機種特有の機能を再現する為の情報です。それゆえ、意図した機種以外での再現は難しいかもしれません。ちょっとみたところ、同じYAMAHAのFM音源搭載のF503iとN503iでも、少しずつデータのならべ方が違うようなので…。

実際のところxxFFFFが本当に機種依存のデータを示しているのか謎です^^;ADPCM、バイブレーション、LED連動関係が集まってるのでそうではないかと言う憶測の元に書いてますのでご了承のほどを。まぁ、DoCoMo自信が仕様を公開しない限り、半永久的に憶測の域を出ないのだけれども(:P

あ、何度も言うようですけどもN503iが対象なので他の機種でどうかと言うのは計り知れません。もちろんMFi2での拡張フォーマットだと思われるので502、209以前はまず無理でしょう。210は知りません。

※このページのデータはs.uenoさんの情報を元にHTML形式にまとめたものです。

機種依存情報基本構造
  Δタイム システムコード データ長 定数 制御コード 実データ
1byte 2byte 2byte 1byte nbyte mbyte
フォーマット 00 FF FF 00 00 11

機能 データ長 定数 制御コード列 実データ 補足
2byte 1byte nbyte mbyte
FM音色変更 00 14 11 F0 01 7+2x5nbyte 音色変更データ
ADPCMヘッダ 17 B9 11 F0 02 01 01 ADPCMデータ列。データ長 -5byte 00(4khz)、01(8khz)
発音? 00 05 11 F1 20 01 FF 無し 音長設定?
ビブラートスイッチ? 00 04 11 F1 01 3F(ON) or 00(OFF) .
アサイン? 00 04 11 F2 01 3F 無し
VIB連動 00 05 11 F2 04 20 00 無し N503i専用
LED連動 00 05 11 F2 05 20 00 無し N503i専用

基本はFFF0などと同様にΔタイム、システムコード、バイト長、定数、に続く制御コードで機能を振り分けます。
定数はF503iだと21h?
trac+NOP+EOTが最小
PCM再生の絶対音長がPCMデータ自体の再生時間より短いとループ再生
ステレオ無効

音色設定メッセージ
  システムメッセージ アサインコード トーンパラメータ オペレータコントロール
Δタイム システムコード データ長 制御コード列
1byte 2byte 2byte 3byte 5byte 2byte 5x2xnbyte
フォーマット 00 FFFF 0014 11F001 0100000212 4001 1C41F0605E...

アサインコード
  1byte目 2byte目 3byte目 4byte目 5byte目
OP Type Ass Num
フォーマット 01 00 00 02 00

OP Typeで作成する音色のオペレータ数を指定します。1で2OP、2で4OPの音色を作成する事になります。
Ass Numは定義する音色の番号です。

トーンパラメータ
  1byte目 2byte目
EFF FB AL
ビット列 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0
フォーマット 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1

オペレータコントロール
  1byte目 2byte目 3byte目 4byte目 5byte目
ML VIV EV SUS KS RR DR AR SL TL KL VR TR TSW WF
ビット列 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0
フォーマット 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

ML マルチプル 倍音比
VIV ビブラート許可 ビブラートを使用する場合には1を設定
EV エンベロープ 波形
SUS サスティン 発音し終わってからの減衰を長くする時に1。RR6に相当
AR アタックレート 音の立ちあがり 大きいほど速い
RR リリースレート ノートオフしてからの減衰時間 大きいほど遅い
DR ディケイレート 音が立ち上がりきってからの減衰時間 大きいほど速い
SL サスティンレベル ディケイの減衰幅 大きいほど減衰幅が大きい
TL トータルレベル OPの振幅 小さいほど音量が大きい(キャリアでは無意味)
WF ウェーブフォーム 0でサイン波 1で半波
FB フィードバック モジュレータのみにある機能 大きいほど音がきつくなる
MFi2 拡張分
EFF エフェクト ビブラート、トレモロ共通(1.9Hz、4.2Hz、6.1Hz、7.2Hz)
AL アルゴリズム オペレータの並び順
KS キースケール 音程による音の変化
KL キースケールレベル 音程による音の変化の度合い
VR ビブラート ビブラート…レート?
TR トレモロ トレモロ
TSW トレモロ許可 トレモロを使用する場合には1を設定


すいません。まとめきれてません^^; ですが、さっさと公開してしまいます。順次説明文とか付け加えて行きますが、判る人にはコレだけでもわかりますよね?(笑) 勉強中で判らないって人は申し訳無いですが、少々お待ちを…。



戻る