@onjmin/dtm 2.0.3 → 2.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -548,6 +548,45 @@ const cp = mountChordPlayer(document.getElementById("chord-app"), "| C | G | Am
548
548
  @@0 tsukuyomi どんぐりころころどんぐりこ;
549
549
  ```
550
550
 
551
+ ### 歌詞の制御記号
552
+
553
+ 歌詞は **1 文字(拗音は 2 文字)= ノート 1 つ**で対応します。ブレス `、` だけはノートを消費しません。
554
+
555
+ | 記号 | 意味 | 例 |
556
+ | --- | --- | --- |
557
+ | `ー` | **継続**。言い直さずに音を保ち、ピッチだけを階段状に切り替える | `あーーーー` |
558
+ | `〜` | **継続(ポルタメント)**。`ー` と同じだがピッチを滑らかに繋ぐ(しゃくり・スラー) | `あ〜〜` |
559
+ | `っ` | **促音**。ノートを消費し、無音の閉鎖として間を作る | `がっこう` |
560
+ | `_` | **休符**。ノートを消費するが歌わない(そのノートは無音) | `あ_い` |
561
+ | `、` | **ブレス**。ノートは消費せず、直前ノートの尻を削って息継ぎを差し込む | `あー、いー` |
562
+
563
+ `〜` は `~`(全角チルダ)でも、`、` は `,` でも書けます。
564
+
565
+ 継続の要点は「**同じモーラをピッチ違いで続けるとき、区切って発音するか否かを書き分けられる**」ことです。
566
+
567
+ ```
568
+ @0 t120 o4 c8 d8 e8 f8 g8;
569
+ @@0 tsukuyomi あああああ; ← 5 回それぞれ言い直す(従来どおり)
570
+ @@0 tsukuyomi あーーーー; ← 1 つの「あ」を保ったままピッチだけ動く
571
+ ```
572
+
573
+ 継続は**隙間なく続くノートを 1 音へ結合**し、区間ごとのピッチ推移として 1 回で合成します
574
+ (`buildStreamVoiceNotes` / `StreamVoiceNote.pitchSegments`)。ノートの間に休符があるとき、
575
+ 結合後が `TIE_MERGE_MAX_SEC`(4 秒)を超えるとき、シークで先頭が切り落とされたときは結合をやめ、
576
+ 先行母音を切って直前ノートへクロスフェードする「継続ノート」として繋ぎます。
577
+
578
+ 継続が引き継ぐ母音は直前の音節のものです。`きょー` は `きょ` + `お`、`んー` は `ん` を伸ばした
579
+ ハミングになります。休符 `_` とブレス `、` は母音の文脈を切るので、その次の音節は語頭
580
+ (連続音の `- か`)として歌われます。
581
+
582
+ > **`ー` `っ` の扱いが 2.0 系から変わりました。**
583
+ > 以前は「音源に該当する音声サンプルが無い」として**歌詞から丸ごと除去**していたため、
584
+ > `きょーと` は `きょ` `と` の 2 音節(=ノート 2 つ)でした。現在は `きょ` `ー` `と` の
585
+ > 3 音節になり、**同じ歌詞でもノートとの対応が 1 つずつずれます**。
586
+ > `ー` `っ` を含む既存の曲は歌詞かノートの調整が必要です。
587
+
588
+ ### モデルと音源
589
+
551
590
  - モデルに `klatt` を指定すると内蔵フォルマント合成(音源ロード不要)。
552
591
  - 内蔵 UTAU 音源(@onjmin/koe)キーワード:
553
592
  `tsukuyomi` / `rino` / `roze` / `uc` / `ruko_male` / `ruko_female` / `teto` / `shiyo` / `rei` / `mgroid` / `motroid` / `nynroid`。