SSブログ

メモ書き:XMLでVocaloidの声データを整理する。 [プログラミング学習]

Vocaloid1(MEIKO、KAITO)で作ったSingerデータを整理したいと思っています。
色々試しに作ってみたのですが、後から再利用しようとした場合、どの声データがどんな声か分からないのですね。
なので、パラメータと声の音声ファイルを紐づけて整理したいと。まだどのパラメータがどういう声の変化をもたらすか分かっていないので、パラメータ見ただけではどんな声かイメージできないのですね。

で。自分個人でまとめて、どこにも出さないとなると、自分の性格上絶対にやらないので、このBlogに公開します。過去記事でいくつかデータを上げてますが、それと同じように。
とはいえ、Blogというものの性質上、後から参照するデータを整理する、というのは向きません。声データを整理した記事を作っても、他の記事を書いてしまえば埋もれます。
そこで、一覧用記事を作成して、サイドバーから参照することにしたいと考えています。

さて。
一覧としてデータを見やすくする場合に個人的に鬼門になるのは、表示用データの作成です。
これまで作成したことのある一覧は、Tableタグで表形式で表示しました。基本的にはタグを手打ち、どうしても多い場合はExcelで編集してHTMLで出力しています。
これは、前者はどうしても手間がかかる、後者はExcel固有のStylesheet設定が入り込んでしまい、その編集の手間がかかるという問題があります。

とはいえ、Webで公開する以上は、何にせよHTMLなりCSSなりで出力する必要があります。
そこで。Blog記事用データを自動生成できないかと考えました。
Blog記事全部ではなくても、Tableタグで表示するような部分をXSLTで変換して、あとはコピー&ペースト、まで行けば相当楽になります。技術的には可能です。
XMLマスターの学習にもなります。

そこで、XMLで元データを作成し、XSLTで変換するような作業を考えました。
長くなりましたが、この記事はそのためのメモ書きです。
データ編集:Excel
Singerデータの詳細と、対応する音声データからなる。
SingerデータはVocaloidのパラメータどおり。
音声データは、3種類のデータファイルからなる。
データファイルは使用している音域と、データファイルパスからなる。

ExcelでのXMLデータ編集にはスキーマファイルが必要なため、まずSchemaファイルを作る。
スキーマファイルを作って、Excelのファイルと対応付ける。
そして、Excelでデータを編集して、XMLファイルを生成する。

その後、XMLからXSLTで変換をかけて、Blog用データを作成する。
Blog用データは、Tableタグだけ生成するか、So-net blogの記事形式にするかは、検討の余地あり。
前者の方が技術的には簡単だが、後者の方が更新の手間を考えると楽。
とはいえ、後者の形式を調査していないし、私の技術力でどこまでできるのか。

まずは、Excelで指定するXML Schemaを作成してみた。
# 上記で列挙した形式とは違う。後でSchemaの方を直す。
Excelで読み込んでみたものの、VoiceDataTypeの指定がされていないというエラー表示がされた。
。。。何が原因だ?

試しにExcelで別のXMLファイルを読み込んでみたところ、自動でExcelがスキーマを生成することを確認した。
。。。そっちの方がいいか?
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="urn:worklist:eng">
  <xs:element name="VoiceData" type="VoiceDataType" />
  <xs:complexType name="VoiceDataType">
    <xs:sequence>
      <xs:element name="Name" type="xs:string" />
      <xs:element name="PC" type="xs:string"></xs:element>
      <xs:element name="File" type="FileType"></xs:element>
      <xs:element name="Singer" type="xs:string"></xs:element>
      <xs:element name="SingingStyle" type="xs:string"></xs:element>
      <xs:element name="Parameter" type="ParameterType" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="FileType">
    <xs:sequence>
      <xs:element name="Path" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="ParameterType">
    <xs:sequence>
      <xs:element name="Harmonics" type="xs:string" />
      <xs:element name="Noise" type="xs:string"></xs:element>
      <xs:element name="Brightness" type="xs:string" />
      <xs:element name="Clearness" type="xs:string" />
      <xs:element name="GenderFactor" type="xs:string" />
      <xs:element name="Resonance1" type="ResonanceType" />
      <xs:element name="Resonance2" type="ResonanceType"></xs:element>
      <xs:element name="Resonance3" type="ResonanceType"></xs:element>
      <xs:element name="Resonance4" type="ResonanceType" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="ResonanceType">
    <xs:sequence>
      <xs:element name="Frequency" type="xs:string" />
      <xs:element name="Bandwidth" type="xs:string"></xs:element>
      <xs:element name="Amplitude" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
</xs:schema>


「Vocaloid パラメータ - Google 検索」
http://www.google.co.jp/search?q=Vocaloid%E3%80%80%E3%83%91%E3%83%A9%E3%83%A1%E3%83%BC%E3%82%BF&sourceid=navclient-ff&ie=UTF-8&rlz=1B3DVFC_jaJP234JP236

「mashlog: VOCALOIDのパラメータ調査」
http://marsh.way-nifty.com/mashlog/2006/05/vocaloid_da07.html

「EXIST-Blog: VOCALOIDのレゾナンス」
http://exist.blogzine.jp/blog/2008/09/vocaloid_5529.html

「【ブリティッシュKAITO】レゾナンス考【Greensleeves】‐ニコニコ動画(秋)」
http://www.nicovideo.jp/watch/sm3814210
「NB Lab. Resonance考察」
http://ventuscaeruleus.blog104.fc2.com/blog-entry-46.html
タグ:XML
nice!(0)  コメント(0)  トラックバック(2) 
共通テーマ:パソコン・インターネット

nice! 0

コメント 0

コメントを書く

お名前:[必須]
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

トラックバック 2