atwiki-logo
  • 新規作成
    • 新規ページ作成
    • 新規ページ作成(その他)
      • このページをコピーして新規ページ作成
      • このウィキ内の別ページをコピーして新規ページ作成
      • このページの子ページを作成
    • 新規ウィキ作成
  • 編集
    • ページ編集
    • ページ編集(簡易版)
    • ページ名変更
    • メニュー非表示でページ編集
    • ページの閲覧/編集権限変更
    • ページの編集モード変更
    • このページにファイルをアップロード
    • メニューを編集
    • 右メニューを編集
  • バージョン管理
    • 最新版変更点(差分)
    • 編集履歴(バックアップ)
    • アップロードファイル履歴
    • ページ操作履歴
  • ページ一覧
    • ページ一覧
    • このウィキのタグ一覧
    • このウィキのタグ(更新順)
    • このページの全コメント一覧
    • このウィキの全コメント一覧
    • おまかせページ移動
  • RSS
    • このウィキの更新情報RSS
    • このウィキ新着ページRSS
  • ヘルプ
    • ご利用ガイド
    • Wiki初心者向けガイド(基本操作)
    • このウィキの管理者に連絡
    • 運営会社に連絡(不具合、障害など)
cadencii_jp @ wiki
  • ウィキ募集バナー
  • 目安箱バナー
  • 操作ガイド
  • 新規作成
  • 編集する
  • 全ページ一覧
  • 登録/ログイン
ページ一覧
cadencii_jp @ wiki
  • ウィキ募集バナー
  • 目安箱バナー
  • 操作ガイド
  • 新規作成
  • 編集する
  • 全ページ一覧
  • 登録/ログイン
ページ一覧
cadencii_jp @ wiki
  • 新規作成
  • 編集する
  • 登録/ログイン
  • 管理メニュー
管理メニュー
  • 新規作成
    • 新規ページ作成
    • 新規ページ作成(その他)
      • このページをコピーして新規ページ作成
      • このウィキ内の別ページをコピーして新規ページ作成
      • このページの子ページを作成
    • 新規ウィキ作成
  • 編集
    • ページ編集
    • ページ編集(簡易版)
    • ページ名変更
    • メニュー非表示でページ編集
    • ページの閲覧/編集権限変更
    • ページの編集モード変更
    • このページにファイルをアップロード
    • メニューを編集
    • 右メニューを編集
  • バージョン管理
    • 最新版変更点(差分)
    • 編集履歴(バックアップ)
    • アップロードファイル履歴
    • ページ操作履歴
  • ページ一覧
    • このウィキの全ページ一覧
    • このウィキのタグ一覧
    • このウィキのタグ一覧(更新順)
    • このページの全コメント一覧
    • このウィキの全コメント一覧
    • おまかせページ移動
  • RSS
    • このwikiの更新情報RSS
    • このwikiの新着ページRSS
  • ヘルプ
    • ご利用ガイド
    • Wiki初心者向けガイド(基本操作)
    • このウィキの管理者に連絡
    • 運営会社に連絡する(不具合、障害など)
  • atwiki
  • cadencii_jp @ wiki
  • VSQのファイル仕様(推定)

cadencii_jp @ wiki

VSQのファイル仕様(推定)

最終更新:2010年05月04日 13:35

boare

- view
管理者のみ編集可

このページについて

 更新中です
 VOCALOID2 Editor(以下Editorと略)が使用するシーケンスファイル(拡張子.vsq)のファイル仕様について書きます。
 管理人の推測によるものなので、正確さを欠く箇所があることを最初にお断りしておきます。

vsqファイルの概要

 Standard Midi File (SMF)のFormat 1仕様に準拠しているようです。数値の格納はビッグエンディアン。SMFの仕様についてはこのページでは省略します。

トラックの種類

 Format 1のSMFファイルにはトラックを分割して格納することができますが、vsqファイルは2種類のトラックを区別して使用しているようです。

①テンポ、拍子を格納したトラック

  • トラック名が必ず"Master Track"となります。
  • 含まれるのは以下のメタイベントのみ。
    • Sequence/Track Name(0xff 0x03 [length] [text])
    • End of Track(0xff 0x2f 0x00)
    • Set Tempo(0xff 0x51 0x03 [tempo(3bytes)])
    • Time Signature(0xff 0x58 0x04 + 4bytes)
  • 必ずSMFのヘッダの直後に表れ、vsqファイルに1個のみ。
  • テンポの変更は②のメタテキストには記入されず、このトラックのSet Tempoメタイベントを用いて記録される
  • 拍子の変更も、同様にTIme Signatureメタイベントを用いて記録される

