File format for VOCALOID3

vsqxとか呼ばれているファイル形式に関するメモ。

以下は生成したファイルから類推した情報。DTDとかrelaxNGとか書いたことないのでかなりテキトウな表記法になってる点に注意。そのうちきっと誰かがナントカするだろう。

entity名親ノード子ノードメモ
vsq3なし。
これがroot
vender/version
vVoiceTable/mixer/masterTrack
vsTrack+/seTrack/karaokeTrack/aux
vendervsq3CDATA固定'Yamaha corporation'。
vendorじゃないので注意。
versionvsq3CDATA'3.0.0.11'
多分ファイルフォーマットの更新時に変化する。
(とはいえVocaloid3 Editorは現在3.0.4.0でupdateは都合4回のはず)。
vVoiceTablevsq3vVoice+歌手テーブル。
そのファイルで利用するかに関わらず生成環境で設定されている全歌手に対応する
vVoice要素が作られるようだ。だから雑誌付録DVDの「ボカロPのvsqx」を読むとエラーがでやすいの…。
vVoicevVoiceTablevBS/vPC/compID/vVoiceName/vVoiceParam歌手データ
vBSvVoice数値Luka_ENG(V2)のみ1なので「日本語=0, 英語=1」と思われる。
シユがいればもう少し確証が得られる。
BankSelect?
vPCvVoice数値このファイル中で歌手データを識別する、0から始まるvVoiceTable中の連番。
vsTrack/musicalPart/singer/vPCで(のみ)使ってるっぽい。
ProgramChange?微妙な違和感
compIDvVoiceCDATA歌手ライブラリの識別文字列。16bytes固定?
(voicedbdir/以下のディレクトリ名と一致)
例:右は初期状態のvVoiceNameの値。
BHHN4EF9BRWTNHAB:Miku(V2)
BEKF6B63DMXLRECA:Rin_ACT2(V2)
BMLBDHXXMWYF2MBE:Len_ACT2(V2)
BCMDC9MZLKZHZCB4:Luka_JPN(V2)
BMKN7HT9EWTTSMCL:Iroha(V2)
BDRE87E2FTTKTDBA:VY1V3
BMGK9EC6G4RPWMB3:Yukari
BLRGDDR4M3WM2LC6:IA
BCBG86S4FSYMTCBK:CUL
BHLNEE62NRYK3HD2:Luka_ENG(V2)
vVoiceNamevVoiceCDATA'Yukari'
歌手名
通常は上の対応表の':'以降だが、「マイシンガー」で設定した
名称も使えるものと思われる(というか勝手に名前付けてよさげ?)。
vVoiceParamvVoicebre/bri/cle/gen/ope歌手のパラメータ
Vocaloid Editorでいう「歌声パラメーター」に
相当すると思われるがUIにはopeがない。
brevVoiceParam数値デフォルト'0'
brivVoiceParam数値デフォルト'0'
clevVoiceParam数値デフォルト'0'
genvVoiceParam数値デフォルト'0'
opevVoiceParam数値デフォルト'0'
mixervsq3masterUnit/vsUnit+/seUnit/karaokeUnitミキサ全体。
vstPluginをつかうと該当*Unit要素にvstPlugin要素が追加されるみたい
(だけど表がデカくなるので調査まとめ保留)。
設定値はaux/content以下のCDATAに書き出されてる
ようだけどこれの解読はかなり気力と時間が要りそう。
masterUnitmixeroutDev/retLevel/vol詳細は未調査。
vsUnitmixervsTrackNo/
inGain/sendLevel/sendEnable/mute/solo/pan/vol
1歌手トラック分のミキサ設定
詳細は未調査(だけどMixerUIとほぼ1vs1対応してる)。
seUnitmixerinGain/sendLevel/sendEnable/mute/solo/pan/volSE(WavMonoral)トラックのミキサ設定。
詳細は未調査。
karaokeUnitmixerinGain/mute/solo/volKaraoke(WavStereo)トラックのミキサ設定。
詳細は未調査。
masterTrackvsq3seqName/comment/resolution/preMeasure/timeSig/tempoマスタートラック。ミキサの'Master'と
「Track Editorの一番上あたり」の設定。
seqNamemasterTrackCDATA'Untitled1'
場所的に楽曲名に相当する物と思う
けどVocaloid Editorではどこでいじるのか未確認。
commentmasterTrackCDATA'New VSQ File'
コメント。これもどこでいじるのか未確認。
resolutionmasterTrack数値480
多分MIDIとかのと同じ時間解像度。四分音符=480Tickとか。
preMeasuremasterTrack数値4
未調査。
timeSigmasterTrackposMes/nume/denomiTrack Editor上の0小節目の位置とか
拍子とか表してるんじゃないかと思うけど未調査。
posMestimeSig数値0
numetimeSig数値4
denomitimeSig数値4
tempomasterTrackposTick/bpmテンポ。多分途中で再設定するために複数設定可。
posTicktempo数値デフォルト'0'
演奏開始からこのテンポを設定するまでのtick数
bpmtempo数値デフォルト'12000'
多分「12000=120BPM」。
vsTrackvsq3vsTrackNo/trackName/comment/musicalPart+トラックデータ
vsTrackNovsTrack数値トラック番号
Track1=0
trackNamevsTrackCDATAトラックエディタ画面上のトラック名
commentvsTrackCDATAコメント
musicalPartvsTrackposTick/playTime/partName/comment/stylePlugin/partStyle/singer/note+パートのデータ
posTickmusicalPart数値多分このパートの開始タイミング。in Tick。
playTimemusicalPart数値多分このパートの再生時間。in Tick。
partNamemusicalPartCDATAトラックエディタ画面上のパート名
commentmusicalPartCDATAコメント。Vocaloid Editorではパートのプロパティダイアログで書ける。
stylePluginmusicalPartstylePluginID/stylePluginName/version不明。
Vocaloid3 Editorの操作で変化させる方法があるかも未確認。
stylePluginIDstylePluginCDATAデフォルト'ACA9C502-A04B-42b5-B2EB-5CEA36D16FCE'
stylePluginNamestylePluginCDATAデフォルト'VOCALOID2 Compatible Style'
versionstylePluginCDATAデフォルト'3.0.0.1'
partStylemusicalPartattr+
attrpartStyle数値要素のアトリビュート'id'でさらに細かく指定。
idの取りうる値:
accent/bendDep/bendLen/decay/fallPort/opening/risePort
singermusicalPartposTick/vBS/vPCパートを歌う歌手
posTicksinger数値この歌手での歌唱の開始タイミング? in Tick。
vBSsinger数値歌手の言語
vPCsinger数値歌手の番号(このファイル内での通し番号)
notemusicalPartposTick/durTick/noteNum/velocity
lyric/phnms
noteStyle
ピアノロール上の1音
posTicknote数値多分「このパートの演奏開始」から音を出す(≒note on)までの相対時間。in Tick。
durTicknote数値音を出してから音を切る(≒note off)までの時間? in Tick。
velocitynote数値このノートのvelocityだと思うけど、vel?dyn?vol?要確認
lyricnoteCDATAこのノートの、ピアノロール上の歌詞表記。
phnmsnoteCDATAこのノートの、ピアノロール上の音素表記
(pnms=PHoneticナントカ?)。
noteStylenoteattr+/seqAttr+このノートの「音の出し方」。
note onしてからの音量音程変化の設定と、
発話的なVocaloid用固有の発音情報みたい。
attrnoteStyle数値noteStyleのパラメータに相当するもの。
idアトリビュート必須でパラメータ名が入るみたい。
差し当たって確認できるのは:
accent/bendDep/bendLen/decay/
fallPort/opening/risePort
vibLen/vibType
seqAttrnoteStyleelem+noteStyleのパラメータに相当するもの。
多分数値一つで済まないタイプのパラメータのための汎用要素で、
idアトリビュートでパラメータ名を示す。
とりあえずid=vibDep/id=vibRateがある。
posNrmelem数値デフォルト'22391'
名前からするとnote発音開始から音色補正までの時間
(<ややあてずっぽう)。
elvelem数値
名前からするとnote発音開始後にから音色補正する際の「度合い」と思われる(ビブラート幅とか)
文脈によって意味が違いそう。
seTrackvsq3wavPart*効果音WAVトラック関係っぽい。
画面上では「Track(Mono)」に相当して主にブレスで使われる。
wavPartseTrackposTick/playTime/partName/comment/
sampleRate/sampleReso/channels/filePath
効果音WAVトラックにある「パート」。
Editor3.0.4.0でWAVコピーした場合「./filename.wavparts/」を作って
そこに*.wavをコピーしてそこにリンクする仕様みたい。
posTickwavPart数値未調査。多分このパートの再生開始タイミングを表すTick数。
playTimewavPart数値未調査。多分wavの再生時間に相当するTick数。
partNamewavPartCDATAデフォルト'NewPart'
Track Editor上の表記。
commentwavPartCDATAデフォルト'New WAV Part'
コメント
sampleRatewavPart数値たぶんそのままサンプルレート。
44100とかだからきっとHz。
sampleResowavPart数値たぶんそのままサンプル解像度。
16とかだからきっとbit数。
channelswavPart数値普通に考えるとステレオかどうか。
seTrackの文脈では1固定なのか、元データのことかは不明。
filePathwavPartCDATAWAVデータのパス。
相対パスで書いてある場合は./filename.wavparts/をカレントとして見るみたい。
CDATAにデータ丸ごと埋め込んだりするワザがあるかは不明だけど
少なくともVocaloid EditorのUIからは不可能でサポート外な気がする。
やるとしたらxmlとかディレクトリごとアーカイブしちゃうとかの方が楽?
karaokeTrackvsq3未調査。どう見ても伴奏WAVトラック関係。
auxvsq3auxID/content未調査。多分VST(e)プラグインの設定値とか。
auxIDauxCDATAデフォルト'AUX_VST_HOST_CHUNK_INFO'
contentauxCDATAデフォルト'VlNDSwAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA='
VSTプラグインを使うとこの値が変化する。
ドキュメントないと解析は文字通りhack作業になる(けど、VST開発者だった楽勝ですね!)。
ミキサのVSTe以外で使ってるかは不明。

トップ 一覧 単語検索 最終更新 ヘルプ最終更新のRSS