ssml-builder-js 2.7.0 → 2.8.1
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 +22 -12
- package/dist/{chunk-QJTVHANI.mjs → chunk-MWSDFGXW.mjs} +156 -3
- package/dist/chunk-MWSDFGXW.mjs.map +1 -0
- package/dist/{chunk-D6ITDU3A.mjs → chunk-VCDMKVVT.mjs} +182 -105
- package/dist/chunk-VCDMKVVT.mjs.map +1 -0
- package/dist/core.d.mts +10 -2
- package/dist/core.d.ts +10 -2
- package/dist/core.js +182 -104
- package/dist/core.js.map +1 -1
- package/dist/core.mjs +3 -1
- package/dist/elements.js +175 -3
- package/dist/elements.js.map +1 -1
- package/dist/elements.mjs +25 -2
- package/dist/elements.mjs.map +1 -1
- package/dist/index.d.mts +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +182 -104
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +3 -1
- package/dist/index.mjs.map +1 -1
- package/dist/react.d.mts +8 -4
- package/dist/react.d.ts +8 -4
- package/dist/react.js +194 -7
- package/dist/react.js.map +1 -1
- package/dist/react.mjs +44 -6
- package/dist/react.mjs.map +1 -1
- package/package.json +3 -2
- package/dist/chunk-D6ITDU3A.mjs.map +0 -1
- package/dist/chunk-QJTVHANI.mjs.map +0 -1
package/dist/elements.js
CHANGED
|
@@ -74,7 +74,8 @@ var SSML_TAGS = {
|
|
|
74
74
|
MSTTS_SILENCE: "mstts:silence",
|
|
75
75
|
SILENCE: "silence",
|
|
76
76
|
MSTTS_VISEME: "mstts:viseme",
|
|
77
|
-
VISEME: "viseme"
|
|
77
|
+
VISEME: "viseme",
|
|
78
|
+
MSTTS_AUDIO_DURATION: "mstts:audioduration"
|
|
78
79
|
};
|
|
79
80
|
var SSML_ATTRS = {
|
|
80
81
|
VERSION: "version",
|
|
@@ -201,6 +202,9 @@ function getAttributes(element) {
|
|
|
201
202
|
case SSML_TAGS.VISEME:
|
|
202
203
|
addAttribute(attributes, SSML_ATTRS.TYPE, element.typeValue ?? element.visemeType);
|
|
203
204
|
break;
|
|
205
|
+
case SSML_TAGS.MSTTS_AUDIO_DURATION:
|
|
206
|
+
addAttribute(attributes, SSML_ATTRS.VALUE, element.value);
|
|
207
|
+
break;
|
|
204
208
|
case SSML_TAGS.PARAGRAPH:
|
|
205
209
|
case SSML_TAGS.SENTENCE:
|
|
206
210
|
case SSML_TAGS.WORD:
|
|
@@ -225,6 +229,8 @@ function getTagName(element) {
|
|
|
225
229
|
case SSML_TAGS.VISEME:
|
|
226
230
|
case SSML_TAGS.MSTTS_VISEME:
|
|
227
231
|
return SSML_TAGS.MSTTS_VISEME;
|
|
232
|
+
case SSML_TAGS.MSTTS_AUDIO_DURATION:
|
|
233
|
+
return SSML_TAGS.MSTTS_AUDIO_DURATION;
|
|
228
234
|
case "element":
|
|
229
235
|
case "custom":
|
|
230
236
|
return element.name;
|
|
@@ -757,6 +763,12 @@ function convertElement(node) {
|
|
|
757
763
|
if (typeValue !== void 0) element.typeValue = typeValue;
|
|
758
764
|
return finishElement(element, node, attributes);
|
|
759
765
|
}
|
|
766
|
+
case SSML_TAGS.MSTTS_AUDIO_DURATION: {
|
|
767
|
+
const element = { type: SSML_TAGS.MSTTS_AUDIO_DURATION };
|
|
768
|
+
const value = readAttribute(attributes, SSML_ATTRS.VALUE);
|
|
769
|
+
if (value !== void 0) element.value = value;
|
|
770
|
+
return finishElement(element, node, attributes);
|
|
771
|
+
}
|
|
760
772
|
default: {
|
|
761
773
|
const element = {
|
|
762
774
|
name: node.name,
|
|
@@ -858,6 +870,7 @@ var INTRINSICALLY_EMPTY_ELEMENTS = /* @__PURE__ */ new Set([
|
|
|
858
870
|
"lexicon",
|
|
859
871
|
"mark",
|
|
860
872
|
"mstts:silence",
|
|
873
|
+
"mstts:audioduration",
|
|
861
874
|
"mstts:viseme",
|
|
862
875
|
"silence",
|
|
863
876
|
"viseme"
|
|
@@ -1516,6 +1529,8 @@ function updateEditableText(document2, value) {
|
|
|
1516
1529
|
// packages/ssml-editor-react/src/constants/ssmlPresets.ts
|
|
1517
1530
|
var ssmlPresets_exports = {};
|
|
1518
1531
|
__export(ssmlPresets_exports, {
|
|
1532
|
+
AUDIO_DURATION_DESCRIPTIONS: () => AUDIO_DURATION_DESCRIPTIONS,
|
|
1533
|
+
AUDIO_DURATION_PRESETS: () => AUDIO_DURATION_PRESETS,
|
|
1519
1534
|
BREAK_STRENGTH_PRESETS: () => BREAK_STRENGTH_PRESETS,
|
|
1520
1535
|
BREAK_TIME_DESCRIPTIONS: () => BREAK_TIME_DESCRIPTIONS,
|
|
1521
1536
|
BREAK_TIME_PRESETS: () => BREAK_TIME_PRESETS,
|
|
@@ -1548,6 +1563,103 @@ __export(ssmlPresets_exports, {
|
|
|
1548
1563
|
getExpressAsStyleCategory: () => getExpressAsStyleCategory,
|
|
1549
1564
|
resolveExpressAsStyles: () => resolveExpressAsStyles
|
|
1550
1565
|
});
|
|
1566
|
+
|
|
1567
|
+
// packages/ssml-editor-react/src/constants/azureVoiceStyleMap.generated.ts
|
|
1568
|
+
var AZURE_VOICE_STYLE_MAP = {
|
|
1569
|
+
"de-DE-ConradNeural": ["cheerful", "sad"],
|
|
1570
|
+
"de-DE-KatjaNeural": ["cheerful", "sad"],
|
|
1571
|
+
"en-US-AndrewNeural": ["empathetic", "relieved"],
|
|
1572
|
+
"en-US-GuyNeural": [
|
|
1573
|
+
"angry",
|
|
1574
|
+
"cheerful",
|
|
1575
|
+
"excited",
|
|
1576
|
+
"friendly",
|
|
1577
|
+
"hopeful",
|
|
1578
|
+
"newscast",
|
|
1579
|
+
"sad",
|
|
1580
|
+
"shouting",
|
|
1581
|
+
"terrified",
|
|
1582
|
+
"unfriendly",
|
|
1583
|
+
"whispering"
|
|
1584
|
+
],
|
|
1585
|
+
"en-US-JennyMultilingualNeural": [
|
|
1586
|
+
"cheerful",
|
|
1587
|
+
"empathetic",
|
|
1588
|
+
"excited",
|
|
1589
|
+
"friendly",
|
|
1590
|
+
"hopeful",
|
|
1591
|
+
"sad",
|
|
1592
|
+
"shouting",
|
|
1593
|
+
"terrified",
|
|
1594
|
+
"unfriendly",
|
|
1595
|
+
"whispering"
|
|
1596
|
+
],
|
|
1597
|
+
"en-US-JennyNeural": [
|
|
1598
|
+
"assistant",
|
|
1599
|
+
"chat",
|
|
1600
|
+
"customerservice",
|
|
1601
|
+
"newscast",
|
|
1602
|
+
"cheerful",
|
|
1603
|
+
"empathetic",
|
|
1604
|
+
"excited",
|
|
1605
|
+
"friendly",
|
|
1606
|
+
"hopeful",
|
|
1607
|
+
"sad",
|
|
1608
|
+
"shouting",
|
|
1609
|
+
"terrified",
|
|
1610
|
+
"unfriendly",
|
|
1611
|
+
"whispering"
|
|
1612
|
+
],
|
|
1613
|
+
"es-ES-ElviraNeural": [],
|
|
1614
|
+
"fil-PH-AngeloNeural": [],
|
|
1615
|
+
"fr-FR-DeniseNeural": ["cheerful", "sad"],
|
|
1616
|
+
"fr-FR-HenriNeural": ["cheerful", "sad"],
|
|
1617
|
+
"id-ID-GadisNeural": [],
|
|
1618
|
+
"it-IT-ElsaNeural": ["cheerful", "sad"],
|
|
1619
|
+
"ja-JP-KeitaNeural": ["chat"],
|
|
1620
|
+
"ja-JP-MayuNeural": ["calm", "cheerful", "sad"],
|
|
1621
|
+
"ja-JP-NanamiNeural": ["chat", "customerservice", "cheerful", "whispering", "sad"],
|
|
1622
|
+
"ko-KR-SunHiNeural": ["cheerful", "sad"],
|
|
1623
|
+
"ms-MY-YasminNeural": [],
|
|
1624
|
+
"pt-BR-FranciscaNeural": ["calm"],
|
|
1625
|
+
"ru-RU-SvetlanaNeural": ["cheerful", "sad", "angry", "disgruntled", "embarrassed", "fearful"],
|
|
1626
|
+
"th-TH-PremwadeeNeural": [],
|
|
1627
|
+
"vi-VN-HoaiMyNeural": [],
|
|
1628
|
+
"zh-CN-XiaoxiaoNeural": [
|
|
1629
|
+
"assistant",
|
|
1630
|
+
"chat",
|
|
1631
|
+
"customerservice",
|
|
1632
|
+
"newscast",
|
|
1633
|
+
"cheerful",
|
|
1634
|
+
"empathetic",
|
|
1635
|
+
"excited",
|
|
1636
|
+
"friendly",
|
|
1637
|
+
"hopeful",
|
|
1638
|
+
"sad",
|
|
1639
|
+
"terrified",
|
|
1640
|
+
"whispering",
|
|
1641
|
+
"poetry-reading",
|
|
1642
|
+
"sports_commentary",
|
|
1643
|
+
"sports_commentary_excited",
|
|
1644
|
+
"story"
|
|
1645
|
+
],
|
|
1646
|
+
"zh-CN-YunxiNeural": [
|
|
1647
|
+
"narration-relaxed",
|
|
1648
|
+
"embarrassed",
|
|
1649
|
+
"fearful",
|
|
1650
|
+
"sad",
|
|
1651
|
+
"disgruntled",
|
|
1652
|
+
"serious",
|
|
1653
|
+
"angry",
|
|
1654
|
+
"depressed",
|
|
1655
|
+
"chat",
|
|
1656
|
+
"cheerful",
|
|
1657
|
+
"assistant"
|
|
1658
|
+
],
|
|
1659
|
+
"zh-TW-HsiaoChenNeural": []
|
|
1660
|
+
};
|
|
1661
|
+
|
|
1662
|
+
// packages/ssml-editor-react/src/constants/ssmlPresets.ts
|
|
1551
1663
|
var SSML_PRESETS = [
|
|
1552
1664
|
{
|
|
1553
1665
|
id: "basic",
|
|
@@ -1647,7 +1759,7 @@ function getExpressAsStyleCategory(style) {
|
|
|
1647
1759
|
}
|
|
1648
1760
|
return "other";
|
|
1649
1761
|
}
|
|
1650
|
-
var
|
|
1762
|
+
var LEGACY_VOICE_STYLE_MAP = {
|
|
1651
1763
|
"ja-JP-MayuNeural": ["calm", "cheerful", "sad"],
|
|
1652
1764
|
"ja-JP-KeitaNeural": ["chat"],
|
|
1653
1765
|
"ja-JP-NanamiNeural": ["chat", "customerservice", "cheerful", "whispering", "sad"],
|
|
@@ -1733,6 +1845,7 @@ var VOICE_STYLE_MAP = {
|
|
|
1733
1845
|
"de-DE-ConradNeural": ["cheerful", "sad"],
|
|
1734
1846
|
"ru-RU-SvetlanaNeural": ["cheerful", "sad", "angry", "disgruntled", "embarrassed", "fearful"]
|
|
1735
1847
|
};
|
|
1848
|
+
var VOICE_STYLE_MAP = Object.keys(AZURE_VOICE_STYLE_MAP).length > 0 ? AZURE_VOICE_STYLE_MAP : LEGACY_VOICE_STYLE_MAP;
|
|
1736
1849
|
var VOICE_STYLE_MAP_BY_NORMALIZED_NAME = new Map(
|
|
1737
1850
|
Object.entries(VOICE_STYLE_MAP).map(([voiceName, styles]) => [voiceName.toLowerCase(), styles])
|
|
1738
1851
|
);
|
|
@@ -1775,6 +1888,7 @@ var SAY_AS_PRESETS = [
|
|
|
1775
1888
|
];
|
|
1776
1889
|
var LANGUAGE_PRESETS = ["ja-JP", "en-US", "de-DE", "fr-FR"];
|
|
1777
1890
|
var SILENCE_VALUE_PRESETS = ["300ms", "500ms", "1s"];
|
|
1891
|
+
var AUDIO_DURATION_PRESETS = ["5s", "10s", "30s"];
|
|
1778
1892
|
var SILENCE_TYPE_PRESETS = [
|
|
1779
1893
|
"Leading",
|
|
1780
1894
|
"Tailing",
|
|
@@ -1783,6 +1897,11 @@ var SILENCE_TYPE_PRESETS = [
|
|
|
1783
1897
|
"Semicolon",
|
|
1784
1898
|
"Enumerationcomma"
|
|
1785
1899
|
];
|
|
1900
|
+
var AUDIO_DURATION_DESCRIPTIONS = {
|
|
1901
|
+
"5s": { ja: "5\u79D2", en: "5 seconds" },
|
|
1902
|
+
"10s": { ja: "10\u79D2", en: "10 seconds" },
|
|
1903
|
+
"30s": { ja: "30\u79D2", en: "30 seconds" }
|
|
1904
|
+
};
|
|
1786
1905
|
var PHONEME_ALPHABET_PRESETS = ["ipa", "sapi", "ups", "x-sampa"];
|
|
1787
1906
|
var VISEME_TYPE_PRESETS = ["redlips_front", "FacialExpression"];
|
|
1788
1907
|
var SSML_ATTRIBUTE_PRESETS = {
|
|
@@ -1826,6 +1945,9 @@ var SSML_ATTRIBUTE_PRESETS = {
|
|
|
1826
1945
|
type: SILENCE_TYPE_PRESETS,
|
|
1827
1946
|
value: SILENCE_VALUE_PRESETS
|
|
1828
1947
|
},
|
|
1948
|
+
"mstts:audioduration": {
|
|
1949
|
+
value: AUDIO_DURATION_PRESETS
|
|
1950
|
+
},
|
|
1829
1951
|
silence: {
|
|
1830
1952
|
type: SILENCE_TYPE_PRESETS,
|
|
1831
1953
|
value: SILENCE_VALUE_PRESETS
|
|
@@ -2313,6 +2435,10 @@ var SSML_COMPLETION_SNIPPETS = [
|
|
|
2313
2435
|
label: "mstts:express-as",
|
|
2314
2436
|
insertText: `<mstts:express-as style="cheerful">\${1:text}</mstts:express-as>`
|
|
2315
2437
|
},
|
|
2438
|
+
{
|
|
2439
|
+
label: "mstts:audioduration",
|
|
2440
|
+
insertText: '<mstts:audioduration value="10s" />'
|
|
2441
|
+
},
|
|
2316
2442
|
{
|
|
2317
2443
|
label: "sub",
|
|
2318
2444
|
insertText: `<sub alias="\${1:\u8AAD\u307F}">\${2:\u6F22\u5B57}</sub>`
|
|
@@ -2580,6 +2706,13 @@ var SSML_HOVER_COPY = {
|
|
|
2580
2706
|
parameters: {
|
|
2581
2707
|
type: { title: "type", description: "\u30D3\u30BC\u30FC\u30E0\u30A4\u30D9\u30F3\u30C8\u306E\u5F62\u5F0F\u3002" }
|
|
2582
2708
|
}
|
|
2709
|
+
},
|
|
2710
|
+
"mstts:audioduration": {
|
|
2711
|
+
title: "\u97F3\u58F0\u9577",
|
|
2712
|
+
description: "\u5408\u6210\u97F3\u58F0\u306E\u76EE\u6A19\u6642\u9593\u3092\u6307\u5B9A\u3057\u307E\u3059\u3002",
|
|
2713
|
+
parameters: {
|
|
2714
|
+
value: { title: "value", description: "\u76EE\u6A19\u6642\u9593\u3002\u4F8B: `10s`\u3001`5000ms`\u3001`00:00:10`\u3002" }
|
|
2715
|
+
}
|
|
2583
2716
|
}
|
|
2584
2717
|
}
|
|
2585
2718
|
},
|
|
@@ -2737,6 +2870,13 @@ var SSML_HOVER_COPY = {
|
|
|
2737
2870
|
parameters: {
|
|
2738
2871
|
type: { title: "type", description: "The viseme event format." }
|
|
2739
2872
|
}
|
|
2873
|
+
},
|
|
2874
|
+
"mstts:audioduration": {
|
|
2875
|
+
title: "Audio duration",
|
|
2876
|
+
description: "Sets the target duration of synthesized audio.",
|
|
2877
|
+
parameters: {
|
|
2878
|
+
value: { title: "value", description: "The target duration, such as `10s`, `5000ms`, or `00:00:10`." }
|
|
2879
|
+
}
|
|
2740
2880
|
}
|
|
2741
2881
|
}
|
|
2742
2882
|
}
|
|
@@ -3033,6 +3173,17 @@ var SSML_TAG_DEFINITIONS = [
|
|
|
3033
3173
|
values: VISEME_TYPE_PRESETS2
|
|
3034
3174
|
}
|
|
3035
3175
|
]
|
|
3176
|
+
},
|
|
3177
|
+
{
|
|
3178
|
+
name: "mstts:audioduration",
|
|
3179
|
+
description: "Sets the target duration of synthesized audio.",
|
|
3180
|
+
parameters: [
|
|
3181
|
+
{
|
|
3182
|
+
name: "value",
|
|
3183
|
+
description: "The target duration, such as `10s`, `5000ms`, or `00:00:10`.",
|
|
3184
|
+
example: "10s"
|
|
3185
|
+
}
|
|
3186
|
+
]
|
|
3036
3187
|
}
|
|
3037
3188
|
];
|
|
3038
3189
|
var definitionsByName = /* @__PURE__ */ new Map();
|
|
@@ -3574,13 +3725,34 @@ var SSML_INSERTIONS = [
|
|
|
3574
3725
|
suffix: "",
|
|
3575
3726
|
mode: "insert"
|
|
3576
3727
|
})
|
|
3728
|
+
},
|
|
3729
|
+
{
|
|
3730
|
+
id: "mstts:audioduration",
|
|
3731
|
+
icon: "\u25F7",
|
|
3732
|
+
tagName: "mstts:audioduration",
|
|
3733
|
+
selfClosing: true,
|
|
3734
|
+
labels: { ja: "\u97F3\u58F0\u9577", en: "Audio duration" },
|
|
3735
|
+
descriptions: {
|
|
3736
|
+
ja: "\u5408\u6210\u97F3\u58F0\u306E\u76EE\u6A19\u6642\u9593\u3092\u6307\u5B9A\u3057\u307E\u3059\u3002",
|
|
3737
|
+
en: "Sets the target duration of synthesized audio."
|
|
3738
|
+
},
|
|
3739
|
+
parameterDescription: {
|
|
3740
|
+
ja: "\u76EE\u6A19\u6642\u9593\u3092\u9078\u629E\u3057\u307E\u3059\u3002",
|
|
3741
|
+
en: "Selects the target duration."
|
|
3742
|
+
},
|
|
3743
|
+
options: createInsertionOptions(AUDIO_DURATION_PRESETS, AUDIO_DURATION_DESCRIPTIONS),
|
|
3744
|
+
createTemplate: (value) => ({
|
|
3745
|
+
prefix: `<mstts:audioduration value="${value}"/>`,
|
|
3746
|
+
suffix: "",
|
|
3747
|
+
mode: "insert"
|
|
3748
|
+
})
|
|
3577
3749
|
}
|
|
3578
3750
|
];
|
|
3579
3751
|
var DEFAULT_INSERTION_GROUPS = [
|
|
3580
3752
|
{
|
|
3581
3753
|
id: "pauses",
|
|
3582
3754
|
labels: { ja: "\u9593\u30FB\u7121\u97F3", en: "Pauses" },
|
|
3583
|
-
insertionIds: ["break", "mstts:silence"]
|
|
3755
|
+
insertionIds: ["break", "mstts:silence", "mstts:audioduration"]
|
|
3584
3756
|
},
|
|
3585
3757
|
{
|
|
3586
3758
|
id: "prosody",
|