②Editorのピアノロール画面の情報を格納したトラック

  • トラック名が、Editorのトラック名と一致します。
  • 必ず上記のMaster Trackの直後に表れます
  • Editorに必要な情報は全て(恐らく)メタテキストで記述されます
  • 上記メタテキストの日本語部分はShift-JISエンコードになっている
  • 上記メタテキストは全てDelta-time=0として記述されます
  • メタテキストの直後にはMIDI Eventのコントロールチェンジが記述されます。(確認したものは全てNRPN[Non Registered Parameter Number]を用いたコントロールチェンジ)
  • メタテキストは複数に分割して記述されます。
  • メタテキストの文字列のバイト数は、末尾の物を除き全て127byte(0x7f)となる。末尾の最後のメタテキストのデータ長は127byte以下。
  • 分割されているメタテキストを繋げると、1個のテキストファイルになる。元のテキストファイルの改行は0x0aに置き換えられる。
  • 上から数えてN番目のメタテキストは、"DM:" + N.ToString( "0000" ) + ":" という感じのプレフィクスが付く。
  • プレフィクスの番号(DM:****の****)は4桁ごとに増える。つまり、DM:9999の次はDM:00010000。
  • Editorのトラックの数だけvsqファイルに記述される。
  • todo:文字列長が127byteでないメタテキストが現れた場合、Editorはどう処理するのか?
  • todo:メタテキストが"DM:****"の数字の順番に表れなかったときのEditorの挙動
  • todo:改行は0x0aで表されているが、0x0d 0x0aとしても正しく処理されるのか?

NRPNによるコントロールチェンジの意味は?

  • VOCALOID2 Editorのヘルプファイルに各NRPNの意味の一覧あり。
  • Note Duration(0x50 0x04)の情報はメタテキストには直接記述されないが、メタテキストの情報から計算可能。
NoteDuration=\left[\frac{125 \cdot clocks}{tempo}\right]
  clocks: 音符の長さ(クロック)
  tempo: テンポ(125等、実際にvsqに保存されるテンポの値は6\times10^7 / tempo)
  nは0以上の値となる。[]はガウスの記号。
  • NRPNに記録されるクロックと「プリセンドタイム」

