@yomiscript/core 0.1.0 → 0.1.2

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.
@@ -1,2 +1 @@
1
- export declare const YOMISCRIPT_INSTRUCTIONS =
2
- "Write what you want to say as YomiScript, a pronunciation notation: you decide how every word is read, from its context.\n\n- One utterance: `<lang> /\u2026 \u2198/` for a statement, `<lang> /\u2026 \u2197/` for a question. `<lang>` is a BCP 47 tag (`ja`, `en-US`).\n- The pronunciation is IPA, as the words are actually spoken: numbers, dates, symbols and abbreviations spelled out, and each word read the way it is meant here.\n - Japanese: phonemic IPA, mora by mora. Rows: a i \u026F e o; ka ki k\u026F ke ko (k\u02B2a k\u02B2\u026F k\u02B2o); sa \u0255i s\u026F se so (\u0255a \u0255\u026F \u0255o); dza d\u0291i dz\u026F dze dzo; ta t\u0255i ts\u026F te to (t\u0255a t\u0255\u026F t\u0255o); da de do; na \u0272i n\u026F ne no (\u0272a \u0272\u026F \u0272o); ha \u00E7i \u0278\u026F he ho (\u00E7a \u00E7\u026F \u00E7o); ba bi b\u026F be bo; pa pi p\u026F pe po; ma mi m\u026F me mo (m\u02B2a\u2026); ja j\u026F jo; wa; \u027Ea \u027Ei \u027E\u026F \u027Ee \u027Eo (\u027E\u02B2a\u2026). Loanword sounds: ti di t\u026F \u0278a \u0278i \u0278e \u0278o wi we wo tsa va. Particles: \u306F `wa`, \u3078 `e`, \u3092 `o`. Long vowel `\u02D0` as pronounced (\u5148\u751F `se\u02D0se\u02D0`). Geminate: double the next consonant (`kitte`; before t\u0255 / ts write `t`: `matt\u0255i`), `\u0294` before a vowel or at the end. \u30F3: `m` before p b m, `n` before t d n \u027E dz, `\u0272` before t\u0255 d\u0291 \u0272, `\u014B` before k \u0261, `\u0274` otherwise. Latin letters and symbols as a Japanese speaker says them (iPhone `ai\u0278o\u0274`). Separate words with spaces.\n - English: IPA with `\u02C8` / `\u02CC` stress at the start of the syllable, `.` between syllables, spaces between words.\n- ` \u2016 ` marks a pause (a comma). Several sentences stay one utterance: end each inner sentence with ` \u2198 ` or ` \u2197 `.\n- After each word, write the text it reads in `<t:\u2026>`, so that joining them gives back your text exactly: punctuation goes with the word before it (`des\u026F<t:\u3067\u3059\u3002>`) or in its own `<t:\u2026>` where nothing is spoken (`\u2016<t:\u3001>`); in English write the spaces too (`\u02C8w\u025Dld<t: world.>`).\n- No pitch values and no accent marks: the synthesizer makes the prosody.\n\nExamples:\nja /\u0255\u026F\u02D0mats\u026F<t:\u9031\u672B> wa<t:\u306F> \u2016<t:\u3001> tomodat\u0255i<t:\u53CB\u9054> to<t:\u3068> k\u02B2o\u02D0to<t:\u4EAC\u90FD> e<t:\u3078> ik\u026F<t:\u884C\u304F> jote\u02D0<t:\u4E88\u5B9A> des\u026F<t:\u3067\u3059\u3002> \u2198/\nja /ts\u026Fitat\u0255i<t:\u4E00\u65E5> ka\u027Ea<t:\u304B\u3089> mikka<t:\u4E09\u65E5> made<t:\u307E\u3067> jas\u026Fmi<t:\u4F11\u307F> des\u026F<t:\u3067\u3059\u3002> \u2198/\nen-US /\u02CCa\u026A<t:I> \u02C8\u0279\u025Bd<t: read> \u00F0\u0259<t: the> \u02C8l\u025B.\u027E\u0259\u0279<t: letter> \u02C8twa\u026As<t: twice,> \u2016 \u02CCb\u028Ct<t: but> \u026At<t: it> \u02C8st\u026Al<t: still> \u02CCme\u026Ad<t: made> \u02C8no\u028A<t: no> \u02C8s\u025Bns<t: sense.> \u2198/";
1
+ export declare const YOMISCRIPT_INSTRUCTIONS = "Write what you want to say as YomiScript, a pronunciation notation: you decide how every word is read, from its context.\n\n- One utterance: `<lang> /\u2026 \u2198/` for a statement, `<lang> /\u2026 \u2197/` for a question. `<lang>` is a BCP 47 tag (`ja`, `en-US`).\n- The pronunciation is IPA, as the words are actually spoken: numbers, dates, symbols and abbreviations spelled out, and each word read the way it is meant here.\n - Japanese: phonemic IPA, mora by mora. Rows: a i \u026F e o; ka ki k\u026F ke ko (k\u02B2a k\u02B2\u026F k\u02B2o); sa \u0255i s\u026F se so (\u0255a \u0255\u026F \u0255o); dza d\u0291i dz\u026F dze dzo; ta t\u0255i ts\u026F te to (t\u0255a t\u0255\u026F t\u0255o); da de do; na \u0272i n\u026F ne no (\u0272a \u0272\u026F \u0272o); ha \u00E7i \u0278\u026F he ho (\u00E7a \u00E7\u026F \u00E7o); ba bi b\u026F be bo; pa pi p\u026F pe po; ma mi m\u026F me mo (m\u02B2a\u2026); ja j\u026F jo; wa; \u027Ea \u027Ei \u027E\u026F \u027Ee \u027Eo (\u027E\u02B2a\u2026). Loanword sounds: ti di t\u026F \u0278a \u0278i \u0278e \u0278o wi we wo tsa va. Particles: \u306F `wa`, \u3078 `e`, \u3092 `o`. Long vowel `\u02D0` as pronounced (\u5148\u751F `se\u02D0se\u02D0`). Geminate: double the next consonant (`kitte`; before t\u0255 / ts write `t`: `matt\u0255i`), `\u0294` before a vowel or at the end. \u30F3: `m` before p b m, `n` before t d n \u027E dz, `\u0272` before t\u0255 d\u0291 \u0272, `\u014B` before k \u0261, `\u0274` otherwise. Latin letters and symbols as a Japanese speaker says them (iPhone `ai\u0278o\u0274`). Separate words with spaces.\n - English: IPA with `\u02C8` / `\u02CC` stress at the start of the syllable, `.` between syllables, spaces between words.\n- ` \u2016 ` marks a pause (a comma). Several sentences stay one utterance: end each inner sentence with ` \u2198 ` or ` \u2197 `.\n- After each word, write the text it reads in `<t:\u2026>`, so that joining them gives back your text exactly: punctuation goes with the word before it (`des\u026F<t:\u3067\u3059\u3002>`) or in its own `<t:\u2026>` where nothing is spoken (`\u2016<t:\u3001>`); in English write the spaces too (`\u02C8w\u025Dld<t: world.>`).\n- No pitch values and no accent marks: the synthesizer makes the prosody.\n\nExamples:\nja /\u0255\u026F\u02D0mats\u026F<t:\u9031\u672B> wa<t:\u306F> \u2016<t:\u3001> tomodat\u0255i<t:\u53CB\u9054> to<t:\u3068> k\u02B2o\u02D0to<t:\u4EAC\u90FD> e<t:\u3078> ik\u026F<t:\u884C\u304F> jote\u02D0<t:\u4E88\u5B9A> des\u026F<t:\u3067\u3059\u3002> \u2198/\nja /ts\u026Fitat\u0255i<t:\u4E00\u65E5> ka\u027Ea<t:\u304B\u3089> mikka<t:\u4E09\u65E5> made<t:\u307E\u3067> jas\u026Fmi<t:\u4F11\u307F> des\u026F<t:\u3067\u3059\u3002> \u2198/\nen-US /\u02CCa\u026A<t:I> \u02C8\u0279\u025Bd<t: read> \u00F0\u0259<t: the> \u02C8l\u025B.\u027E\u0259\u0279<t: letter> \u02C8twa\u026As<t: twice,> \u2016 \u02CCb\u028Ct<t: but> \u026At<t: it> \u02C8st\u026Al<t: still> \u02CCme\u026Ad<t: made> \u02C8no\u028A<t: no> \u02C8s\u025Bns<t: sense.> \u2198/";
@@ -14,4 +14,4 @@ Examples:
14
14
  ja /ɕɯːmatsɯ<t:週末> wa<t:は> ‖<t:、> tomodatɕi<t:友達> to<t:と> kʲoːto<t:京都> e<t:へ> ikɯ<t:行く> joteː<t:予定> desɯ<t:です。> ↘/
