@patterkit/model 0.24.0 → 0.26.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/dist/index.js CHANGED
@@ -1841,6 +1841,956 @@ var SPEECH_RANGES = [
1841
1841
  917999,
1842
1842
  16
1843
1843
  ];
1844
+ var SPEECH_VOWELS = ["", "a", "e", "i", "o", "u", "\u0259"];
1845
+ var SPEECH_VOWEL_WEAK = 8;
1846
+ var SPEECH_VOWEL_RANGES = [
1847
+ 65,
1848
+ 65,
1849
+ 1,
1850
+ 69,
1851
+ 69,
1852
+ 2,
1853
+ 73,
1854
+ 73,
1855
+ 3,
1856
+ 79,
1857
+ 79,
1858
+ 4,
1859
+ 85,
1860
+ 85,
1861
+ 5,
1862
+ 89,
1863
+ 89,
1864
+ 11,
1865
+ 97,
1866
+ 97,
1867
+ 1,
1868
+ 101,
1869
+ 101,
1870
+ 2,
1871
+ 105,
1872
+ 105,
1873
+ 3,
1874
+ 111,
1875
+ 111,
1876
+ 4,
1877
+ 117,
1878
+ 117,
1879
+ 5,
1880
+ 121,
1881
+ 121,
1882
+ 11,
1883
+ 192,
1884
+ 197,
1885
+ 1,
1886
+ 198,
1887
+ 198,
1888
+ 2,
1889
+ 200,
1890
+ 203,
1891
+ 2,
1892
+ 204,
1893
+ 207,
1894
+ 3,
1895
+ 210,
1896
+ 214,
1897
+ 4,
1898
+ 216,
1899
+ 216,
1900
+ 4,
1901
+ 217,
1902
+ 220,
1903
+ 5,
1904
+ 221,
1905
+ 221,
1906
+ 11,
1907
+ 224,
1908
+ 229,
1909
+ 1,
1910
+ 230,
1911
+ 230,
1912
+ 2,
1913
+ 232,
1914
+ 235,
1915
+ 2,
1916
+ 236,
1917
+ 239,
1918
+ 3,
1919
+ 242,
1920
+ 246,
1921
+ 4,
1922
+ 248,
1923
+ 248,
1924
+ 4,
1925
+ 249,
1926
+ 252,
1927
+ 5,
1928
+ 253,
1929
+ 253,
1930
+ 11,
1931
+ 255,
1932
+ 255,
1933
+ 11,
1934
+ 256,
1935
+ 261,
1936
+ 1,
1937
+ 274,
1938
+ 283,
1939
+ 2,
1940
+ 296,
1941
+ 305,
1942
+ 3,
1943
+ 332,
1944
+ 337,
1945
+ 4,
1946
+ 338,
1947
+ 339,
1948
+ 2,
1949
+ 360,
1950
+ 371,
1951
+ 5,
1952
+ 374,
1953
+ 376,
1954
+ 11,
1955
+ 416,
1956
+ 417,
1957
+ 4,
1958
+ 431,
1959
+ 432,
1960
+ 5,
1961
+ 461,
1962
+ 462,
1963
+ 1,
1964
+ 463,
1965
+ 464,
1966
+ 3,
1967
+ 465,
1968
+ 466,
1969
+ 4,
1970
+ 467,
1971
+ 476,
1972
+ 5,
1973
+ 478,
1974
+ 481,
1975
+ 1,
1976
+ 482,
1977
+ 483,
1978
+ 2,
1979
+ 490,
1980
+ 493,
1981
+ 4,
1982
+ 506,
1983
+ 507,
1984
+ 1,
1985
+ 508,
1986
+ 509,
1987
+ 2,
1988
+ 510,
1989
+ 511,
1990
+ 4,
1991
+ 512,
1992
+ 515,
1993
+ 1,
1994
+ 516,
1995
+ 519,
1996
+ 2,
1997
+ 520,
1998
+ 523,
1999
+ 3,
2000
+ 524,
2001
+ 527,
2002
+ 4,
2003
+ 532,
2004
+ 535,
2005
+ 5,
2006
+ 550,
2007
+ 551,
2008
+ 1,
2009
+ 552,
2010
+ 553,
2011
+ 2,
2012
+ 554,
2013
+ 561,
2014
+ 4,
2015
+ 562,
2016
+ 563,
2017
+ 11,
2018
+ 1024,
2019
+ 1024,
2020
+ 2,
2021
+ 1025,
2022
+ 1025,
2023
+ 4,
2024
+ 1028,
2025
+ 1028,
2026
+ 2,
2027
+ 1030,
2028
+ 1031,
2029
+ 3,
2030
+ 1037,
2031
+ 1037,
2032
+ 3,
2033
+ 1038,
2034
+ 1038,
2035
+ 5,
2036
+ 1040,
2037
+ 1040,
2038
+ 1,
2039
+ 1045,
2040
+ 1045,
2041
+ 2,
2042
+ 1048,
2043
+ 1048,
2044
+ 3,
2045
+ 1054,
2046
+ 1054,
2047
+ 4,
2048
+ 1059,
2049
+ 1059,
2050
+ 5,
2051
+ 1067,
2052
+ 1067,
2053
+ 3,
2054
+ 1069,
2055
+ 1069,
2056
+ 2,
2057
+ 1070,
2058
+ 1070,
2059
+ 5,
2060
+ 1071,
2061
+ 1072,
2062
+ 1,
2063
+ 1077,
2064
+ 1077,
2065
+ 2,
2066
+ 1080,
2067
+ 1080,
2068
+ 3,
2069
+ 1086,
2070
+ 1086,
2071
+ 4,
2072
+ 1091,
2073
+ 1091,
2074
+ 5,
2075
+ 1099,
2076
+ 1099,
2077
+ 3,
2078
+ 1101,
2079
+ 1101,
2080
+ 2,
2081
+ 1102,
2082
+ 1102,
2083
+ 5,
2084
+ 1103,
2085
+ 1103,
2086
+ 1,
2087
+ 1104,
2088
+ 1104,
2089
+ 2,
2090
+ 1105,
2091
+ 1105,
2092
+ 4,
2093
+ 1108,
2094
+ 1108,
2095
+ 2,
2096
+ 1110,
2097
+ 1111,
2098
+ 3,
2099
+ 1117,
2100
+ 1117,
2101
+ 3,
2102
+ 1118,
2103
+ 1118,
2104
+ 5,
2105
+ 1232,
2106
+ 1235,
2107
+ 1,
2108
+ 1238,
2109
+ 1239,
2110
+ 2,
2111
+ 1250,
2112
+ 1253,
2113
+ 3,
2114
+ 1254,
2115
+ 1255,
2116
+ 4,
2117
+ 1260,
2118
+ 1261,
2119
+ 2,
2120
+ 1262,
2121
+ 1267,
2122
+ 5,
2123
+ 1272,
2124
+ 1273,
2125
+ 3,
2126
+ 1611,
2127
+ 1611,
2128
+ 1,
2129
+ 1612,
2130
+ 1612,
2131
+ 5,
2132
+ 1613,
2133
+ 1613,
2134
+ 3,
2135
+ 1614,
2136
+ 1614,
2137
+ 1,
2138
+ 1615,
2139
+ 1615,
2140
+ 5,
2141
+ 1616,
2142
+ 1616,
2143
+ 3,
2144
+ 1648,
2145
+ 1648,
2146
+ 1,
2147
+ 3632,
2148
+ 3633,
2149
+ 9,
2150
+ 3634,
2151
+ 3634,
2152
+ 1,
2153
+ 3635,
2154
+ 3635,
2155
+ 9,
2156
+ 3636,
2157
+ 3639,
2158
+ 3,
2159
+ 3640,
2160
+ 3641,
2161
+ 5,
2162
+ 3648,
2163
+ 3649,
2164
+ 10,
2165
+ 3650,
2166
+ 3650,
2167
+ 12,
2168
+ 3651,
2169
+ 3652,
2170
+ 9,
2171
+ 7680,
2172
+ 7681,
2173
+ 1,
2174
+ 7700,
2175
+ 7709,
2176
+ 2,
2177
+ 7724,
2178
+ 7727,
2179
+ 3,
2180
+ 7756,
2181
+ 7763,
2182
+ 4,
2183
+ 7794,
2184
+ 7803,
2185
+ 5,
2186
+ 7822,
2187
+ 7823,
2188
+ 11,
2189
+ 7833,
2190
+ 7833,
2191
+ 11,
2192
+ 7840,
2193
+ 7863,
2194
+ 1,
2195
+ 7864,
2196
+ 7879,
2197
+ 2,
2198
+ 7880,
2199
+ 7883,
2200
+ 3,
2201
+ 7884,
2202
+ 7907,
2203
+ 4,
2204
+ 7908,
2205
+ 7921,
2206
+ 5,
2207
+ 7922,
2208
+ 7929,
2209
+ 11,
2210
+ 8491,
2211
+ 8491,
2212
+ 1,
2213
+ 12353,
2214
+ 12353,
2215
+ 1,
2216
+ 12354,
2217
+ 12354,
2218
+ 9,
2219
+ 12355,
2220
+ 12355,
2221
+ 3,
2222
+ 12356,
2223
+ 12356,
2224
+ 11,
2225
+ 12357,
2226
+ 12357,
2227
+ 5,
2228
+ 12358,
2229
+ 12358,
2230
+ 13,
2231
+ 12359,
2232
+ 12359,
2233
+ 2,
2234
+ 12360,
2235
+ 12360,
2236
+ 10,
2237
+ 12361,
2238
+ 12361,
2239
+ 4,
2240
+ 12362,
2241
+ 12362,
2242
+ 12,
2243
+ 12363,
2244
+ 12364,
2245
+ 9,
2246
+ 12365,
2247
+ 12366,
2248
+ 11,
2249
+ 12367,
2250
+ 12368,
2251
+ 13,
2252
+ 12369,
2253
+ 12370,
2254
+ 10,
2255
+ 12371,
2256
+ 12372,
2257
+ 12,
2258
+ 12373,
2259
+ 12374,
2260
+ 9,
2261
+ 12375,
2262
+ 12376,
2263
+ 11,
2264
+ 12377,
2265
+ 12378,
2266
+ 13,
2267
+ 12379,
2268
+ 12380,
2269
+ 10,
2270
+ 12381,
2271
+ 12382,
2272
+ 12,
2273
+ 12383,
2274
+ 12384,
2275
+ 9,
2276
+ 12385,
2277
+ 12386,
2278
+ 11,
2279
+ 12388,
2280
+ 12389,
2281
+ 13,
2282
+ 12390,
2283
+ 12391,
2284
+ 10,
2285
+ 12392,
2286
+ 12393,
2287
+ 12,
2288
+ 12394,
2289
+ 12394,
2290
+ 9,
2291
+ 12395,
2292
+ 12395,
2293
+ 11,
2294
+ 12396,
2295
+ 12396,
2296
+ 13,
2297
+ 12397,
2298
+ 12397,
2299
+ 10,
2300
+ 12398,
2301
+ 12398,
2302
+ 12,
2303
+ 12399,
2304
+ 12401,
2305
+ 9,
2306
+ 12402,
2307
+ 12404,
2308
+ 11,
2309
+ 12405,
2310
+ 12407,
2311
+ 13,
2312
+ 12408,
2313
+ 12410,
2314
+ 10,
2315
+ 12411,
2316
+ 12413,
2317
+ 12,
2318
+ 12414,
2319
+ 12414,
2320
+ 9,
2321
+ 12415,
2322
+ 12415,
2323
+ 11,
2324
+ 12416,
2325
+ 12416,
2326
+ 13,
2327
+ 12417,
2328
+ 12417,
2329
+ 10,
2330
+ 12418,
2331
+ 12418,
2332
+ 12,
2333
+ 12419,
2334
+ 12419,
2335
+ 1,
2336
+ 12420,
2337
+ 12420,
2338
+ 9,
2339
+ 12421,
2340
+ 12421,
2341
+ 5,
2342
+ 12422,
2343
+ 12422,
2344
+ 13,
2345
+ 12423,
2346
+ 12423,
2347
+ 4,
2348
+ 12424,
2349
+ 12424,
2350
+ 12,
2351
+ 12425,
2352
+ 12425,
2353
+ 9,
2354
+ 12426,
2355
+ 12426,
2356
+ 11,
2357
+ 12427,
2358
+ 12427,
2359
+ 13,
2360
+ 12428,
2361
+ 12428,
2362
+ 10,
2363
+ 12429,
2364
+ 12429,
2365
+ 12,
2366
+ 12430,
2367
+ 12430,
2368
+ 1,
2369
+ 12431,
2370
+ 12431,
2371
+ 9,
2372
+ 12432,
2373
+ 12432,
2374
+ 11,
2375
+ 12433,
2376
+ 12433,
2377
+ 10,
2378
+ 12434,
2379
+ 12434,
2380
+ 12,
2381
+ 12436,
2382
+ 12436,
2383
+ 13,
2384
+ 12437,
2385
+ 12437,
2386
+ 1,
2387
+ 12438,
2388
+ 12438,
2389
+ 2,
2390
+ 12447,
2391
+ 12447,
2392
+ 12,
2393
+ 12449,
2394
+ 12449,
2395
+ 1,
2396
+ 12450,
2397
+ 12450,
2398
+ 9,
2399
+ 12451,
2400
+ 12451,
2401
+ 3,
2402
+ 12452,
2403
+ 12452,
2404
+ 11,
2405
+ 12453,
2406
+ 12453,
2407
+ 5,
2408
+ 12454,
2409
+ 12454,
2410
+ 13,
2411
+ 12455,
2412
+ 12455,
2413
+ 2,
2414
+ 12456,
2415
+ 12456,
2416
+ 10,
2417
+ 12457,
2418
+ 12457,
2419
+ 4,
2420
+ 12458,
2421
+ 12458,
2422
+ 12,
2423
+ 12459,
2424
+ 12460,
2425
+ 9,
2426
+ 12461,
2427
+ 12462,
2428
+ 11,
2429
+ 12463,
2430
+ 12464,
2431
+ 13,
2432
+ 12465,
2433
+ 12466,
2434
+ 10,
2435
+ 12467,
2436
+ 12468,
2437
+ 12,
2438
+ 12469,
2439
+ 12470,
2440
+ 9,
2441
+ 12471,
2442
+ 12472,
2443
+ 11,
2444
+ 12473,
2445
+ 12474,
2446
+ 13,
2447
+ 12475,
2448
+ 12476,
2449
+ 10,
2450
+ 12477,
2451
+ 12478,
2452
+ 12,
2453
+ 12479,
2454
+ 12480,
2455
+ 9,
2456
+ 12481,
2457
+ 12482,
2458
+ 11,
2459
+ 12484,
2460
+ 12485,
2461
+ 13,
2462
+ 12486,
2463
+ 12487,
2464
+ 10,
2465
+ 12488,
2466
+ 12489,
2467
+ 12,
2468
+ 12490,
2469
+ 12490,
2470
+ 9,
2471
+ 12491,
2472
+ 12491,
2473
+ 11,
2474
+ 12492,
2475
+ 12492,
2476
+ 13,
2477
+ 12493,
2478
+ 12493,
2479
+ 10,
2480
+ 12494,
2481
+ 12494,
2482
+ 12,
2483
+ 12495,
2484
+ 12497,
2485
+ 9,
2486
+ 12498,
2487
+ 12500,
2488
+ 11,
2489
+ 12501,
2490
+ 12503,
2491
+ 13,
2492
+ 12504,
2493
+ 12506,
2494
+ 10,
2495
+ 12507,
2496
+ 12509,
2497
+ 12,
2498
+ 12510,
2499
+ 12510,
2500
+ 9,
2501
+ 12511,
2502
+ 12511,
2503
+ 11,
2504
+ 12512,
2505
+ 12512,
2506
+ 13,
2507
+ 12513,
2508
+ 12513,
2509
+ 10,
2510
+ 12514,
2511
+ 12514,
2512
+ 12,
2513
+ 12515,
2514
+ 12515,
2515
+ 1,
2516
+ 12516,
2517
+ 12516,
2518
+ 9,
2519
+ 12517,
2520
+ 12517,
2521
+ 5,
2522
+ 12518,
2523
+ 12518,
2524
+ 13,
2525
+ 12519,
2526
+ 12519,
2527
+ 4,
2528
+ 12520,
2529
+ 12520,
2530
+ 12,
2531
+ 12521,
2532
+ 12521,
2533
+ 9,
2534
+ 12522,
2535
+ 12522,
2536
+ 11,
2537
+ 12523,
2538
+ 12523,
2539
+ 13,
2540
+ 12524,
2541
+ 12524,
2542
+ 10,
2543
+ 12525,
2544
+ 12525,
2545
+ 12,
2546
+ 12526,
2547
+ 12526,
2548
+ 1,
2549
+ 12527,
2550
+ 12527,
2551
+ 9,
2552
+ 12528,
2553
+ 12528,
2554
+ 11,
2555
+ 12529,
2556
+ 12529,
2557
+ 10,
2558
+ 12530,
2559
+ 12530,
2560
+ 12,
2561
+ 12532,
2562
+ 12532,
2563
+ 13,
2564
+ 12533,
2565
+ 12533,
2566
+ 9,
2567
+ 12534,
2568
+ 12534,
2569
+ 10,
2570
+ 12535,
2571
+ 12535,
2572
+ 9,
2573
+ 12536,
2574
+ 12536,
2575
+ 11,
2576
+ 12537,
2577
+ 12537,
2578
+ 10,
2579
+ 12538,
2580
+ 12538,
2581
+ 12,
2582
+ 12543,
2583
+ 12543,
2584
+ 12,
2585
+ 12784,
2586
+ 12784,
2587
+ 5,
2588
+ 12785,
2589
+ 12785,
2590
+ 3,
2591
+ 12786,
2592
+ 12786,
2593
+ 5,
2594
+ 12787,
2595
+ 12787,
2596
+ 4,
2597
+ 12788,
2598
+ 12788,
2599
+ 5,
2600
+ 12789,
2601
+ 12789,
2602
+ 1,
2603
+ 12790,
2604
+ 12790,
2605
+ 3,
2606
+ 12791,
2607
+ 12791,
2608
+ 5,
2609
+ 12792,
2610
+ 12792,
2611
+ 2,
2612
+ 12793,
2613
+ 12793,
2614
+ 4,
2615
+ 12794,
2616
+ 12794,
2617
+ 5,
2618
+ 12795,
2619
+ 12795,
2620
+ 1,
2621
+ 12796,
2622
+ 12796,
2623
+ 3,
2624
+ 12797,
2625
+ 12797,
2626
+ 5,
2627
+ 12798,
2628
+ 12798,
2629
+ 2,
2630
+ 12799,
2631
+ 12799,
2632
+ 4,
2633
+ 65382,
2634
+ 65382,
2635
+ 12,
2636
+ 65383,
2637
+ 65383,
2638
+ 1,
2639
+ 65384,
2640
+ 65384,
2641
+ 3,
2642
+ 65385,
2643
+ 65385,
2644
+ 5,
2645
+ 65386,
2646
+ 65386,
2647
+ 2,
2648
+ 65387,
2649
+ 65387,
2650
+ 4,
2651
+ 65388,
2652
+ 65388,
2653
+ 1,
2654
+ 65389,
2655
+ 65389,
2656
+ 5,
2657
+ 65390,
2658
+ 65390,
2659
+ 4,
2660
+ 65393,
2661
+ 65393,
2662
+ 9,
2663
+ 65394,
2664
+ 65394,
2665
+ 11,
2666
+ 65395,
2667
+ 65395,
2668
+ 13,
2669
+ 65396,
2670
+ 65396,
2671
+ 10,
2672
+ 65397,
2673
+ 65397,
2674
+ 12,
2675
+ 65398,
2676
+ 65398,
2677
+ 9,
2678
+ 65399,
2679
+ 65399,
2680
+ 11,
2681
+ 65400,
2682
+ 65400,
2683
+ 13,
2684
+ 65401,
2685
+ 65401,
2686
+ 10,
2687
+ 65402,
2688
+ 65402,
2689
+ 12,
2690
+ 65403,
2691
+ 65403,
2692
+ 9,
2693
+ 65404,
2694
+ 65404,
2695
+ 11,
2696
+ 65405,
2697
+ 65405,
2698
+ 13,
2699
+ 65406,
2700
+ 65406,
2701
+ 10,
2702
+ 65407,
2703
+ 65407,
2704
+ 12,
2705
+ 65408,
2706
+ 65408,
2707
+ 9,
2708
+ 65409,
2709
+ 65409,
2710
+ 11,
2711
+ 65410,
2712
+ 65410,
2713
+ 13,
2714
+ 65411,
2715
+ 65411,
2716
+ 10,
2717
+ 65412,
2718
+ 65412,
2719
+ 12,
2720
+ 65413,
2721
+ 65413,
2722
+ 9,
2723
+ 65414,
2724
+ 65414,
2725
+ 11,
2726
+ 65415,
2727
+ 65415,
2728
+ 13,
2729
+ 65416,
2730
+ 65416,
2731
+ 10,
2732
+ 65417,
2733
+ 65417,
2734
+ 12,
2735
+ 65418,
2736
+ 65418,
2737
+ 9,
2738
+ 65419,
2739
+ 65419,
2740
+ 11,
2741
+ 65420,
2742
+ 65420,
2743
+ 13,
2744
+ 65421,
2745
+ 65421,
2746
+ 10,
2747
+ 65422,
2748
+ 65422,
2749
+ 12,
2750
+ 65423,
2751
+ 65423,
2752
+ 9,
2753
+ 65424,
2754
+ 65424,
2755
+ 11,
2756
+ 65425,
2757
+ 65425,
2758
+ 13,
2759
+ 65426,
2760
+ 65426,
2761
+ 10,
2762
+ 65427,
2763
+ 65427,
2764
+ 12,
2765
+ 65428,
2766
+ 65428,
2767
+ 9,
2768
+ 65429,
2769
+ 65429,
2770
+ 13,
2771
+ 65430,
2772
+ 65430,
2773
+ 12,
2774
+ 65431,
2775
+ 65431,
2776
+ 9,
2777
+ 65432,
2778
+ 65432,
2779
+ 11,
2780
+ 65433,
2781
+ 65433,
2782
+ 13,
2783
+ 65434,
2784
+ 65434,
2785
+ 10,
2786
+ 65435,
2787
+ 65435,
2788
+ 12,
2789
+ 65436,
2790
+ 65436,
2791
+ 9
2792
+ ];
2793
+ var SPEECH_HANGUL_VOWELS = [1, 2, 1, 2, 6, 2, 6, 2, 4, 1, 2, 2, 4, 5, 6, 2, 3, 5, 3, 3, 3];
1844
2794
 