各トラックのメタテキストの中身

  • メタテキストを順番どおりに(DM:****の****部分の数字の順)につなげる事で得られる。
  • 書式は、INIファイルと同じ。セクション([]でくくられて記録される部分)には次の種類がある。
    • [Common]
    • [Master]
    • [Mixer]
    • [EventList]
    • [PitchBendBPList]
    • [PitchBendSensBPList]
    • [DynamicsBPList]
    • [EpRResidualBPList]
    • [EpRESlopeBPList]
    • [EpRESlopeDepthBPList]
    • [EpRSineBPList]
    • [Reso1FreqBPList]
    • [Reso2FreqBPList]
    • [Reso3FreqBPList]
    • [Reso4FreqBPList]
    • [Reso1BWBPList]
    • [Reso2BWBPList]
    • [Reso3BWBPList]
    • [Reso4BWBPList]
    • [Reso1AmpBPList]
    • [Reso2AmpBPList]
    • [Reso3AmpBPList]
    • [Reso4AmpBPList]
    • [GenderFactorBPList]
    • [PortamentoTimingBPList]
    • [VibTremDepthBPList]
    • [OpeningBPList]
    • [ID#****]
      • ****は4桁の整数。[ID#9999]の次は[ID#10000]。
    • [h#****]
      • ****は4桁の整数。[h#9999]の次は[h#10000]。

各セクションに記録される内容

[Common]

[Common]
Version=DSB202
Name=Voice2 (1)
Color=157,181,123
DynamicsMode=0
PlayMode=1
Version
ボカロのバージョン。例えばMEIKOならDSB202、MIKUならDSB301
Name
トラック名
Color
意味不明
DynamicsMode
Dynamicsカーブを表示するモード(Expert)なら1、しない(Standard)なら0。VOCALOID2の場合は1で固定。
PlayMode
Play With Synthesisなら1、Play After Synthesiなら0、Offなら-1。VOCALOID2の場合、0は1と見なされる。

[Master]

[Mixer]

[EventList]

0=ID#0000
1920=ID#0001
上記のように、「クロック」=「イベントのID」という書式で各時刻に起こるイベントを列挙する。同じ時刻に2つ以上のイベントが起こる場合、「クロック」=「イベント1のID」,「イベント2のID」とコンマ区切りで1行に記述する。

[PitchBendBPList]

  • PIT(ピッチベンド)カーブ。

[PitchBendSensBPList]

  • PBS(ピッチベンドセンシティビティ)カーブ

[DynamicsBPList]

  • DYN(ダイナミクス)カーブ

[EpRResidualBPList]

  • VOCALOID2の場合、BRE(ブレシネス)カーブ。VOCALOID1の場合、Noiseカーブ。

[EpRESlopeBPList]

  • BRI(ブライトネス)カーブ

[EpRESlopeDepthBPList]

  • CLE(クリアネス)カーブ

[EpRSineBPList]

  • Harmonicsカーブ(VOCALOID1のみ)

[Reso1FreqBPList]

[Reso2FreqBPList]

[Reso3FreqBPList]

[Reso4FreqBPList]

[Reso1BWBPList]

[Reso2BWBPList]

[Reso3BWBPList]

[Reso4BWBPList]

[Reso1AmpBPList]

[Reso2AmpBPList]

[Reso3AmpBPList]

[Reso4AmpBPList]

[VibTremDepthBPList]

  • Effect2 Depthカーブ(VOCALOID1のみ)

[GenderFactorBPList]

  • GEN(ジェンダーファクター)カーブ

[PortamentoTimingBPList]

  • POR(ポルタメントタイミング)カーブ

[OpeningBPList]

  • OPE(オープニング)カーブ

[ID#****]

  • 音符または歌手のプロパティが記述される

音符の場合

例えば次の内容が記述される
[ID#0001]
Type=Anote
Length=240
Note#=60
Dynamics=64
PMBendDepth=8
PMBendLength=0
PMbPortamentoUse=3
DEMdecGainRate=50
DEMaccent=50
LyricHandle=h#0001
NoteHeadHandle=#h0002
Type=Anote
音符を表すIDであることを示す
Length=240
長さが240クロックの音符
Note#=60
音の高さは60(60=C3)
Dynamics=64
ベロシティ(VEL)の値
PMBendDepth=8
「音符のプロパティ」の「ベンドの深さ」(VOCALOID2のみ)
PMBendLength=0
「音符のプロパティ」の「ベンドの長さ」(VOCALOID2のみ)
PMbPortamentoUse=3
「音符のプロパティ」の「~形でポルタメントを付加」の指定内容。「上行形で~」が指定されていれば値は+1、「下行形で~」が指定されていれば値は+2。即ちこの場合は両方が指定されている。(VOCALOID2のみ)
DEMdecGainRate=50
「音符のプロパティ」の「ディケイ」(VOCALOID2のみ)
DEMaccend=50
「音符のプロパティ」の「アクセント」(VOCALOID2のみ)
LyricHandle=h#0001
この音符が使用する歌詞情報
NoteHeadHandle=h#0002
この音符が使用するアタック情報(VOCALOID1のみ)

[h#****]

  • 歌詞/ビブラート/歌手/アタックのいずれかのプロパティが記述される。

「歌詞」の場合

Lx=[歌詞],[発音記号],[歌詞Delta],[ConsonantAdjustment]×発音記号の個数,[プロテクトフラグ]
Lx
このハンドルが表す歌詞の単位(0 <= x <= 音符のクロック数-1)。VOCALOID2の場合L0のみが現れる。VOCALOID1の場合、複数の歌詞単位を入力するとL1以降に記録される。
歌詞
前後に引用符(")の付いた歌詞を表す文字列。引用符そのものは引用符2つ("")で表現される。
発音記号
文字列。発音記号が半角スペース区切りで記録される。
歌詞Delta
実数。第x番目の歌詞単位の、音符全体の長さに対する相対長さ。L0~Lxまでの歌詞Deltaを合算すると1になる。
ConsonantAdjustment
整数。子音なら64、母音なら0、識別できない(VOCALOID2の規格にない)発音記号なら0。NRPNのMSB0x50 LSB0x11~0x21のData LSBに記録される値(Consonant Adjustment n)と同じ値。
プロテクトフラグ
整数。「歌詞のプロパティ」の「プロテクト」がチェックされていれば1、そうでなければ0.
  • 発音記号の個数
    NRPNには先頭の16個までしか記録されないが、こっちにはかなりの個数発音記号を入力できてしまう。少なくとも「a」7630個までは入力でき、waveへのレンダリングも出来た(ただし先頭の16個しか発音されない模様)。
  • Lxのxの最大値が「音符全体の長さ-1」になっている理由。1個の歌詞単位の最小長さは1クロックで、1未満の実数にはできないから。

「ビブラート」の場合

IconID=$04040004
IDS=normal
Caption=
Original=5
Length=120
StartDepth=64
DepthBPNum=3
DepthBPX=0.500000,0.750000,1.000000
DepthBPY=64,32,0
StartRate=64
RateBPNum=3
RateBPX=0.500000,0.750000,1.000000
RateBPY=64,32,0
IconID
ビブラートの形式を識別するID
IDS
不明(解析中、「normal」、「extreme」、「slight」等が入る)
Caption
不明(解析中)
Original
不明(解析中)
Length
ビブラートの長さ(クロック単位)
StartDepth
振幅の開始値
DepthBPNum
振幅カーブのデータ点数。これが0のとき、DepthBPXとDepthBPYは省略される
DepthBPX
振幅カーブのデータ点(時間軸)。DepthBPNum個の値が、コンマ区切りで列挙される。0.0がビブラート開始時刻を、1.0がビブラート終了時刻を表す
DepthBPY
振幅カーブのデータ点
StartRate
周期の開始値
RateBPNum
周期カーブのデータ点数。これが0のとき、RateBPXとRateBPYは省略される
RateBPX
周期カーブのデータ点(時間軸)。書式と値の意味はDepthBPXに同じ
RateBPY
周期カーブのデータ点
  • VOCALOIDシステムの表情ライブラリ(のビブラート)のどれと関連付けられるかを特定するために,IconID,IDSが使われる.ライブラリ内に「IDS」と同じ名前のものが唯一つ存在すれば,それがそのまま使用される.この場合,IconIDがでたらめでも正しく認識される.ライブラリ内に「IDS」と同じ名前のものが2つ以上存在する場合は,IconIDの下4桁($04040001なら"0001")を元に検索が行われる.

「歌手のプロパティ」の場合

IconID=$07010002
IDS=Miku3
Original=2
Caption=
Length=1
Language=0
Program=2
IconID
言語・プログラムチェンジを識別するID。"$0701"の部分は固定で、下4桁のうち最初の2桁が歌唱言語、最後の2桁がプログラムチェンジを表す。いずれも16進数で表現される。例えば「初音ミク(日本語)、プログラムチェンジ2」の場合$07010002、「巡音ルカ(英語)、プログラムチェンジ0」の場合$07010100となる。
IDS
Singer Editorで設定した歌手の名前
Original
(Lanuage << 8) | Program
Caption
謎の空文字列
Length
謎の整数
Language
歌唱言語を表すインデクス。(日本語が0、英語が1)
Program
Singer Editorで設定した「プログラムチェンジ」の値

「アタックのプロパティ」の場合(VOCALOID1のみ)

IconID=$01010002
IDS=accent
Original=2
Caption=Accent
Length=120
Duration=64
Depth=64
IconID
IDS
Original
Caption
Length
120固定のようだ
Duration


「VSQのファイル仕様(推定)」をウィキ内検索
LINE
シェア
Tweet
cadencii_jp @ wiki
記事メニュー

メニュー

トップページ
.NETライブラリ
  • Boare.Lib.Media
  • Boare.Lib.Vsq
アプリケーション
  • LipSync[外部]
  • RMCaption[外部]
  • Cadencii
    • 使い方
    • ダウンロード
    • スクリプト投稿所
    • スクリプトのサンプル
    • 連絡用掲示板
    • SourceForge
    • github
  • luavsq
  • utauvsti
    • Download
    • utauvsti用NRPNの仕様
    • utauvsti.confの仕様
ドキュメント
  • VOCALOID1のSynthesize Engine 1.0と1.1の同時起動
  • AICファイル仕様(推定)
  • ランダマイズ時の音符のシフト量について
  • PortamentoTimingによるポルタメントカーブのディレイの変化について
  • VOCALOID 1/2 NRPNまとめ
  • VOCALOID技術関連の公式集
  • Panの値とWAVE出力結果との関係
  • Federの設定値とWAVE出力結果との関係
  • VSQのファイル仕様(推定)
  • SingerEditorの設定ファイルについて
  • VibratoDepth値と、実際のビブラート振幅の関係について
  • VibratoRate値と、実際のビブラート周期の関係について
  • NRPNに記録されるクロックと「プリセンドタイム」
  • DYNと音量の関係
  • DYNによる音量のステップ応答
ご意見箱


English Page

imageプラグインエラー : 画像を取得できませんでした。しばらく時間を置いてから再度お試しください。
編集

更新履歴

取得中です。
記事メニュー2
人気記事ランキング
  1. Cadencii:使い方
  2. Boare.Lib.Media
  3. Cadencii:進捗
  4. DYNと音量の関係
  5. SingerEditorの設定ファイルについて
  6. VibratoRate値と、実際のビブラート周期の関係について
  7. Cadencii version 1.3a1
  8. utauvsti.confの仕様
  9. ランダマイズ時の音符のシフト量について
  10. トップページ
もっと見る
最近更新されたページ
  • 4664日前

    AICファイル仕様(推定)
  • 4945日前

    luavsq
  • 4946日前

    メニュー
  • 5064日前

    Cadencii
  • 5065日前

    Cadencii:Download
  • 5065日前

    Cadencii version 3.4.1
  • 5169日前

    Cadencii version 3.4.0
  • 5281日前

    コメントログ
  • 5288日前

    Cadencii version 3.3.4
  • 5326日前

    Cadencii version 3.2.4
もっと見る
人気記事ランキング
  1. Cadencii:使い方
  2. Boare.Lib.Media
  3. Cadencii:進捗
  4. DYNと音量の関係
  5. SingerEditorの設定ファイルについて
  6. VibratoRate値と、実際のビブラート周期の関係について
  7. Cadencii version 1.3a1
  8. utauvsti.confの仕様
  9. ランダマイズ時の音符のシフト量について
  10. トップページ
もっと見る
最近更新されたページ
  • 4664日前

    AICファイル仕様(推定)
  • 4945日前

    luavsq
  • 4946日前

    メニュー
  • 5064日前

    Cadencii
  • 5065日前

    Cadencii:Download
  • 5065日前

    Cadencii version 3.4.1
  • 5169日前

    Cadencii version 3.4.0
  • 5281日前

    コメントログ
  • 5288日前

    Cadencii version 3.3.4
  • 5326日前

    Cadencii version 3.2.4
もっと見る
ウィキ募集バナー
新規Wikiランキング

最近作成されたWikiのアクセスランキングです。見るだけでなく加筆してみよう!

  1. MadTown GTA (Beta) まとめウィキ
  2. R.E.P.O. 日本語解説Wiki
  3. シュガードール情報まとめウィキ
  4. SYNDUALITY Echo of Ada 攻略 ウィキ
  5. パズル&コンクエスト(Puzzles&Conquest)攻略Wiki
  6. ソードランページ @ 非公式wiki
  7. GTA5 MADTOWN(β)まとめウィキ
  8. 星飼いの詩@ ウィキ
  9. Merge Cooking 攻略 @ ウィキ
  10. ドラゴンボール Sparking! ZERO 攻略Wiki
もっと見る
人気Wikiランキング

atwikiでよく見られているWikiのランキングです。新しい情報を発見してみよう!

  1. アニヲタWiki(仮)
  2. ストグラ まとめ @ウィキ
  3. ゲームカタログ@Wiki ~名作からクソゲーまで~
  4. 初音ミク Wiki
  5. MadTown GTA (Beta) まとめウィキ
  6. 発車メロディーwiki
  7. 検索してはいけない言葉 @ ウィキ
  8. Grand Theft Auto V(グランドセフトオート5)GTA5 & GTAオンライン 情報・攻略wiki
  9. 機動戦士ガンダム バトルオペレーション2攻略Wiki 3rd Season
  10. オレカバトル アプリ版 @ ウィキ
もっと見る
全体ページランキング

最近アクセスの多かったページランキングです。話題のページを見に行こう!

  1. 参加者一覧 - ストグラ まとめ @ウィキ
  2. シャア専用ヅダ - アニヲタWiki(仮)
  3. 参加者一覧 - MadTown GTA (Beta) まとめウィキ
  4. FB777 - MadTown GTA (Beta) まとめウィキ
  5. Lycoris - MadTown GTA (Beta) まとめウィキ
  6. アポカリプスホテル - アニヲタWiki(仮)
  7. サーヴァント/一覧/クラス別 - Fate/Grand Order @wiki 【FGO】
  8. 868 - ストグラ まとめ @ウィキ
  9. NO LIMIT - ストグラ まとめ @ウィキ
  10. 雑談・交流掲示板 - 星の翼(Starward) 日本語wiki @ ウィキ
もっと見る

  • このWikiのTOPへ
  • 全ページ一覧
  • アットウィキTOP
  • 利用規約
  • プライバシーポリシー

2019 AtWiki, Inc.