15
15
  ja /tsɯitatɕi<t:一日> kaɾa<t:から> mikka<t:三日> made<t:まで> jasɯmi<t:休み> desɯ<t:です。> ↘/
16
16
  en-US /ˌaɪ<t:I> ˈɹɛd<t: read> ðə<t: the> ˈlɛ.ɾəɹ<t: letter> ˈtwaɪs<t: twice,> ‖ ˌbʌt<t: but> ɪt<t: it> ˈstɪl<t: still> ˌmeɪd<t: made> ˈnoʊ<t: no> ˈsɛns<t: sense.> ↘/`;
17
- //# sourceMappingURL=instructions.js.map
17
+ //# sourceMappingURL=instructions.js.map
@@ -0,0 +1,3 @@
1
+ import type { Section, Token } from "./yomiscript.ts";
2
+ /** the three pitch values of every Japanese mora of the section, from its accent marks */
3
+ export declare function jaContour(sec: Section): Map<Token, number[]>;
@@ -0,0 +1,194 @@
1
+ /** feature -> its weights when it is a feature of the mora two before, one before, the mora itself, one after and two
2
+ * after; each three, for the start, the middle and the end of the mora whose values are computed */
3
+ const W = {
4
+ H: [0.9002, 0.6245, 0.3215, 1.3808, 1.0254, 0.5983, 0.565, 1.7001, 1.8248, -1.05, -1.5881, -0.8964, -0.3759, -0.5026, -0.9493],
5
+ H_bgx: [0.7035, 1.3411, 1.2794, -1.1374, 0.0261, 0.8996, -1.254, -1.3526, -1.0862, -0.5962, -0.5955, -1.0037, -0.845, -0.8275, -0.4163],
6
+ bg_i: [-0.1178, -0.0998, -0.0798, -0.2072, -0.1907, -0.1408, -0.2166, -0.2405, -0.241, -0.2701, -0.2669, -0.188, 0.985, 0.9193, 0.7848],
7
+ bgx: [4.2458, 3.7873, 2.8561, -1.6189, -2.7211, -1.2077, -0.2683, 1.1098, 2.1054, -1.8795, -2.6873, -5.2917, 0.1992, 0.0098, 1.3627],
8
+ bgx2: [-4.4474, -5.2164, -4.7622, -0.0694, 0.8544, 0.7853, -0.0263, -0.0486, -2.1205, -1.1349, -2.3836, -0.3259, 1.3054, 2.1072, 1.0512],
9
+ down: [0.6604, 0.681, 0.683, 0.0854, 0.1896, 0.2217, -0.9145, -0.9049, -0.8523, -0.0844, -0.141, -0.1573, 0.1517, 0.1302, 0.1516],
10
+ down2: [0.033, -0.0123, -0.0685, -0.0616, -0.0556, -0.1665, 0.2633, 0.1512, 0.2007, -0.0371, 0.1788, 0.2903, -0.2586, -0.2752, -0.3206],
11
+ down_H: [0.0853, 0.0532, 0.0866, -0.0248, -0.0218, -0.0521, -0.183, -0.1396, -0.0864, -0.0395, -0.0728, -0.133, 0.098, 0.054, 0.0153],
12
+ end1: [-1.2792, -1.2966, -0.8737, -0.1654, -0.7334, -1.4384, 0.9391, 0.8616, -0.0015, -0.6398, -0.4224, -0.9231, -0.6443, -0.4942, -0.5097],
13
+ end2: [-1.412, -0.2462, 0.3939, -3.8816, -5.2515, -4.1065, 1.8325, 1.5753, 2.519, 1.0552, 0.4738, 0.4102, -0.0233, -0.1786, -0.3303],
14
+ fL_first: [0.1653, 0.0453, 0.068, 0.4563, 0.3948, 0.4495, 0.8631, 0.7041, 0.4589, 1.0385, 1.0142, 1.6106, 0.5297, 0.9794, 1.0718],
15
+ final: [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.742, 0.7824, 0.4615, -0.7703, -0.063, -0.6452, -0.617, -0.6344, -0.6791],
16
+ final2: [0.0, 0.0, 0.0, 0.742, 0.7824, 0.4615, -0.7703, -0.063, -0.6452, -0.617, -0.6344, -0.6791, -0.2414, -0.3559, -0.3271],
17
+ final_flat: [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -0.4009, -1.3712, -1.3618, 0.3137, 0.041, -0.0036, 0.2201, 0.3918, 0.5048],
18
+ first_H: [-0.1853, -0.1971, -0.2049, -0.1373, -0.4881, -0.5385, -0.665, -0.3334, 0.1081, -0.3786, -0.2675, -0.4049, -0.3928, -0.4003, -0.2335],
19
+ first_L: [0.945, 1.1908, 0.96, -0.5028, -0.1685, 0.2206, -1.4596, -0.6267, -0.2274, -1.1982, -1.5764, -1.5376, -0.5159, -0.7742, -0.8003],
20
+ first_phrase: [0.0127, -0.0709, -0.0488, 0.2931, 0.3346, 0.3044, 0.1126, 0.2132, 0.1748, -0.0805, -0.0214, 0.0894, -0.2158, -0.2546, -0.1815],
21
+ flat: [-0.0741, 0.0203, 0.1424, -0.0759, -0.0241, -0.1504, 0.0957, -0.0299, 0.0426, 0.1092, 0.1729, 0.1599, -0.3294, -0.4087, -0.4863],
22
+ hpos: [-0.1237, -0.1573, -0.1597, 0.0137, -0.0102, -0.0059, 0.1425, 0.1649, 0.1253, 0.0167, 0.061, 0.0962, 0.0248, 0.0108, 0.0143],
23
+ last_bg: [0.5075, 0.4125, 0.3348, -0.3829, -0.0557, 0.2068, -0.7729, -0.8791, -0.9558, 0.1922, 0.0249, -0.0968, 0.0231, 0.0844, 0.1193],
24
+ lpos: [0.1547, 0.1469, 0.1278, 0.0284, -0.0266, -0.0695, -0.3351, -0.0345, -0.0278, -0.3222, -0.4992, -0.3907, 0.2829, 0.1935, -0.0493],
25
+ nucm: [-0.0136, -0.0876, -0.1316, 0.5455, -0.0205, -0.2689, 0.3811, 0.5184, 0.4849, 0.6471, 0.6156, 0.413, 0.879, 1.1209, 1.4015],
26
+ nucm_bgx: [-2.9568, -2.9602, -2.3205, -1.5384, -2.6502, -3.0136, 1.4722, 0.9811, -0.345, 0.8307, 0.7888, 1.5857, -0.3531, -0.6366, -0.9942],
27
+ phrase_last: [0.6379, 1.4142, 1.3112, -0.8891, -0.3409, 0.0838, -0.7195, -0.9274, -1.011, -0.6154, -0.6281, -0.7299, -0.0794, -0.1831, -0.2949],
28
+ pib: [-0.2117, 0.0299, -0.2356, -0.3793, -0.4637, -0.0739, 0.52, 0.4323, 0.6576, 1.062, 0.8634, 0.4344, 1.2675, 1.3258, 1.344],
29
+ post: [-0.4051, -0.0661, 0.0991, -1.2025, -1.1509, -0.8386, -0.1415, -2.0912, -2.4033, 1.9281, 2.8822, 1.899, 0.4473, 0.6637, 1.7055],
30
+ post1: [-0.2523, -0.0196, 0.0216, -0.0136, -0.0876, -0.1316, 0.5455, -0.0205, -0.2689, 0.3811, 0.5184, 0.4849, 0.6471, 0.6156, 0.413],
31
+ post_bgx: [0.2751, 0.0445, -0.0376, 1.8007, 2.7418, 2.2926, -0.81, 0.915, 1.9724, -1.5385, -2.215, -1.8492, -1.9673, -1.8981, -2.0898],
32
+ prepause: [-1.2792, -1.2966, -0.8737, -0.1654, -0.7334, -1.4384, 1.034, 0.8612, -0.3998, -0.4765, -0.6985, -1.0892, -0.6168, -0.3327, -0.3217],
33
+ q: [1.1407, 0.0176, -0.408, 1.6861, 1.3924, 1.0494, -0.6256, 0.9076, 3.459, -0.5544, -0.4817, -0.3009, -0.1924, -0.0997, 0.102],
34
+ q2: [1.6861, 1.3924, 1.0494, -0.6256, 0.9076, 3.459, -0.5544, -0.4817, -0.3009, -0.1924, -0.0997, 0.102, -0.4276, -0.5058, -0.2732],
35
+ q_H: [-2.7032, -3.3992, -4.0897, -3.2517, -4.1292, -5.0719, 4.3189, 3.2602, 1.1747, 3.8848, 3.5671, 3.4362, 3.0486, 2.8146, 2.9606],
36
+ size: [-0.0719, -0.0615, -0.0163, 0.148, 0.1233, 0.0278, 0.0116, 0.0082, 0.1003, 0.0914, 0.094, 0.0257, -0.1798, -0.1638, -0.1474],
37
+ size_s: [1.0275, 1.3039, 0.8172, -1.3415, -1.1954, -0.3495, -0.2296, -0.412, -0.9877, -0.5874, -0.6417, -0.1048, 1.0772, 1.0228, 0.8462],
38
+ sx: [-9.5757, -8.8481, -8.9357, 2.1646, 2.0521, 1.9042, 5.0785, 4.4843, 4.9879, 2.3678, 1.1175, 1.9047, -1.3746, -0.359, -1.2773],
39
+ to_end: [-0.6638, -1.6697, -1.6024, 0.7618, 1.4441, 0.8868, 0.915, 1.0043, 1.1744, -0.3403, -0.64, -0.5584, -0.6821, -0.4327, -0.3046],
40
+ v_N: [0.2137, 0.1937, 0.1708, 0.5322, 0.3068, 0.0298, 0.8715, 0.6635, 0.6917, -0.1751, 0.2909, 0.9904, -0.0756, -0.1468, -0.2913],
41
+ v_Q: [0.7782, 0.7814, 0.6954, 0.2751, 0.4095, 0.5268, -0.2791, -0.1259, 0.7242, -0.0587, -0.1029, -0.3758, 0.3047, 0.2125, 0.1389],
42
+ v_R: [0.2472, 0.2655, 0.2049, 0.2652, 0.1909, 0.0837, 0.4369, 0.4015, 0.3504, 0.0717, 0.107, 0.522, 0.0951, -0.0175, -0.0529],
43
+ v_a: [0.3896, 0.4734, 0.3894, -0.0557, -0.05, 0.0011, -0.2725, -0.4061, -0.2823, -0.1752, -0.2214, -0.2276, -0.0928, -0.1298, -0.0804],
44
+ v_e: [0.2605, 0.3522, 0.2774, -0.052, -0.092, -0.0942, 0.0582, -0.0963, -0.2382, -0.0165, -0.0492, -0.1643, -0.0568, -0.0339, 0.0542],
45
+ v_i: [0.3918, 0.4401, 0.3216, 0.2752, 0.1394, 0.1243, 0.061, 0.2132, 0.1623, 0.0109, 0.0293, 0.047, 0.0162, -0.0253, 0.0306],
46
+ v_o: [0.2724, 0.2843, 0.1642, -0.0154, -0.0322, -0.0145, -0.058, -0.108, -0.2545, 0.0749, -0.0041, -0.0806, 0.1135, 0.104, 0.1997],
47
+ v_u: [0.2996, 0.3514, 0.206, 0.2983, 0.1821, 0.0904, -0.1201, 0.2092, 0.2118, 0.0002, -0.0235, -0.2074, -0.0418, -0.0817, -0.0408],
48
+ vl: [-0.0228, -0.0625, -0.0547, 0.1263, 0.0789, 0.0544, 1.1619, 0.4086, 0.311, -0.0161, 0.1576, 0.1844, 0.0384, 0.0778, 0.1331],
49
+ };
50
+ const POINT = [1.0902, 1.4534, 1.0078];
51
+ const CTX = 2;
52
+ const VOICELESS = new Set(["k", "kʲ", "s", "ɕ", "t", "tɕ", "ts", "h", "ç", "ɸ", "p", "pʲ"]);
53
+ const VOWEL = { a: "a", i: "i", ɯ: "u", e: "e", o: "o" };
54
+ const size = (s) => s.phrases.reduce((n, p) => n + p.morae.length, 0);
55
+ function sentences(sec) {
56
+ // the morae by sentence (an inner ↘ ends one) and accent phrase; ↗ ends a question and, inside, a breath group
57
+ const out = [{ phrases: [], qs: new Set() }];
58
+ let pause = false, chunk = -1;
59
+ for (const t of sec.toks) {
60
+ const cur = out[out.length - 1];
61
+ if (t.kind === "unit") {
62
+ if (t.chunk !== chunk || !cur.phrases.length)
63
+ cur.phrases.push({ morae: [], pause });
64
+ cur.phrases[cur.phrases.length - 1].morae.push(t);
65
+ chunk = t.chunk ?? 0;
66
+ pause = false;
67
+ }
68
+ else if (t.kind === "pause")
69
+ pause = true;
70
+ else if (t.kind === "punct" && t.sent && t.sym === "?") {
71
+ cur.qs.add(size(cur) - 1);
72
+ pause = true;
73
+ }
74
+ else if (t.kind === "punct" && t.sent) {
75
+ out.push({ phrases: [], qs: new Set() });
76
+ pause = false;
77
+ }
78
+ }
79
+ if (sec.end === "?")
80
+ out[out.length - 1].qs.add(size(out[out.length - 1]) - 1);
81
+ return out.filter((s) => s.phrases.length);
82
+ }
83
+ const b = (x) => (x ? 1 : 0);
84
+ function phraseRows(M, at) {
85
+ // one row of features per mora; H / L from the marks as the rules read them (high from the start without ꜛ)
86
+ const n = M.length, f = M.findIndex((m) => m.fall), nuc = f < 0 ? 0 : f + 1;
87
+ let high = !M[0].hasRise, hk = 0;
88
+ return M.map((m, j) => {
89
+ const H = high ? 1 : 0, i = at.i + j;
90
+ const r = {
91
+ ...{ H, first_L: b(j === 0 && !high), hpos: H * hk, nucm: b(nuc > 0 && j === nuc - 1), post1: b(nuc > 0 && j === nuc) },
92
+ ...{ post: b(nuc > 0 && j > nuc), lpos: nuc > 0 && j >= nuc ? j - nuc : 0, flat: b(nuc === 0 || nuc === n) },
93
+ ...{ down: at.acc, down_H: at.acc * H, bgx: (i - at.bgS) / Math.max(at.bgE - at.bgS, 1), sx: i / at.total, bg_i: at.bgI },
94
+ ...{ last_bg: b(at.bgE === at.total), final: b(i === at.total - 1), final2: b(i === at.total - 2) },
95
+ ...{ prepause: b(at.pauses.has(i + 1)), q: b(at.qs.has(i)), q2: b(at.qs.has(i + 1)), phrase_last: b(j === n - 1) },
96
+ ...{ size: n, first_phrase: b(at.first), size_s: Math.min(n, 8) / 8, first_H: H * b(j === 0), pib: Math.min(at.pib, 4) / 4 },
97
+ };
98
+ if (high)
99
+ hk++;
100
+ if (m.rise)
101
+ high = true;
102
+ if (m.fall)
103
+ high = false;
104
+ return { ...r, ...combined(r, at.bgE - i) };
105
+ });
106
+ }
107
+ function combined(r, toEnd) {
108
+ // the place before the breath group's end, and products of the features above
109
+ return {
110
+ ...{ to_end: Math.min(toEnd, 8) / 8, end1: b(toEnd === 1), end2: b(toEnd === 2), bgx2: r.bgx ** 2, down2: b(r.down >= 2) },
111
+ ...{ H_bgx: r.H * r.bgx, post_bgx: (r.post + r.post1) * r.bgx, fL_first: r.first_L * r.first_phrase, final_flat: r.final * r.flat },
112
+ ...{ q_H: r.q * r.H, nucm_bgx: r.nucm * r.bgx },
113
+ };
114
+ }
115
+ function kind(m, prev) {
116
+ // what the mora is: its vowel, ɴ (N), the geminate (Q), or a long vowel (R: ː, or the vowel before it again without
117
+ // an onset)
118
+ if (m.mk === "N" || m.mk === "Q")
119
+ return m.mk;
120
+ if (m.mk === "R" || (!m.on && m.v === prev))
121
+ return "R";
122
+ return VOWEL[m.v ?? ""] ?? "a";
123
+ }
124
+ function moraRows(morae) {
125
+ // the mora's kind, and whether its onset is voiceless
126
+ let prev;
127
+ return morae.map((m) => {
128
+ const v = kind(m, prev);
129
+ if (v === "N" || v === "Q")
130
+ prev = undefined;
131
+ else if (v !== "R")
132
+ prev = m.v;
133
+ const r = { vl: b(VOICELESS.has(m.on ?? "")) };
134
+ for (const k of ["a", "i", "u", "e", "o", "N", "Q", "R"])
135
+ r["v_" + k] = b(v === k);
136
+ return r;
137
+ });
138
+ }
139
+ function sentenceRows(s) {
140
+ const total = size(s), pauses = new Set(), rows = [];
141
+ let k = 0;
142
+ for (const p of s.phrases) {
143
+ if (p.pause)
144
+ pauses.add(k);
145
+ k += p.morae.length;
146
+ }
147
+ const bounds = [0, ...pauses, total].sort((x, y) => x - y);
148
+ let acc = 0, bgI = 0, pib = 0;
149
+ k = 0;
150
+ s.phrases.forEach((p, pi) => {
151
+ if (p.pause)
152
+ [acc, bgI, pib] = [0, bgI + 1, 0];
153
+ const bgS = Math.max(...bounds.filter((x) => x <= k)), bgE = Math.min(...bounds.filter((x) => x > k));
154
+ rows.push(...phraseRows(p.morae, { i: k, total, bgS, bgE, bgI, acc, pib, first: pi === 0 || p.pause, pauses, qs: s.qs }));
155
+ if (p.morae.some((m) => m.fall))
156
+ acc++;
157
+ k += p.morae.length;
158
+ pib++;
159
+ });
160
+ const what = moraRows(s.phrases.flatMap((p) => p.morae));
161
+ return rows.map((r, i) => ({ ...r, ...what[i] }));
162
+ }
163
+ function values(rows) {
164
+ // each mora's three values from its own row and its neighbours' (none past the sentence's ends)
165
+ return rows.map((_, i) => {
166
+ const v = [...POINT];
167
+ for (let d = -CTX; d <= CTX; d++) {
168
+ const r = rows[i + d];
169
+ if (!r)
170
+ continue;
171
+ for (const [f, x] of Object.entries(r))
172
+ for (let p = 0; p < 3; p++)
173
+ v[p] += x * W[f][(d + CTX) * 3 + p];
174
+ }
175
+ return v;
176
+ });
177
+ }
178
+ function median(a) {
179
+ const s = [...a].sort((x, y) => x - y), h = s.length >> 1;
180
+ return s.length % 2 ? s[h] : (s[h - 1] + s[h]) / 2;
181
+ }
182
+ /** the three pitch values of every Japanese mora of the section, from its accent marks */
183
+ export function jaContour(sec) {
184
+ const out = new Map();
185
+ for (const s of sentences(sec)) {
186
+ const V = values(sentenceRows(s));
187
+ const mid = median(V.flat());
188
+ s.phrases
189
+ .flatMap((p) => p.morae)
190
+ .forEach((m, i) => out.set(m, V[i].map((v) => v - mid)));
191
+ }
192
+ return out;
193
+ }
194
+ //# sourceMappingURL=ja_contour.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ja_contour.js","sourceRoot":"","sources":["../src/ja_contour.ts"],"names":[],"mappings":"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"}
package/dist/yomite.d.ts CHANGED
@@ -1,12 +1,17 @@
1
1
  export interface Edit {
2
- at: number;
3
- ins: string;
4
- del?: number;
2
+ at: number;
3
+ ins: string;
4
+ del?: number;
5
5
  }
6
6
  export interface RealizeOptions {
7
- dialect?: {
8
- ja?: "tokyo" | "osaka";
9
- };
7
+ dialect?: {
8
+ ja?: "tokyo" | "osaka";
9
+ };
10
+ /** only the Japanese accent phrases that carry ꜛ or ꜜ get values (and no devoicing is written); everything else is
11
+ * left to the Katarite's own prosody. For callers that mark the accent only where they know it (D25) */
12
+ markedOnly?: boolean;
13
+ /** multiplies the values written for Japanese (1 by default) */
14
+ jaScale?: number;
10
15
  }
11
16
  export declare const f0Mark: (c: number[]) => string;
12
17
  export declare function applyEdits(s: string, E: Edit[]): string;
package/dist/yomite.js CHANGED
@@ -4,104 +4,135 @@
4
4
  // Units that already carry <f0:…> are left as written. The Katarite renders only the values.
5
5
  // Dialect is a Yomite setting, not part of YomiScript: realize(ys, {dialect:{ja:'osaka'}}).
6
6
  import { parse, isJa, VOWELS } from "./yomiscript.js";
7
+ import { jaContour } from "./ja_contour.js";
7
8
  const inStr = (ch, s) => s.includes(ch);
8
9
  const fmt = (v) => String(Math.round(v * 100) / 100);
9
10
  export const f0Mark = (c) => `<f0:${c.map(fmt).join(",")}>`;
10
11
  export function applyEdits(s, E) {
11
- for (const e of [...E].sort((a, b) => b.at - a.at)) s = s.slice(0, e.at) + e.ins + s.slice(e.at + (e.del || 0));
12
- return s;
12
+ for (const e of [...E].sort((a, b) => b.at - a.at))
13
+ s = s.slice(0, e.at) + e.ins + s.slice(e.at + (e.del || 0));
14
+ return s;
13
15
  }
14
- // Japanese: Tokyo-type pitch from ꜛ / ꜜ per accent phrase. Osaka (Keihan-type): a phrase without ꜛ is high-onset,
15
- // ꜛ marks where a low-onset phrase rises; the high stretch is flatter and vowels are not devoiced
16
+ // Japanese: Tokyo-type pitch from ꜛ / ꜜ: three values per mora from the marks of the whole sentence (ja_contour.ts,
17
+ // D28, D29). Osaka (Keihan-type), per accent phrase: a phrase without ꜛ is high-onset, ꜛ marks where a low-onset phrase
18
+ // rises; the high stretch is flatter and vowels are not devoiced
16
19
  const VLJ = ["k", "s", "ɕ", "t", "ʨ", "ʦ", "h", "ç", "ɸ", "p"];
17
20
  const voicelessStart = (m) => !!m && m.mk === "mora" && VLJ.some((x) => (m.ipa ?? "").startsWith(x));
18
21
  function devoiced(M, k, end) {
19
- // i / ɯ between voiceless consonants, and the ɯ of a sentence-final す
20
- const m = M[k];
21
- if (m.mk !== "mora" || !inStr(m.v ?? "", "iɯɨ") || !voicelessStart(m)) return false;
22
- if (voicelessStart(M[k + 1])) return true;
23
- return k === M.length - 1 && end === "$" && (m.ipa === "sɯ" || m.ipa === "sɨ");
22
+ // i / ɯ between voiceless consonants, and the ɯ of a sentence-final す
23
+ const m = M[k];
24
+ if (m.mk !== "mora" || !inStr(m.v ?? "", "iɯɨ") || !voicelessStart(m))
25
+ return false;
26
+ if (voicelessStart(M[k + 1]))
27
+ return true;
28
+ return k === M.length - 1 && end === "$" && (m.ipa === "sɯ" || m.ipa === "sɨ");
24
29
  }
25
- function jaPhrase(M, end, osaka, E) {
26
- // one accent phrase: high after ꜛ (or from the start without ꜛ), low after ꜜ; declining within the high stretch
27
- let state = M[0].hasRise ? "L" : "H",
28
- hk = 0;
29
- M.forEach((m, k) => {
30
- let v;
31
- if (state === "H") v = 2.5 - 0.45 * hk++;
32
- else v = k === 0 ? -2.0 : -2.5 - 0.3 * hk;
33
- const auto = !osaka && devoiced(M, k, end);
34
- if (auto && !m.dev) E.push({ at: m.vend ?? 0, ins: "̥" });
35
- if (osaka && v >= 0) v = 2.5 - (2.5 - v) / 3;
36
- if (!m.dev && !auto && !m.f0) E.push({ at: m.end ?? 0, ins: f0Mark([v]) });
37
- if (m.rise) state = "H";
38
- if (m.fall) state = "L";
39
- });
30
+ function osakaValue(high, k, hk) {
31
+ // high after ꜛ (or from the start without ꜛ), low after ꜜ; declining within the high stretch, flatter than Tokyo's
32
+ if (!high)
33
+ return k === 0 ? -2.0 : -2.5 - 0.3 * hk;
34
+ const v = 2.5 - 0.45 * hk;
35
+ return v >= 0 ? 2.5 - (2.5 - v) / 3 : v;
40
36
  }
41
- function jaRules(sec, E, dialect) {
42
- const C = [];
43
- for (const t of sec.toks) {
44
- if (t.kind !== "unit") continue;
45
- const c = t.chunk ?? 0;
46
- C[c] ??= [];
47
- C[c].push(t);
48
- }
49
- for (const M of C) jaPhrase(M, sec.end, dialect === "osaka", E);
37
+ function jaPhrase(M, end, E, { devoice, scale, contour }) {
38
+ // one accent phrase: the devoiced vowels (Tokyo) and the values
39
+ let high = !M[0].hasRise, hk = 0;
40
+ M.forEach((m, k) => {
41
+ const c = contour ? contour.get(m) : !m.dev && [osakaValue(high, k, hk)];
42
+ if (c && !m.f0)
43
+ E.push({ at: m.end ?? 0, ins: f0Mark(c.map((v) => v * scale)) });
44
+ // after the value: at the same offset, the later edit lands first (the ̥ before <f0:…>)
45
+ if (devoice && contour && devoiced(M, k, end) && !m.dev)
46
+ E.push({ at: m.vend ?? 0, ins: "̥" });
47
+ if (high)
48
+ hk++;
49
+ if (m.rise)
50
+ high = true;
51
+ if (m.fall)
52
+ high = false;
53
+ });
54
+ }
55
+ const marked = (M) => M.some((m) => m.rise || m.fall);
56
+ function jaRules(sec, E, opt) {
57
+ const C = [];
58
+ for (const t of sec.toks) {
59
+ if (t.kind !== "unit")
60
+ continue;
61
+ const c = t.chunk ?? 0;
62
+ C[c] ??= [];
63
+ C[c].push(t);
64
+ }
65
+ const o = { devoice: !opt.markedOnly, scale: opt.jaScale ?? 1, contour: opt.dialect?.ja === "osaka" ? null : jaContour(sec) };
66
+ for (const M of C)
67
+ if (!opt.markedOnly || marked(M))
68
+ jaPhrase(M, sec.end, E, o);
50
69
  }
51
70
  // English / French: stress-based pitch, phrase-boundary rise, sentence-final fall or rise
52
71
  function flaps(t, prev) {
53
- // American English: t / d between a vowel (or r) and a vowel or syllabic l, not at the start of a word -> ɾ
54
- const r = t.raw ?? "";
55
- if (t.j === 0 || !inStr(r[0] ?? "#", "td") || r.length < 2 || prev?.kind !== "unit") return false;
56
- if (!inStr(r[1], VOWELS + "ɝɚ") && !r.slice(1).startsWith("l̩")) return false;
57
- return inStr((prev.raw ?? "").slice(-1), VOWELS + "ɹrɝɚ");
72
+ // American English: t / d between a vowel (or r) and a vowel or syllabic l, not at the start of a word -> ɾ
73
+ const r = t.raw ?? "";
74
+ if (t.j === 0 || !inStr(r[0] ?? "#", "td") || r.length < 2 || prev?.kind !== "unit")
75
+ return false;
76
+ if (!inStr(r[1], VOWELS + "ɝɚ") && !r.slice(1).startsWith("l̩"))
77
+ return false;
78
+ return inStr((prev.raw ?? "").slice(-1), VOWELS + "ɹrɝɚ");
58
79
  }
59
80
  function euValue(t, fr) {
60
- if (fr) return t.j === (t.nsyl ?? 0) - 1 ? [0.5] : [-0.5];
61
- return { ˈ: [3.0, 1.0], ˌ: [1.0] }[t.st ?? ""] ?? [-1.5];
81
+ if (fr)
82
+ return t.j === (t.nsyl ?? 0) - 1 ? [0.5] : [-0.5];
83
+ return { ˈ: [3.0, 1.0], ˌ: [1.0] }[t.st ?? ""] ?? [-1.5];
62
84
  }
63
85
  // American English only: not en-GB, not French, and not English words inside another language
64
86
  const flapping = (lang, top) => lang.startsWith("en") && lang !== "en-GB" && top.startsWith("en");
65
87
  const lastValued = (C) => C.findLast((x) => x.c);
66
88
  function euContours(sec, top, E) {
67
- // stress-based value per syllable (null where the YomiScript already has one), plus the phrase-final rises
68
- const fr = sec.lang === "fr",
69
- flap = flapping(sec.lang, top);
70
- const C = [];
71
- let prev = null;
72
- for (const t of sec.toks) {
73
- const L = t.kind === "bound" ? lastValued(C) : null;
74
- if (L?.c) L.c = [...L.c, 2.5];
75
- if (t.kind === "bound") continue;
76
- if (t.kind === "unit" && flap && !t.f0 && flaps(t, prev)) E.push({ at: t.start ?? 0, del: 1, ins: "ɾ" });
77
- if (t.kind === "unit") C.push({ t, c: t.f0 ? null : euValue(t, fr) });
78
- prev = t;
79
- }
80
- return C;
89
+ // stress-based value per syllable (null where the YomiScript already has one), plus the phrase-final rises
90
+ const fr = sec.lang === "fr", flap = flapping(sec.lang, top);
91
+ const C = [];
92
+ let prev = null;
93
+ for (const t of sec.toks) {
94
+ const L = t.kind === "bound" ? lastValued(C) : null;
95
+ if (L?.c)
96
+ L.c = [...L.c, 2.5];
97
+ if (t.kind === "bound")
98
+ continue;
99
+ if (t.kind === "unit" && flap && !t.f0 && flaps(t, prev))
100
+ E.push({ at: t.start ?? 0, del: 1, ins: "ɾ" });
101
+ if (t.kind === "unit")
102
+ C.push({ t, c: t.f0 ? null : euValue(t, fr) });
103
+ prev = t;
104
+ }
105
+ return C;
81
106
  }
82
107
  function euRules(sec, E, top) {
83
- const C = euContours(sec, top, E),
84
- L = lastValued(C);
85
- if (L?.c) L.c = [L.c[0], sec.end === "$" ? -5 : 6]; // sentence-final fall or rise
86
- for (const { t, c } of C) if (c) E.push({ at: t.end ?? 0, ins: f0Mark(c) });
108
+ const C = euContours(sec, top, E), L = lastValued(C);
109
+ if (L?.c)
110
+ L.c = [L.c[0], sec.end === "$" ? -5 : 6]; // sentence-final fall or rise
111
+ for (const { t, c } of C)
112
+ if (c)
113
+ E.push({ at: t.end ?? 0, ins: f0Mark(c) });
87
114
  }
88
115
  // Chinese: tone contours (tone 5 = neutral, no value)
89
116
  const TC = { 1: [3, 3], 2: [-1, 3.5], 3: [-3, -4.5, -3], 4: [4, -3], 5: null };
90
117
  function zhRules(sec, E) {
91
- for (const t of sec.toks) {
92
- const c = TC[t.tone ?? ""];
93
- if (t.kind === "unit" && !t.f0 && c) E.push({ at: t.end ?? 0, ins: f0Mark(c) });
94
- }
118
+ for (const t of sec.toks) {
119
+ const c = TC[t.tone ?? ""];
120
+ if (t.kind === "unit" && !t.f0 && c)
121
+ E.push({ at: t.end ?? 0, ins: f0Mark(c) });
122
+ }
95
123
  }
96
124
  export function realize(ys, opt = {}) {
97
- const Y = parse(ys),
98
- E = [],
99
- D = opt.dialect ?? {};
100
- for (const sec of Y.sections) {
101
- if (isJa(sec.lang)) jaRules(sec, E, D.ja);
102
- else if (sec.lang === "zh") zhRules(sec, E);
103
- else euRules(sec, E, Y.top);
104
- }
105
- return applyEdits(Y.ys, E);
125
+ const Y = parse(ys), E = [];
126
+ for (const sec of Y.sections) {
127
+ if (isJa(sec.lang))
128
+ jaRules(sec, E, opt);
129
+ else if (opt.markedOnly)
130
+ continue;
131
+ else if (sec.lang === "zh")
132
+ zhRules(sec, E);
133
+ else
134
+ euRules(sec, E, Y.top);
135
+ }
136
+ return applyEdits(Y.ys, E);
106
137
  }
107
- //# sourceMappingURL=yomite.js.map
138
+ //# sourceMappingURL=yomite.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"yomite.js","sourceRoot":"","sources":["../src/yomite.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"yomite.js","sourceRoot":"","sources":["../src/yomite.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@yomiscript/core",
3
- "version": "0.1.0",
3
+ "version": "0.1.2",
4
4
  "description": "YomiScript: parser, types and the rule-based prosody (Yomite tools)",
5
5
  "license": "Apache-2.0",
6
6
  "repository": {