1845
2795
  // src/speech.ts
1846
2796
  var SPEECH_DIGIT_WEIGHT = 1.5;
@@ -1858,6 +2808,28 @@ function classOf(cp) {
1858
2808
  }
1859
2809
  return SpeechClass.NONE;
1860
2810
  }
2811
+ function vowelCodeOf(cp) {
2812
+ if (cp >= 44032 && cp <= 55203) return at(SPEECH_HANGUL_VOWELS, Math.floor((cp - 44032) / 28) % 21);
2813
+ let lo = 0, hi = SPEECH_VOWEL_RANGES.length / 3 - 1;
2814
+ while (lo <= hi) {
2815
+ const mid = lo + hi >> 1;
2816
+ if (cp < at(SPEECH_VOWEL_RANGES, mid * 3)) hi = mid - 1;
2817
+ else if (cp > at(SPEECH_VOWEL_RANGES, mid * 3 + 1)) lo = mid + 1;
2818
+ else return at(SPEECH_VOWEL_RANGES, mid * 3 + 2);
2819
+ }
2820
+ return 0;
2821
+ }
2822
+ function vowelIn(cps, start, end) {
2823
+ let weak = 0;
2824
+ for (let j = start; j < end; j++) {
2825
+ let code = vowelCodeOf(at(cps, j));
2826
+ if (code === 0) continue;
2827
+ if ((at(cps, j) === 117 || at(cps, j) === 85) && j > start && (at(cps, j - 1) === 113 || at(cps, j - 1) === 81)) code |= SPEECH_VOWEL_WEAK;
2828
+ if ((code & SPEECH_VOWEL_WEAK) === 0) return SPEECH_VOWELS[code];
2829
+ if (weak === 0) weak = code & ~SPEECH_VOWEL_WEAK;
2830
+ }
2831
+ return weak === 0 ? void 0 : SPEECH_VOWELS[weak];
2832
+ }
1861
2833
  function languageOf(locale) {
1862
2834
  return ((locale ?? "").split(/[-_]/)[0] ?? "").toLowerCase();
1863
2835
  }
