-
Notifications
You must be signed in to change notification settings - Fork 7
/
Copy pathsample.xml
63 lines (63 loc) · 3.51 KB
/
sample.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
<?xml version="1.0" encoding="utf-8" ?>
<content version="0.0">
<meta>
<voiceconfig id="metan" backend="voicevox">
<voicevoxconfig id="2" />
</voiceconfig>
<voiceconfig id="zundamon" backend="voicevox">
<voicevoxconfig id="3" />
</voiceconfig>
<voiceconfig id="zundamon-hisohiso" backend="voicevox">
<voicevoxconfig id="22" />
</voiceconfig>
<voiceconfig id="tsumugi" backend="voicevox">
<voicevoxconfig id="8" />
</voiceconfig>
<characterconfig name="char1" voice-id="metan" serif-color="#E14D2A" tachie-url="@assets/metan.png" />
<characterconfig name="char2" voice-id="zundamon" serif-color="#379237" tachie-url="@assets/zunda.png" />
<characterconfig name="char2_hiso" voice-id="zundamon-hisohiso" tachie-url="@assets/zunda.png" />
<characterconfig name="char3" voice-id="tsumugi" tachie-url="@assets/tsumugi.png" />
<dict pronounce="ゼットエムエ_ム">zmm</dict>
<dict pronounce="モチー_フ">motif</dict>
<dict pronounce="コー_ド">code</dict>
<font>'Rounded M+ 1c'</font>
</meta>
<predef>
<code id="code1" lang="scala">
<![CDATA[
def groupReduction[E : Eq, S : Semigroup](xs: Seq[(E, S)]): Seq[(E, S)] = {
import cats.syntax.eq._
import cats.syntax.apply._
xs.view.map(_.swap).foldRight(Seq.empty[(S, E)]) {
case (head, second +: acc) if head._2 === second._2 => (head <* second) +: acc
case (em, acc) => em +: acc
}.map(_.swap)
}
]]>
</code>
<code id="p-split" lang="xml">
<![CDATA[
<say>一つめの発言<p/>二つめの発言</say>
]]>
</code>
</predef>
<dialogue backgroundImage="" bgm="">
<say by="char1" motif="ここには解説を表示できます">このXMLファイルは、zmmの動作を説明するためのサンプルです。</say>
<say by="char1">キャラクター1の音声です。</say>
<say by="char2">そして、キャラクター2の音声です。</say>
<say by="char3">このように、XMLタグの属性によって、
登場するキャラクターの音声を切り替えることができます。すごいね。</say>
<say by="char1" speed="1.2">スピード属性を使うことにより、その箇所の読み上げ速度を上げることができます。</say>
<say by="char2_hiso">キャラクターに用意されているひそひそ声で読み上げることも可能なのだ。</say>
<say by="char2">セリフの色は、キャラクターコンフィグで設定することで、そのキャラクターのすべてのセリフに適用されるのだ。</say>
<say by="char2" serif-color="#DD5500">このように、
個々の要素にパラメータを指定することでもセリフの色をコントロールできるのだ。</say>
<say by="char2" motif="motif=...と書くことで補足情報を表示できるようにした">motif属性を使うことにより、補足情報を表示できるのだ。</say>
<say by="char3" motif="bgm=...と書くことでbgmを設定できる">bgm属性を使うことで、その箇所で好きなBGMを流すこともできるよ。</say>
<say by="char2" code="code1">code属性を使うことで、プログラミング言語のソースコードを画面に示すことができるのだ。</say>
<say by="char1" code="p-split">
同一キャラの発言は、空のpタグを使うことで分割できます。<p/>
同一キャラにしばらく喋ってもらいたいときに使うと、記述量を節約できます。
</say>
</dialogue>
</content>