@@ -2002,7 +2974,13 @@ function speechUnits(text, locale) {
2002
2974
  i++;
2003
2975
  }
2004
2976
  }
2005
- return tidyPauses(units);
2977
+ const out = tidyPauses(units);
2978
+ for (const u of out) {
2979
+ if (u.kind !== "syllable") continue;
2980
+ const vowel = vowelIn(cps, u.start, u.end);
2981
+ if (vowel !== void 0) u.vowel = vowel;
2982
+ }
2983
+ return out;
2006
2984
  }
2007
2985
  function thaiBefore(cls, j) {
2008
2986
  while (j >= 0 && at(cls, j) === SpeechClass.MARK) j--;
@@ -2178,8 +3156,9 @@ var PAD_AFTER_MAX = 60;
2178
3156
  var DEFAULT_ESTIMATE_SYLLABLES_PER_SECOND = 4;
2179
3157
  var ESTIMATE_SYLLABLES_PER_SECOND_MIN = 2;
2180
3158
  var ESTIMATE_SYLLABLES_PER_SECOND_MAX = 10;
2181
- var LINE_DURATION_MIN = 1.5;
3159
+ var LINE_DURATION_MIN = 0.5;
2182
3160
  var LINE_DURATION_MAX = 18;
3161
+ var SUBTITLE_READING_MIN = 1.5;
2183
3162
  function estimateLineDuration(text, locale, syllablesPerSecond) {
2184
3163
  const rate = typeof syllablesPerSecond === "number" && Number.isFinite(syllablesPerSecond) && syllablesPerSecond > 0 ? syllablesPerSecond : DEFAULT_ESTIMATE_SYLLABLES_PER_SECOND;
2185
3164
  let weight = 0;
@@ -2354,6 +3333,7 @@ export {
2354
3333
  SPEECH_PAUSE_LONG_WEIGHT,
2355
3334
  SPEECH_PAUSE_SHORT_WEIGHT,
2356
3335
  STRINGS_SCHEMA,
3336
+ SUBTITLE_READING_MIN,
2357
3337
  UNRESOLVED_KEY,
2358
3338
  castStringKey,
2359
3339
  countSyllables,