@ghoran/audio 0.1.0 → 0.3.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.
Files changed (201) hide show
  1. package/README.md +180 -150
  2. package/dist/abdulbasit-CgLk633T.mjs +14 -0
  3. package/dist/abdulbasit-DAE2X2re.mjs +12 -0
  4. package/dist/almuiqly-DcK4HlYB.mjs +12 -0
  5. package/dist/almuiqly-Ds8QVRUj.mjs +14 -0
  6. package/dist/ansarian-CsfxGgu4.mjs +14 -0
  7. package/dist/ansarian-DpNzQ_zn.mjs +93 -0
  8. package/dist/ayah-index-p8ffdA40.mjs +7 -0
  9. package/dist/catalog.d.ts +4 -0
  10. package/dist/catalog.mjs +31 -0
  11. package/dist/fooladvand-hedayatfar-CWQyHFBw.mjs +12 -0
  12. package/dist/fooladvand-hedayatfar-DPOvoFnl.mjs +14 -0
  13. package/dist/ghamadi-CTAKeToz.mjs +20 -0
  14. package/dist/ghamadi-Gq4oILyo.mjs +14 -0
  15. package/dist/hashes/abdulbasit.d.ts +5 -0
  16. package/dist/hashes/abdulbasit.mjs +7 -0
  17. package/dist/hashes/almuiqly.d.ts +5 -0
  18. package/dist/hashes/almuiqly.mjs +7 -0
  19. package/dist/hashes/ansarian.d.ts +5 -0
  20. package/dist/hashes/ansarian.mjs +7 -0
  21. package/dist/hashes/fooladvand-hedayatfar.d.ts +5 -0
  22. package/dist/hashes/fooladvand-hedayatfar.mjs +7 -0
  23. package/dist/hashes/ghamadi.d.ts +5 -0
  24. package/dist/hashes/ghamadi.mjs +7 -0
  25. package/dist/hashes/husary.d.ts +5 -0
  26. package/dist/hashes/husary.mjs +7 -0
  27. package/dist/hashes/jafarpour.d.ts +5 -0
  28. package/dist/hashes/jafarpour.mjs +7 -0
  29. package/dist/hashes/makarem-kabiri.d.ts +5 -0
  30. package/dist/hashes/makarem-kabiri.mjs +7 -0
  31. package/dist/hashes/maleki.d.ts +5 -0
  32. package/dist/hashes/maleki.mjs +7 -0
  33. package/dist/hashes/minshawy-mujawwad.d.ts +5 -0
  34. package/dist/hashes/minshawy-mujawwad.mjs +7 -0
  35. package/dist/hashes/minshawy-murattal.d.ts +5 -0
  36. package/dist/hashes/minshawy-murattal.mjs +7 -0
  37. package/dist/hashes/motaz.d.ts +5 -0
  38. package/dist/hashes/motaz.mjs +7 -0
  39. package/dist/hashes/parhizgar.d.ts +5 -0
  40. package/dist/hashes/parhizgar.mjs +7 -0
  41. package/dist/husary-58J-Hbbz.mjs +14 -0
  42. package/dist/husary-Bn_Cpg-n.mjs +12 -0
  43. package/dist/index-OUGKp8YA.d.ts +64 -0
  44. package/dist/index.d.ts +3 -0
  45. package/dist/index.mjs +16 -0
  46. package/dist/jafarpour-2Nco5LM6.mjs +14 -0
  47. package/dist/jafarpour-DhxbJtKc.mjs +12 -0
  48. package/dist/load.d.ts +10 -0
  49. package/dist/load.mjs +114 -0
  50. package/dist/makarem-kabiri-DgUm5g8A.mjs +12 -0
  51. package/dist/makarem-kabiri-Di0qt0pO.mjs +14 -0
  52. package/dist/maleki-BtTzBMIi.mjs +14 -0
  53. package/dist/maleki-DLwnRVZB.mjs +2433 -0
  54. package/dist/math-CqmOaUpt.mjs +9 -0
  55. package/dist/minshawy-mujawwad-CF0_Aws9.mjs +14 -0
  56. package/dist/minshawy-mujawwad-DZAV9x0T.mjs +12 -0
  57. package/dist/minshawy-murattal-B3IrUpMY.mjs +12 -0
  58. package/dist/minshawy-murattal-DWTJ7Vbi.mjs +14 -0
  59. package/dist/motaz-BPiSDPjo.mjs +14 -0
  60. package/dist/motaz-D8LZxwly.mjs +333 -0
  61. package/dist/pair.d.ts +52 -0
  62. package/dist/pair.mjs +83 -0
  63. package/dist/paired/abdulbasit.d.ts +5 -0
  64. package/dist/paired/abdulbasit.mjs +6 -0
  65. package/dist/paired/almuiqly.d.ts +5 -0
  66. package/dist/paired/almuiqly.mjs +6 -0
  67. package/dist/paired/ansarian.d.ts +5 -0
  68. package/dist/paired/ansarian.mjs +6 -0
  69. package/dist/paired/fooladvand-hedayatfar.d.ts +5 -0
  70. package/dist/paired/fooladvand-hedayatfar.mjs +6 -0
  71. package/dist/paired/ghamadi.d.ts +5 -0
  72. package/dist/paired/ghamadi.mjs +6 -0
  73. package/dist/paired/husary.d.ts +5 -0
  74. package/dist/paired/husary.mjs +6 -0
  75. package/dist/paired/jafarpour.d.ts +5 -0
  76. package/dist/paired/jafarpour.mjs +6 -0
  77. package/dist/paired/makarem-kabiri.d.ts +5 -0
  78. package/dist/paired/makarem-kabiri.mjs +6 -0
  79. package/dist/paired/maleki.d.ts +5 -0
  80. package/dist/paired/maleki.mjs +6 -0
  81. package/dist/paired/minshawy-mujawwad.d.ts +5 -0
  82. package/dist/paired/minshawy-mujawwad.mjs +6 -0
  83. package/dist/paired/minshawy-murattal.d.ts +5 -0
  84. package/dist/paired/minshawy-murattal.mjs +6 -0
  85. package/dist/paired/motaz.d.ts +5 -0
  86. package/dist/paired/motaz.mjs +6 -0
  87. package/dist/paired/parhizgar.d.ts +5 -0
  88. package/dist/paired/parhizgar.mjs +6 -0
  89. package/dist/parhizgar-CbOhvNfy.mjs +12 -0
  90. package/dist/parhizgar-DI28CJpf.mjs +14 -0
  91. package/dist/playback-CeKsQsxV.mjs +123 -0
  92. package/dist/sources/abdulbasit.d.ts +2 -0
  93. package/dist/sources/abdulbasit.mjs +1 -0
  94. package/dist/sources/almuiqly.d.ts +2 -0
  95. package/dist/sources/almuiqly.mjs +1 -0
  96. package/dist/sources/ansarian.d.ts +2 -0
  97. package/dist/sources/ansarian.mjs +1 -0
  98. package/dist/sources/fooladvand-hedayatfar.d.ts +2 -0
  99. package/dist/sources/fooladvand-hedayatfar.mjs +1 -0
  100. package/dist/sources/ghamadi.d.ts +2 -0
  101. package/dist/sources/ghamadi.mjs +1 -0
  102. package/dist/sources/husary.d.ts +2 -0
  103. package/dist/sources/husary.mjs +1 -0
  104. package/dist/sources/jafarpour.d.ts +2 -0
  105. package/dist/sources/jafarpour.mjs +1 -0
  106. package/dist/sources/makarem-kabiri.d.ts +2 -0
  107. package/dist/sources/makarem-kabiri.mjs +1 -0
  108. package/dist/sources/maleki.d.ts +2 -0
  109. package/dist/sources/maleki.mjs +1 -0
  110. package/dist/sources/minshawy-mujawwad.d.ts +2 -0
  111. package/dist/sources/minshawy-mujawwad.mjs +1 -0
  112. package/dist/sources/minshawy-murattal.d.ts +2 -0
  113. package/dist/sources/minshawy-murattal.mjs +1 -0
  114. package/dist/sources/motaz.d.ts +2 -0
  115. package/dist/sources/motaz.mjs +1 -0
  116. package/dist/sources/parhizgar.d.ts +2 -0
  117. package/dist/sources/parhizgar.mjs +1 -0
  118. package/dist/targets/-16/abdulbasit.d.ts +5 -0
  119. package/dist/targets/-16/abdulbasit.mjs +333 -0
  120. package/dist/targets/-16/almuiqly.d.ts +5 -0
  121. package/dist/targets/-16/almuiqly.mjs +3953 -0
  122. package/dist/targets/-16/ansarian.d.ts +5 -0
  123. package/dist/targets/-16/ansarian.mjs +29723 -0
  124. package/dist/targets/-16/fooladvand-hedayatfar.d.ts +5 -0
  125. package/dist/targets/-16/fooladvand-hedayatfar.mjs +13818 -0
  126. package/dist/targets/-16/ghamadi.d.ts +5 -0
  127. package/dist/targets/-16/ghamadi.mjs +2133 -0
  128. package/dist/targets/-16/husary.d.ts +5 -0
  129. package/dist/targets/-16/husary.mjs +7958 -0
  130. package/dist/targets/-16/jafarpour.d.ts +5 -0
  131. package/dist/targets/-16/jafarpour.mjs +9243 -0
  132. package/dist/targets/-16/makarem-kabiri.d.ts +5 -0
  133. package/dist/targets/-16/makarem-kabiri.mjs +24293 -0
  134. package/dist/targets/-16/maleki.d.ts +5 -0
  135. package/dist/targets/-16/maleki.mjs +23403 -0
  136. package/dist/targets/-16/minshawy-mujawwad.d.ts +5 -0
  137. package/dist/targets/-16/minshawy-mujawwad.mjs +38 -0
  138. package/dist/targets/-16/minshawy-murattal.d.ts +5 -0
  139. package/dist/targets/-16/minshawy-murattal.mjs +108 -0
  140. package/dist/targets/-16/motaz.d.ts +5 -0
  141. package/dist/targets/-16/motaz.mjs +7813 -0
  142. package/dist/targets/-16/parhizgar.d.ts +5 -0
  143. package/dist/targets/-16/parhizgar.mjs +183 -0
  144. package/dist/targets/-18/abdulbasit.d.ts +5 -0
  145. package/dist/targets/-18/abdulbasit.mjs +12 -0
  146. package/dist/targets/-18/almuiqly.d.ts +5 -0
  147. package/dist/targets/-18/almuiqly.mjs +73 -0
  148. package/dist/targets/-18/ansarian.d.ts +5 -0
  149. package/dist/targets/-18/ansarian.mjs +16483 -0
  150. package/dist/targets/-18/fooladvand-hedayatfar.d.ts +5 -0
  151. package/dist/targets/-18/fooladvand-hedayatfar.mjs +1308 -0
  152. package/dist/targets/-18/ghamadi.d.ts +5 -0
  153. package/dist/targets/-18/ghamadi.mjs +248 -0
  154. package/dist/targets/-18/husary.d.ts +5 -0
  155. package/dist/targets/-18/husary.mjs +12 -0
  156. package/dist/targets/-18/jafarpour.d.ts +5 -0
  157. package/dist/targets/-18/jafarpour.mjs +233 -0
  158. package/dist/targets/-18/makarem-kabiri.d.ts +5 -0
  159. package/dist/targets/-18/makarem-kabiri.mjs +2873 -0
  160. package/dist/targets/-18/maleki.d.ts +5 -0
  161. package/dist/targets/-18/maleki.mjs +11178 -0
  162. package/dist/targets/-18/minshawy-mujawwad.d.ts +5 -0
  163. package/dist/targets/-18/minshawy-mujawwad.mjs +12 -0
  164. package/dist/targets/-18/minshawy-murattal.d.ts +5 -0
  165. package/dist/targets/-18/minshawy-murattal.mjs +12 -0
  166. package/dist/targets/-18/motaz.d.ts +5 -0
  167. package/dist/targets/-18/motaz.mjs +1978 -0
  168. package/dist/targets/-18/parhizgar.d.ts +5 -0
  169. package/dist/targets/-18/parhizgar.mjs +12 -0
  170. package/dist/targets/-23/abdulbasit.d.ts +5 -0
  171. package/dist/targets/-23/abdulbasit.mjs +12 -0
  172. package/dist/targets/-23/almuiqly.d.ts +5 -0
  173. package/dist/targets/-23/almuiqly.mjs +12 -0
  174. package/dist/targets/-23/ansarian.d.ts +5 -0
  175. package/dist/targets/-23/ansarian.mjs +12 -0
  176. package/dist/targets/-23/fooladvand-hedayatfar.d.ts +5 -0
  177. package/dist/targets/-23/fooladvand-hedayatfar.mjs +12 -0
  178. package/dist/targets/-23/ghamadi.d.ts +5 -0
  179. package/dist/targets/-23/ghamadi.mjs +20 -0
  180. package/dist/targets/-23/husary.d.ts +5 -0
  181. package/dist/targets/-23/husary.mjs +12 -0
  182. package/dist/targets/-23/jafarpour.d.ts +5 -0
  183. package/dist/targets/-23/jafarpour.mjs +12 -0
  184. package/dist/targets/-23/makarem-kabiri.d.ts +5 -0
  185. package/dist/targets/-23/makarem-kabiri.mjs +12 -0
  186. package/dist/targets/-23/maleki.d.ts +5 -0
  187. package/dist/targets/-23/maleki.mjs +16 -0
  188. package/dist/targets/-23/minshawy-mujawwad.d.ts +5 -0
  189. package/dist/targets/-23/minshawy-mujawwad.mjs +12 -0
  190. package/dist/targets/-23/minshawy-murattal.d.ts +5 -0
  191. package/dist/targets/-23/minshawy-murattal.mjs +12 -0
  192. package/dist/targets/-23/motaz.d.ts +5 -0
  193. package/dist/targets/-23/motaz.mjs +16 -0
  194. package/dist/targets/-23/parhizgar.d.ts +5 -0
  195. package/dist/targets/-23/parhizgar.mjs +12 -0
  196. package/dist/types-BiTocnkC.d.ts +76 -0
  197. package/dist/url.d.ts +5 -0
  198. package/dist/url.mjs +135 -0
  199. package/dist/verify.d.ts +7 -0
  200. package/dist/verify.mjs +26 -0
  201. package/package.json +11 -10
@@ -0,0 +1,9 @@
1
+ //#region src/math.ts
2
+ function dbToLinearGain(db) {
3
+ if (!Number.isFinite(db)) throw new RangeError("Gain must be finite");
4
+ const result = 10 ** (db / 20);
5
+ if (!Number.isFinite(result) || result === 0) throw new RangeError("Gain is outside the representable range");
6
+ return result;
7
+ }
8
+ //#endregion
9
+ export { dbToLinearGain as t };
@@ -0,0 +1,14 @@
1
+ //#region src/generated/metadata/minshawy-mujawwad.ts
2
+ const metadata = {
3
+ "id": "minshawy-mujawwad",
4
+ "nameFa": "منشاوی مجوّد",
5
+ "kind": "mujawwad",
6
+ "urlTemplate": "https://asset.nasimrezvan.com/data/Minshawy_Mujawwad/{file_stem}.mp3",
7
+ "baselinePlaybackLufs": -13.344,
8
+ "contentRevision": "8718ac18ce99035eae7ddcab993a73a85715916a5314015385a484defb5aa864",
9
+ "measuredFiles": 6236,
10
+ "inventoryComplete": true,
11
+ "pendingPublicationFiles": 0
12
+ };
13
+ //#endregion
14
+ export { metadata as t };
@@ -0,0 +1,12 @@
1
+ import { r as createAudioSource } from "./playback-CeKsQsxV.mjs";
2
+ import { t as metadata } from "./minshawy-mujawwad-CF0_Aws9.mjs";
3
+ //#endregion
4
+ //#region src/sources/minshawy-mujawwad.ts
5
+ const minshawyMujawwad = /* @__PURE__ */ createAudioSource(metadata, {
6
+ "targetLufs": -20,
7
+ "base": -666,
8
+ "overrides": [],
9
+ "unavailable": []
10
+ });
11
+ //#endregion
12
+ export { minshawyMujawwad as t };
@@ -0,0 +1,12 @@
1
+ import { r as createAudioSource } from "./playback-CeKsQsxV.mjs";
2
+ import { t as metadata } from "./minshawy-murattal-DWTJ7Vbi.mjs";
3
+ //#endregion
4
+ //#region src/sources/minshawy-murattal.ts
5
+ const minshawyMurattal = /* @__PURE__ */ createAudioSource(metadata, {
6
+ "targetLufs": -20,
7
+ "base": -587,
8
+ "overrides": [],
9
+ "unavailable": []
10
+ });
11
+ //#endregion
12
+ export { minshawyMurattal as t };
@@ -0,0 +1,14 @@
1
+ //#region src/generated/metadata/minshawy-murattal.ts
2
+ const metadata = {
3
+ "id": "minshawy-murattal",
4
+ "nameFa": "منشاوی ترتیل",
5
+ "kind": "recitation",
6
+ "urlTemplate": "https://asset.nasimrezvan.com/data/Minshawy_Murattal/{file_stem}.mp3",
7
+ "baselinePlaybackLufs": -14.138,
8
+ "contentRevision": "0ca284385846810c26b7a809eba2d752e1c084b15bb4e5feabd5ca7c9ecfe51d",
9
+ "measuredFiles": 6236,
10
+ "inventoryComplete": true,
11
+ "pendingPublicationFiles": 0
12
+ };
13
+ //#endregion
14
+ export { metadata as t };
@@ -0,0 +1,14 @@
1
+ //#region src/generated/metadata/motaz.ts
2
+ const metadata = {
3
+ "id": "motaz",
4
+ "nameFa": "معتز آقایی",
5
+ "kind": "recitation",
6
+ "urlTemplate": "https://asset.nasimrezvan.com/data/Motaz/{file_stem}.mp3",
7
+ "baselinePlaybackLufs": -22.663700043360187,
8
+ "contentRevision": "0b3d0aafb6241fad137e1047ada1b6edf509b48440b1a510f8dec2ea9a95c2c5",
9
+ "measuredFiles": 6236,
10
+ "inventoryComplete": true,
11
+ "pendingPublicationFiles": 0
12
+ };
13
+ //#endregion
14
+ export { metadata as t };
@@ -0,0 +1,333 @@
1
+ import { r as createAudioSource } from "./playback-CeKsQsxV.mjs";
2
+ import { t as metadata } from "./motaz-BPiSDPjo.mjs";
3
+ //#endregion
4
+ //#region src/sources/motaz.ts
5
+ const motaz = /* @__PURE__ */ createAudioSource(metadata, {
6
+ "targetLufs": -20,
7
+ "base": 266,
8
+ "overrides": [
9
+ [
10
+ 262,
11
+ 245,
12
+ true
13
+ ],
14
+ [
15
+ 265,
16
+ 255,
17
+ true
18
+ ],
19
+ [
20
+ 266,
21
+ 85,
22
+ true
23
+ ],
24
+ [
25
+ 273,
26
+ 255,
27
+ true
28
+ ],
29
+ [
30
+ 281,
31
+ 215,
32
+ true
33
+ ],
34
+ [
35
+ 329,
36
+ 255,
37
+ true
38
+ ],
39
+ [
40
+ 341,
41
+ 235,
42
+ true
43
+ ],
44
+ [
45
+ 344,
46
+ 215,
47
+ true
48
+ ],
49
+ [
50
+ 352,
51
+ 115,
52
+ true
53
+ ],
54
+ [
55
+ 356,
56
+ 95,
57
+ true
58
+ ],
59
+ [
60
+ 357,
61
+ 95,
62
+ true
63
+ ],
64
+ [
65
+ 358,
66
+ 115,
67
+ true
68
+ ],
69
+ [
70
+ 363,
71
+ 115,
72
+ true
73
+ ],
74
+ [
75
+ 365,
76
+ 75,
77
+ true
78
+ ],
79
+ [
80
+ 373,
81
+ 165,
82
+ true
83
+ ],
84
+ [
85
+ 378,
86
+ 255,
87
+ true
88
+ ],
89
+ [
90
+ 379,
91
+ 175,
92
+ true
93
+ ],
94
+ [
95
+ 384,
96
+ 235,
97
+ true
98
+ ],
99
+ [
100
+ 393,
101
+ 215,
102
+ true
103
+ ],
104
+ [
105
+ 394,
106
+ 255,
107
+ true
108
+ ],
109
+ [
110
+ 395,
111
+ 215,
112
+ true
113
+ ],
114
+ [
115
+ 400,
116
+ 235,
117
+ true
118
+ ],
119
+ [
120
+ 407,
121
+ 255,
122
+ true
123
+ ],
124
+ [
125
+ 410,
126
+ 165,
127
+ true
128
+ ],
129
+ [
130
+ 419,
131
+ 155,
132
+ true
133
+ ],
134
+ [
135
+ 420,
136
+ 225,
137
+ true
138
+ ],
139
+ [
140
+ 433,
141
+ 255,
142
+ true
143
+ ],
144
+ [
145
+ 436,
146
+ 135,
147
+ true
148
+ ],
149
+ [
150
+ 439,
151
+ 175,
152
+ true
153
+ ],
154
+ [
155
+ 444,
156
+ 245,
157
+ true
158
+ ],
159
+ [
160
+ 459,
161
+ 185,
162
+ true
163
+ ],
164
+ [
165
+ 466,
166
+ 195,
167
+ true
168
+ ],
169
+ [
170
+ 473,
171
+ 175,
172
+ true
173
+ ],
174
+ [
175
+ 474,
176
+ 155,
177
+ true
178
+ ],
179
+ [
180
+ 475,
181
+ -35,
182
+ true
183
+ ],
184
+ [
185
+ 478,
186
+ 255,
187
+ true
188
+ ],
189
+ [
190
+ 479,
191
+ 75,
192
+ true
193
+ ],
194
+ [
195
+ 483,
196
+ 135,
197
+ true
198
+ ],
199
+ [
200
+ 486,
201
+ 265,
202
+ true
203
+ ],
204
+ [
205
+ 487,
206
+ 225,
207
+ true
208
+ ],
209
+ [
210
+ 491,
211
+ 265,
212
+ true
213
+ ],
214
+ [
215
+ 495,
216
+ 245,
217
+ true
218
+ ],
219
+ [
220
+ 498,
221
+ 95,
222
+ true
223
+ ],
224
+ [
225
+ 501,
226
+ 65,
227
+ true
228
+ ],
229
+ [
230
+ 502,
231
+ 175,
232
+ true
233
+ ],
234
+ [
235
+ 503,
236
+ 125,
237
+ true
238
+ ],
239
+ [
240
+ 504,
241
+ 155,
242
+ true
243
+ ],
244
+ [
245
+ 507,
246
+ 215,
247
+ true
248
+ ],
249
+ [
250
+ 509,
251
+ 225,
252
+ true
253
+ ],
254
+ [
255
+ 510,
256
+ 5,
257
+ true
258
+ ],
259
+ [
260
+ 515,
261
+ 165,
262
+ true
263
+ ],
264
+ [
265
+ 886,
266
+ 245,
267
+ true
268
+ ],
269
+ [
270
+ 1104,
271
+ 205,
272
+ true
273
+ ],
274
+ [
275
+ 1122,
276
+ 195,
277
+ true
278
+ ],
279
+ [
280
+ 1156,
281
+ 265,
282
+ true
283
+ ],
284
+ [
285
+ 1522,
286
+ 215,
287
+ true
288
+ ],
289
+ [
290
+ 1625,
291
+ 255,
292
+ true
293
+ ],
294
+ [
295
+ 1637,
296
+ 265,
297
+ true
298
+ ],
299
+ [
300
+ 2416,
301
+ 175,
302
+ true
303
+ ],
304
+ [
305
+ 2441,
306
+ 225,
307
+ true
308
+ ],
309
+ [
310
+ 2716,
311
+ 235,
312
+ true
313
+ ],
314
+ [
315
+ 3640,
316
+ 165,
317
+ true
318
+ ],
319
+ [
320
+ 3687,
321
+ 195,
322
+ true
323
+ ],
324
+ [
325
+ 3693,
326
+ 245,
327
+ true
328
+ ]
329
+ ],
330
+ "unavailable": []
331
+ });
332
+ //#endregion
333
+ export { motaz as t };
package/dist/pair.d.ts ADDED
@@ -0,0 +1,52 @@
1
+ import { c as AudioSourceProfile, u as AyahIndex } from "./types-BiTocnkC.js";
2
+ //#region src/pair.d.ts
3
+ /** Optional measured levels. Import only the sources used by the application. */
4
+ export interface AudioPairSource {
5
+ readonly profile: AudioSourceProfile;
6
+ /** BS.1770 integrated loudness under the documented stereo playback convention. */
7
+ getPlaybackLoudness(ayahIndex: AyahIndex): number | null;
8
+ }
9
+ export interface AudioPairTrackGain {
10
+ readonly sourceId: string;
11
+ readonly gainDb: number;
12
+ readonly gainLinear: number;
13
+ readonly additionalCutDb: number;
14
+ /** Prediction from reference bytes, quantized to 0.1 LU; not live metering. */
15
+ readonly predictedLufs: number;
16
+ }
17
+ export type AudioPairRecommendation = {
18
+ readonly status: 'ready';
19
+ readonly ayahIndex: AyahIndex;
20
+ readonly recitation: AudioPairTrackGain;
21
+ readonly translation: AudioPairTrackGain;
22
+ readonly differenceLu: number;
23
+ readonly matched: boolean;
24
+ readonly cutLimited: boolean;
25
+ readonly contentVerified: false;
26
+ } | {
27
+ readonly status: 'unavailable';
28
+ readonly ayahIndex: AyahIndex;
29
+ readonly reason: 'unmeasurable';
30
+ readonly recitation: null;
31
+ readonly translation: null;
32
+ readonly contentVerified: false;
33
+ };
34
+ /** Match a pair by attenuating its louder clip. No boost, limiter or audio DSP.
35
+ * The quieter clip sets the attainable level; different ayahs can remain quiet/loud.
36
+ * This explicitly changes between-file dynamics, while preserving within-file dynamics.
37
+ */
38
+ export declare function createAudioPair(options: {
39
+ recitation: AudioPairSource;
40
+ translation: AudioPairSource;
41
+ /** Allowed integrated-level difference. Default 1 LU, not perceptual equality. */
42
+ toleranceLu?: number;
43
+ /** Additional attenuation budget, also bounded by each profile's absolute cut limit. */
44
+ maximumAdditionalCutDb?: number;
45
+ }): Readonly<{
46
+ getRecommendation: (ayahIndex: AyahIndex) => AudioPairRecommendation;
47
+ }>;
48
+ /** Internal: little-endian signed 0.1-LU integers, -32768 means unmeasurable.
49
+ * Read just two bytes from base64 without allocating a decoded array or using Node APIs.
50
+ */
51
+ export declare function createAudioPairSource(profile: AudioSourceProfile, encoded: string): AudioPairSource;
52
+ //#endregion
package/dist/pair.mjs ADDED
@@ -0,0 +1,83 @@
1
+ import { t as dbToLinearGain } from "./math-CqmOaUpt.mjs";
2
+ import { t as assertAyahIndex } from "./ayah-index-p8ffdA40.mjs";
3
+ //#region src/pair.ts
4
+ /** Match a pair by attenuating its louder clip. No boost, limiter or audio DSP.
5
+ * The quieter clip sets the attainable level; different ayahs can remain quiet/loud.
6
+ * This explicitly changes between-file dynamics, while preserving within-file dynamics.
7
+ */
8
+ function createAudioPair(options) {
9
+ var _options$toleranceLu, _options$maximumAddit;
10
+ const { recitation, translation } = options;
11
+ const tolerance = (_options$toleranceLu = options.toleranceLu) !== null && _options$toleranceLu !== void 0 ? _options$toleranceLu : 1;
12
+ const budget = (_options$maximumAddit = options.maximumAdditionalCutDb) !== null && _options$maximumAddit !== void 0 ? _options$maximumAddit : 18;
13
+ if (!Number.isFinite(tolerance) || tolerance < 0 || tolerance > 6) throw new RangeError("toleranceLu must be between 0 and 6");
14
+ if (!Number.isFinite(budget) || budget < 0 || budget > 18) throw new RangeError("maximumAdditionalCutDb must be between 0 and 18");
15
+ if (recitation.profile.metadata.kind === "translation" || translation.profile.metadata.kind !== "translation") throw new RangeError("A pair requires a recitation and a translation");
16
+ if (recitation.profile.targetLufs !== translation.profile.targetLufs || recitation.profile.snapshotId !== translation.profile.snapshotId) throw new RangeError("A pair requires the same target and snapshot");
17
+ function getRecommendation(ayahIndex) {
18
+ assertAyahIndex(ayahIndex);
19
+ const sources = [recitation, translation];
20
+ const gains = sources.map((source) => source.profile.getGainDb(ayahIndex));
21
+ const levels = sources.map((source) => source.getPlaybackLoudness(ayahIndex));
22
+ if (gains.some((v) => v === null) || levels.some((v) => v === null)) return {
23
+ status: "unavailable",
24
+ ayahIndex,
25
+ reason: "unmeasurable",
26
+ recitation: null,
27
+ translation: null,
28
+ contentVerified: false
29
+ };
30
+ const before = levels.map((level, i) => level + gains[i]);
31
+ const louder = before[0] > before[1] ? 0 : 1;
32
+ const requested = Math.max(0, Math.abs(before[0] - before[1]) - tolerance);
33
+ const available = Math.max(0, Math.min(budget, gains[louder] + sources[louder].profile.policy.maximumCutDb));
34
+ const cuts = [0, 0];
35
+ cuts[louder] = Math.min(available, Math.ceil((requested - 1e-9) * 100) / 100);
36
+ const tracks = sources.map((source, i) => {
37
+ const gainDb = Math.round((gains[i] - cuts[i]) * 100) / 100;
38
+ return {
39
+ sourceId: source.profile.id,
40
+ gainDb,
41
+ gainLinear: dbToLinearGain(gainDb),
42
+ additionalCutDb: cuts[i],
43
+ predictedLufs: levels[i] + gainDb
44
+ };
45
+ });
46
+ const differenceLu = tracks[1].predictedLufs - tracks[0].predictedLufs;
47
+ return {
48
+ status: "ready",
49
+ ayahIndex,
50
+ recitation: tracks[0],
51
+ translation: tracks[1],
52
+ differenceLu,
53
+ matched: Math.abs(differenceLu) <= tolerance + 1e-8,
54
+ cutLimited: requested > available + 1e-8,
55
+ contentVerified: false
56
+ };
57
+ }
58
+ return Object.freeze({ getRecommendation });
59
+ }
60
+ /** Internal: little-endian signed 0.1-LU integers, -32768 means unmeasurable.
61
+ * Read just two bytes from base64 without allocating a decoded array or using Node APIs.
62
+ */
63
+ function createAudioPairSource(profile, encoded) {
64
+ const alphabet = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
65
+ function byte(offset) {
66
+ const position = Math.floor(offset / 3) * 4;
67
+ const slot = offset % 3;
68
+ const a = alphabet.indexOf(encoded.charAt(position + slot));
69
+ const b = alphabet.indexOf(encoded.charAt(position + slot + 1));
70
+ return (a << 6 | b) >> 4 - slot * 2 & 255;
71
+ }
72
+ return Object.freeze({
73
+ profile,
74
+ getPlaybackLoudness(index) {
75
+ assertAyahIndex(index);
76
+ const value = byte(index * 2) | byte(index * 2 + 1) << 8;
77
+ if (value === 32768) return null;
78
+ return (value >= 32768 ? value - 65536 : value) / 10;
79
+ }
80
+ });
81
+ }
82
+ //#endregion
83
+ export { createAudioPair, createAudioPairSource };
@@ -0,0 +1,5 @@
1
+ import { AudioPairSource } from "../pair.js";
2
+ //#region src/paired/abdulbasit.d.ts
3
+ declare const source: AudioPairSource;
4
+ //#endregion
5
+ export { source as default };
@@ -0,0 +1,6 @@
1
+ import { t as abdulbasit } from "../abdulbasit-DAE2X2re.mjs";
2
+ import { createAudioPairSource } from "../pair.mjs";
3
+ //#region src/paired/abdulbasit.ts
4
+ const source = /* @__PURE__ */ createAudioPairSource(abdulbasit, "JP9Q/y3/XP9i/2D/dv97/3H/Z/91/4H/c/+U/4T/ff98/37/gv+H/4H/bf96/3H/a/9z/3n/av96/yb/N/9j/2L/bP9l/3z/eP96/4T/cv+J/3z/af9v/2z/dv9p/1j/Yf95/2f/bP9U/13/P/9i/2j/Z/9n/1H/PP9a/1r/a/9w/4H/gv+P/5b/kv+c/1X/X/98/5T/j/+Y/5X/Uf9//4L/e/+I/4H/jf+A/4P/Tv9Z/4P/e/98/1H/eP9h/3v/TP9z/zP/Tf9N/2D/bv9w/4f/hv97/3P/lf+K/6P/lP+T/3r/Yv99/5L/jv+A/4P/gv+J/4f/hf9//4n/jP9//4v/hf+P/2T/ff+A/4f/V/9//4n/eP99/3D/ef92/2r/Xf97/3j/ff+E/3//dP+C/33/iP+A/1r/ev9q/2b/d/+A/3T/jP99/5b/gf+Q/2X/af+h/5H/cP9W/17/a/9x/3T/U/98/2v/YP94/1//Tf9f/3H/bf92/3b/ev95/4H/jv94/3//f/9L/3H/av90/3H/Q/97/4P/c/9w/3P/Zv9X/33/gP+L/1z/jP+E/1D/ev+E/3n/bv92/zL/Wv9p/3P/d/9v/2P/cP9R/2v/df9j/2r/bv9n/2L/av9b/3L/af9n/27/Xv95/3X/dv92/yr/cf91/3D/Sv9i/2//cP9v/33/iP91/3X/fv92/2r/ff+B/3b/iP+A/3n/ff+D/3n/gP+B/43/f/9+/1z/Zf99/4j/j/+I/4v/f/9U/4L/iP+B/4X/gv+L/6j/kP9+/2f/hf+L/4D/g/+O/0//jP+K/3D/fv9+/17/i/+D/0//QP80/1L/Zf9k/3f/dP98/4T/hv9y/23/cf99/3X/d/95/3n/Wf95/4H/jP+E/3n/gP97/4b/g/+H/4X/hf+H/3v/kP9B/3r/Y/+J/4f/Xv9p/2v/Zf9X/4H/i/+K/43/i/9y/4b/e/97/3//hf+D/3f/gv9w/2T/dv9+/37/e/+L/4P/ff+O/0z/QP9w/37/g/+C/3//jv+F/5L/iv+B/3v/hf9U/0D/V/96/2z/h/+M/4//ev95/4n/iv+H/0v/ff9//4P/gv91/2r/c/96/3v/ev+Q/4L/ff+E/4P/U/9B/27/i/94/4n/dP+K/3z/f/+Q/3n/Uv+C/4T/fv+H/4T/dP9w/3n/iP+Y/5r/l/+X/4D/fv+S/5b/nf+K/4r/ff+G/5r/mv+M/5P/jP+R/5H/iP+L/4j/hP92/4L/k/+Y/3j/Wv93/4T/hP9V/2r/bP95/33/ff+E/5X/pv+M/3n/dv+R/53/c/+L/6H/nf+Q/3v/jv+I/5H/lv+c/53/mf+W/4z/iP+e/4j/jv93/3n/bv+P/5r/l/+E/4n/cf+F/3//ZP9k/3X/f/94/3X/ev+C/4X/hf93/4n/aP99/27/gP92/27/hf+D/3D/a/99/2P/b/9u/3P/fP95/4D/g/+N/5H/jf+M/5n/i/9//3D/mf+i/4P/ev98/3H/gP+H/4j/f/+G/4X/gv+Q/3n/jv+K/4X/h/96/2z/eP93/1L/S/9c/23/b/9z/2v/fP9t/2v/a/9n/3T/bP91/3r/f/+D/3j/Xf96/3b/cf9y/3b/R/9f/3v/cf+A/3v/kP9u/4L/ff9y/27/ZP9z/3P/jP98/4H/dP98/3D/e/97/3X/dP9s/43/Z/9g/3L/iv+A/1H/Yv+P/3T/f/97/4D/jv96/3b/Zv9w/4z/if9E/0L/RP9g/13/av9z/2z/gP9k/1v/Zf9k/2r/Yv9r/2f/bf9m/2//cf92/3X/Xv+B/3n/bv9B/2n/X/+H/5D/jP+J/4r/iP99/47/iP+X/4f/h/+A/4P/iP9//4n/ff+I/4T/h/+J/4T/hf+B/4P/i/+D/4f/fP95/4f/i/+F/47/jP+T/5T/jv+T/5D/kf+M/3n/h/+L/4z/iP+J/3T/kP+I/5P/kP94/4f/gf+H/4z/mP+I/6f/jf+P/3X/Tv9k/2//Yv9Q/2//Y/98/2r/dP99/4H/b/9U/1v/Yv9o/3D/Zv9m/2b/f/92/2D/av90/3P/eP9m/zX/Yf9W/2//Tf9G/0X/Wf92/3L/Yf9n/3D/gf91/3P/bP99/2v/Y/97/3X/fP9+/4j/eP9p/3H/ZP9m/2L/S/9Q/1b/W/9j/2P/ZP9q/23/eP99/1T/Zf9w/17/bv92/0v/Uv9I/zX/Xv9r/1H/Vv9o/2T/Wv96/27/av91/3b/Lv96/3X/dv+B/2z/cv91/13/U/9h/2P/V/9W/zj/Z/9q/z//bP9f/2L/av9o/23/Vf9+/2L/Pv8W/0P/R/9X/0L/T/9X/3b/af9r/3L/bv9e/27/UP9s/1r/ef9j/2b/Yf96/2T/c/9//2n/bf9W/2L/Wf8v/2D/XP9f/3b/aP9w/0v/bv9k/2b/Uf9O/0r/Uf9r/2r/bv9q/3n/Y/9y/2n/f/9d/2n/Xv9p/1b/Z/9y/3P/bf9u/zz/bf9//2v/bv9s/2r/WP9N/3b/dP9a/2T/fv+M/4X/iv98/2//cf9C/1j/bP9d/zX/U/9b/2v/jv94/3T/T/93/2X/af9k/2r/cf9T/3n/cP+J/0z/h/93/3b/aP9l/3n/Z/9+/3H/f/93/2r/W/9n/1//e/94/2z/ef+E/zD/dP9a/1T/dv9Z/1D/Nv9o/2T/Xv9W/1r/R/9b/wT/Uv9a/0P/X/9i/1j/av97/1r/Nv9H/yz/N/9R/1b/WP9o/2b/b/9r/1z/cf9y/3T/bv9q/27/d/+F/2n/ev8f/23/Wf9V/23/fv91/3L/aP97/0n/d/9+/3b/Gv9z/3n/Vv9K/3j/X/8w/yH/Z/9z/3j/Yf9Z/1//k/9f/2r/Wv89/4X/YP9d/23/U/9a/2X/av9s/1z/af9x/3v/dP9z/1//av9u/13/Xv9a/zL/Y/9b/2n/c/9n/xz/Wf9n/1X/bP9y/1L/fP9u/2r/Zf8w/17/a/9k/x7/M/8r/0X/V/9k/3z/bv9w/3T/a/9z/2z/7/4W/13/Uv9c/3L/cv9W/13/b/8+/wn/bf9Y/1v/eP80/27/ef9p/27/N/9z/2T/Tv9T/1//cv92/13/af9k/1//Xf9Q/3L/X/90/3H/a/9E/1f/af9z/4L/c/+J/3//dv96/3b/JP9f/2z/av9d/3j/df97/2v/g/9u/4H/LP94/2j/Xf+S/4f/gf+F/2j/jf+N/3//bf+O/5n/Y/+N/4f/fP9l/5T/i/92/0z/Yf9j/2b/d/+J/5r/iv+S/4//lf98/4D/gv9i/5r/e/+C/3n/cv9z/4H/Z/+N/5D/hv9p/37/Z/+V/4D/hP+B/5D/hv+M/4j/gv+B/2P/bP91/3H/ev93/3j/gf+G/0v/c/+E/1j/i/9W/3X/c/91/33/c/9K/3r/ff96/33/bf+N/1v/af9+/07/Jf8s/1b/Pf9B/1X/V/91/4D/hv+E/4r/jf+E/3b/gf+H/3z/cf91/37/WP9F/03/eP95/33/e/9+/3z/ff9f/4v/iP+G/5D/fP9v/27/a/9N/33/Wf99/0D/VP9m/3z/e/+B/47/hv+R/4//kv+K/4L/hf+J/1//WP9V/3b/f/+D/2j/f/+H/3v/T/91/2j/e/98/4D/b/94/3T/ZP8t/2T/bv9i/3L/eP98/4L/dv+L/4L/iP+G/4j/ff+E/4r/ff9//4X/g/+C/3D/cv97/4r/fP99/4H/k/+C/3//TP+I/43/e/+T/3//i/+C/3L/TP9k/3n/df+F/4L/lf+G/5L/ov+H/47/hP+L/4z/jv+T/5f/lv9s/5L/if+E/3f/b/9//4T/kP+N/3X/df+L/53/jP+Q/5f/lv+A/5D/ZP+M/4n/kP+I/57/i/99/4f/hf+J/33/dv9r/3b/hf9//4L/hP+G/3z/j/+R/4L/ef9//3D/iv9+/5D/gf9+/3D/gP9P/4H/cP+D/3X/k/+J/1z/gf+U/1f/Tf+A/4z/hv+H/4//e/9a/23/hP+L/3//g/+B/3r/eP9r/z3/YP9P/1n/cP92/27/gP+Q/4L/iP+I/4b/gP+K/4D/kf+I/4f/e/+E/4//ev9//3D/e/+C/3r/jv+A/5P/hP99/43/ev9//37/e/97/4b/hv9+/2v/hf+Q/4L/i/9+/4H/gf9c/07/eP97/4b/jf+L/4f/hf+A/4L/hf+C/5L/g/91/0b/Rf9X/47/iP+L/4H/j/9W/4r/fP9g/3H/d/9h/4H/UP8l/3v/lf95/3z/hf+A/4b/kP9G/2f/ev+Q/1D/dP97/3j/iP98/3r/gv91/4b/P/9W/17/av9n/3P/ev+I/4v/fv+I/5L/iP9M/5b/j/+P/47/iv+G/4D/Zf90/2v/ev95/3L/Ov+R/4L/PP97/3L/g/97/xv/fP9z/4//hv86/4r/ff9r/3b/fP9N/23/bf94/37/ev+G/5H/j/9l/3n/iP+D/4z/ff+L/37/QP+B/4T/hv89/3f/X/94/3//fP9I/3v/eP9x/3//hv9s/3r/Q/8p/3b/c/93/4v/d/9r/2n/bP9u/3f/Yv9//3j/fP+F/5T/gf95/4D/cf93/0j/eP94/2b/bf9M/1r/a/96/33/dP+L/03/f/+E/3z/h/8u/3v/Sv98/3r/dv9a/17/Zf9w/1v/Yv9v/3P/gf+D/3L/dv9H/3v/Z/+A/3P/fP9M/2j/Lv9E/3D/c/9w/3//d/9h/3P/Q/+A/0H/ff9c/2H/cP9z/3L/gP91/0L/Tf9Y/2r/b/9d/3L/ev98/3n/ff93/3r/bv+H/3P/hv9//4r/jP96/3v/P/9v/3H/ev9n/5L/gf9v/0z/h/9b/2z/cP97/3r/iv9v/4n/j/9Q/0v/hv+H/3z/g/+R/5D/kP94/6L/aP9m/6H/aP+I/2//Yf+K/5b/f/95/2L/J/8f/4f/Y/92/3v/f/9y/zL/Lv9o/0X/ZP9P/4b/SP9m/2T/e/9o/1j/Tf9Z/1v/Yf9M/07/af9c/2f/af91/3L/gf+A/4H/dv+B/4P/d/+O/37/hP+P/5b/gv9q/4z/bv97/1f/PP8w/4b/fv+K/3j/hP91/3P/h/99/0T/Wv9r/3T/ZP99/4v/iP9t/2v/gf+E/1n/NP95/2n/bf9z/3f/Mf+P/2b/eP9e/3L/dv9B/0//Yf9S/1H/Xv9v/2P/av9n/2L/b/90/33/cP+D/4n/ef9p/4H/cP+P/2T/df96/3T/av9M/2b/Yf9d/2H/df92/2f/YP9F/y7/P/93/3H/hf9f/4X/Xv9n/2//df95/3T/hP9w/3D/dP9z/3r/cP+F/3z/gf95/3X/eP9w/37/gP97/37/Xv9k/1z/bf9w/0n/X/9q/3z/b/9z/3v/d/9f/33/cf+A/4P/h/+T/13/df98/4n/Xf9f/2//dv9x/4D/gP95/2//g/+H/2v/cf9w/3j/fP93/2v/hP+M/33/gP98/47/i/93/3r/cf95/4n/gf+A/5X/gP+K/4v/iP+J/yj/ev+A/37/i/+E/4H/iv+Q/0H/av9p/4//ef9s/43/c/9T/1n/b/9t/4H/i/+Z/4//kv+O/5f/i/+N/0L/Qv+O/5P/W/+P/5n/Yv+T/5P/kv+a/4H/hf+L/5P/Qv+O/4f/gv+J/zr/iP+B/5D/g/9H/4f/fv+G/0b/iP+A/1D/if+P/47/l/+Q/2P/j/+L/43/dP9W/3L/c/96/23/d/+A/4b/gv+F/5r/jv+I/4j/jP9z/4L/fP95/yH/df+I/4j/mP+I/3P/j/9r/4b/hP91/3v/Pf95/4H/ff9z/4z/jP92/4P/Nv92/4T/hf9y/07/Wv9w/3P/dP9y/4D/h/+K/5j/kf94/4f/gP+U/4z/gP+S/4X/iP89/0j/kv+A/2r/bf9w/2L/LP8r/4H/gf91/4D/MP+E/zH/I/8k/4T/Nv+G/4r/gf+L/47/kv94/4H/h/99/4j/N/9M/4n/NP+B/3r/dP90/3P/h/95/3j/jv9m/4P/dP92/3X/e/9//3//kv+C/3j/hf81/4j/dv9+/3n/hv9+/4D/h/9+/4r/jv+C/4T/hf+K/5P/gf+C/3v/Xv9t/3f/a/9u/2T/dP+I/33/ff9E/4H/cv+I/3T/d/9O/4H/ev+K/4P/e/+P/4b/dP8+/3L/e/92/37/bv91/1//Yv9e/1//Zv9w/3b/iP9B/3z/dv95/2j/cv94/zv/O/+D/3H/fv+A/3v/gf9t/2L/bf90/3T/YP99/3f/df8n/2f/fP9t/2v/cv9z/z//gf94/zz/Uf83/0v/Vv8//1L/Z/9n/3X/YP9r/2b/ev9m/5D/nP9j/zD/dv9k/4H/mf93/0f/Vf9l/zb/S/9o/3b/Pf9m/23/Qf93/3L/bP9v/0f/Lv9u/3b/Yf9f/3P/RP9D/2X/ef9l/2z/ZP9k/yz/af9p/2//Zv9x/0v/Wf91/3v/c/94/3L/bv8p/0r/ff+B/3b/dv+D/1L/Yv9e/2r/Of9n/1H/av9R/2//ef9n/2L/c/9T/3L/dP9i/2T/Y/9//3b/bf9u/0H/OP9r/2n/Yv9w/3H/gP90/0b/Qf97/3v/ev9e/yj/P/93/2f/Xf9o/1n/NP9k/3H/cP9E/2X/Vf9d/3P/cP98/37/iv92/4D/f/+D/3b/Tv+C/4z/gP+E/3v/Lv8l/4n/dP9q/4T/iv83/0//gv+F/0X/hf99/2v/P/9F/1z/X/91/4H/dv+Q/3z/h/9P/zr/gv99/2H/Kf9o/2L/NP9h/3b/cf9q/yn/eP99/4T/ev9z/zz/Qf95/3L/b/+A/2v/O/9z/zz/Vv9z/2f/c/9v/4T/bv+M/4b/gf+D/5n/QP+C/0T/hP+I/5L/h/8u/0D/hP+G/43/P/9d/zL/O/86/0H/Uv9F/2L/aP9X/13/Y/94/0P/d/9z/zP/Nf90/zH/OP9n/3X/gf90/4P/D/9J/0j/Tv9S/2L/Xf9j/3X/af9m/3r/h/+Q/5X/kP+K/4v/kf+O/4j/V/95/4P/e/90/3j/ff95/zX/Tf9G/33/h/98/3n/hv+D/5T/iP9//3D/eP9r/2H/WP9Y/37/dP9+/43/mP+K/4L/f/+N/3n/kP94/3P/Y/90/0r/O/88/3//Kf9C/0L/Uv9w/33/kP90/5T/l/+O/3f/kP+L/3P/c/+G/3//ev+B/3//UP+S/5P/hv9B/4X/gP9L/03/U/+T/4r/Qf9G/13/bf9k/27/Xf9k/2z/eP+M/5T/kP+R/5z/bf+G/57/nP+M/1n/Zf+m/5T/qP+k/5n/q/9y/2//rf+k/6r/of97/2z/o/+b/5r/Z/9r/1n/aP9v/2r/a/92/3f/gf+b/4L/jP+T/3z/dP96/1//ef9r/3j/bf83/yD/S/88/3b/bf94/23/Hv8f/yj/hv+B/47/iv9f/4T/o/9u/1z/e/97/1r/SP81/03/XP9m/1f/df+C/4T/kf+D/4P/gv+F/0v/ev+N/4X/oP+H/4L/g/+B/zj/O/84/2H/cv+C/3L/ef+K/33/gf93/0//V/9x/33/gv+C/3P/e/+A/43/hf+K/47/b/+D/3L/bf9s/z//XP9q/3P/c/9+/2//d/9r/3n/aP9q/0//Uv9e/2z/cv94/4j/d/+F/4T/hv+A/3z/gP9+/5f/fP96/3D/i/9p/5H/f/9I/13/Xv9r/2P/Xf9g/3v/d/+F/4H/gP+Q/4z/fP+E/4j/jv+V/4//gP98/4T/gv+S/4n/VP9Y/1j/ev+N/5X/mP+G/4j/fv9v/zj/Rv9R/0z/Vf9a/17/Z/92/3r/fP+B/3z/iv+G/37/Uv+N/3H/c/9//3j/g/+G/43/mP+W/23/Vf90/zj/Sv9K/4T/gv+K/3v/Zf8y/1L/Rv9H/zz/O/8x/0b/Rf9N/2f/dv91/2n/hv9s/2n/c/93/33/fv96/4H/iP+W/5X/ev+H/3//jP+P/5z/hP+a/43/gP+D/4//lf+O/5X/hv+N/4D/kf9z/2v/UP9O/1D/Wv9T/3n/Xf9g/1z/Zv90/4n/av96/4L/if92/5j/af92/3n/hv+i/3X/fP9z/23/f/9z/5//g/9+/4n/hv+P/3P/i/9d/2r/dv98/07/av9e/4L/i/+a/2r/Zf9+/3D/hP98/1r/Xv88/2n/aP90/2r/XP9j/2j/df9G/2P/ef+F/2//iP92/3v/fP9i/47/Yf9+/5b/ZP93/4//cP+M/3H/cv99/4X/dP+S/5H/bP+b/3j/ev+F/5H/pv99/3X/oP9x/5L/iv+V/3r/c/9W/yP/Tf8R/07/Zv9h/1j/aP9k/2z/fP9//4j/b/+B/4T/gf+J/4H/av+B/4//lP9i/5T/fv9W/1//gP+a/3L/e/+B/47/l/+I/3z/hf+T/5v/j/+U/4n/kf99/4j/mP9v/3T/gf90/3D/Df8O/xD/J/8z/yz/Jv86/zj/Vf9K/2P/Yf9P/2//bf9o/33/dP+F/23/bP9y/3H/b/97/zH/O/9W/1L/N/9O/zz/X/8//1n/Wf94/3z/ef92/3b/c/96/2//d/92/3f/eP97/3T/if+D/3v/Zv9v/1v/Vf8r/0j/Yv9g/13/af98/2z/df+A/4X/b/87/1X/cP9q/3v/dP9v/37/iv+D/3P/dP9r/4D/NP95/3T/cv8k/z3/Qv9B/z//MP9J/0T/bP9t/3D/hv91/3P/dv9k/2v/d/+B/33/a/94/3f/eP9a/2v/dP+A/4b/g/+M/4n/jP9v/4D/jf9t/1z/bf9//3j/N/97/2X/SP9U/1T/Kf9O/1X/TP9b/3D/df98/3//g/9x/3b/gf+L/4H/bf9F/4j/gv9H/2D/eP+R/5L/SP9O/0H/UP9O/1D/Yv9z/2f/cf97/0z/gv96/3v/hv+R/5P/lf9z/0n/Sv8T/xn/Pv9c/03/Wf9I/0H/W/9x/4D/c/90/3n/ff9v/3D/b/+I/3X/hv9r/3v/iv9c/0L/Tf9L/2L/Yf9v/3n/fP91/4f/ef+J/3z/kv96/3T/jf+I/4T/ev93/4j/fv9x/1D/ZP9n/2n/Wv9W/4D/cf9+/3j/hv9t/5n/ev99/4T/VP+D/4v/iv+W/2P/jv+X/4z/fv96/3j/X/9l/1X/bf94/4f/ev93/3//e/+C/3L/cf+E/2X/ZP9p/zL/bv9g/2L/dP9f/1f/VP9g/1//Jv9H/z3/P/9F/27/Zv9p/2j/df9u/4D/fv9B/4L/eP9t/3L/bv+A/2z/HP92/zD/HP9Z/0//Qv88/1X/V/9u/3H/Zv9x/3f/df+B/3//gv97/3z/ff+A/2X/a/9o/x3/df90/1n/eP9i/yn/M/86/zn/Ov9C/0L/Q/9G/1L/Wf9r/2r/bP9n/yD/Z/9m/3T/OP9m/3P/P/83/3L/Xv88/yT/Rf9G/zz/Wf9s/2H/dv8F/3X/hP+H/4X/hf9W/3//jf+D/3X/M/9n/3T/Mf91/4X/Wf8a/0D/Q/9W/2P/Wv9r/3P/Zf93/3j/cf8u/3r/gv+C/xf/fv9Z/3P/df+L/3n/hP9y/4D/g/+F/43/hv8//3f/hf98/3X/bv9O/13/bf9f/1z/dP9q/3f/d/+N/1D/RP94/4v/R/+C/5D/jf+E/z7/dv9+/0b/ef9E/yz/G/9L/2L/bP9x/37/hf9q/3j/e/+I/4H/hf8t/0j/df+K/2f/TP+P/33/g/9k/2n/Vf9c/3L/dv9y/3b/ff+Q/33/ff92/3L/if9+/zb/gv+E/4H/h/+B/3D/af9x/3H/Uv9R/2//Wv9y/23/eP9y/3v/f/93/2X/If9u/3v/bf+B/3T/h/9v/1v/ff+Y/3f/Y/9v/1f/bv9t/17/gv9y/2f/a/9z/3T/d/9z/3X/cv93/3L/b/9q/2j/Qf8z/0z/Pf9R/03/Xf9u/2X/Wv9p/3n/X/9t/1//Uf9C/3P/Zv+C/2T/hf+A/0H/J/9J/0b/fv93/4H/M/83/23/fP9//2f/OP9N/33/Rv8K/xT/RP9X/03/QP9U/2z/Xf9y/3L/Z/9j/2r/cP9v/2//cP90/4X/Z/9G/1b/Pv94/2L/Zv9U/3b/a/9y/2L/cv9g/0//b/9p/33/gf91/3r/Z/82/1D/O/86/2D/Sf9R/zj/O/9H/0j/W/9U/2T/d/9o/1r/cv9R/3L/j/9o/4j/e/9a/4//VP+S/4b/jP9+/33/gf9Y/4j/f/96/4j/f/93/4v/gv9w/1n/h/+B/5j/jv97/0v/jf+J/4f/af9k/5D/Z/+A/5H/cv9d/07/Gv87/zX/Ov83/zT/SP9t/1j/Vv9a/1j/Zv9q/17/dP96/3b/hP94/2L/gv99/4f/g/9w/3L/ff+W/5L/f/98/4L/eP9T/4D/Zv+J/6j/hf+A/4n/mf91/5D/lf+O/5X/lv+E/5L/cP+B/4H/kv+K/1z/nP+D/2f/Wv9a/2T/Zv90/zj/ef+C/4v/ZP9H/2n/gv9+/2j/k/+T/3X/fP+F/4H/gf9r/5n/gP+J/4D/Xf+A/4j/bP+c/2f/Qv99/2r/YP9//5H/Y/+K/5X/hP+T/17/af9c/4L/a/+S/1T/Y/+M/2r/if99/4r/ZP9r/1n/U/+G/23/cP9x/4z/dv+I/37/Yv9i/17/F/8v/zn/Wf9i/1z/Vf9J/1r/Z/94/3v/f/+D/3T/i/+D/3f/iP+d/3j/hf+K/47/mP9z/3D/jv9v/3n/jv94/4H/T/9J/1f/bv95/3b/h/+I/3v/iP+F/4n/ff+L/3P/XP9r/4j/e/9p/3L/i/+j/4L/a/9w/5P/lv9u/4r/jv+S/4T/r/97/4P/h/+k/33/e/9w/4H/iv+A/4r/g/+M/5j/j/9h/13/Zv91/4P/jP90/5b/g/9+/4L/iP+E/3H/dP91/4D/fv+F/4L/cv9E/17/Yv9T/2r/bv98/2//cv9x/3//dv9g/2//g/+H/43/gv+B/43/cv9k/3//gv+I/4D/Lf9A/03/Rv82/0f/XP9h/23/eP90/3H/ev90/4f/g/+K/1D/hv9c/4f/j/9y/0z/Pv9b/2n/Yv9i/2v/hv+O/4P/jP+E/4P/Y/9X/2n/Xv9v/2H/M/9S/1f/M/9P/3n/cv9l/zj/T/9H/0//Uf9Y/2T/ev+L/4P/gv92/3z/g/+H/3//kf+A/4T/fP8//4r/Zv9M/1j/eP9s/2v/gf+C/5f/eP+O/2r/ev8k/2P/dv9w/27/jv9J/0f/h/9h/4j/dv9p/zv/e/9//wX/Jf9A/1X/Zv9b/0f/Qf89/0X/NP9P/13/Xv9+/3T/fP9//4D/WP9v/27/ef9G/0z/TP89/1n/af9V/3D/aP99/1P/dP9g/1n/fP9V/2D/bv+D/2T/ZP9y/3D/b/91/1v/Jf9F/03/V/9k/2z/ef9t/2r/af9//yz/fv+M/37/fv94/4D/e/94/3T/ff9+/37/fv9f/3r/W/9x/3f/Zf99/2T/cv9k/1//Zv8d/2f/dv+C/23/V/8S/zb/Pv9E/0z/XP9i/2D/dv95/37/dv9x/3j/Zf9u/3z/df92/2r/d/90/13/Yf98/3v/TP9i/1b/c/9N/27/cP9y/2v/h/9Z/3X/Y/93/4b/aP9h/3b/gf+I/wz/Zv9N/1r/cv9j/3v/bf9c/4H/dv9B/1X/cP9k/2L/XP9a/zr/UP9Q/2D/X/9T/2D/W/9X/2f/bP9r/3X/gP9s/3//gv93/3X/X/97/3D/IP8f/1f/f/+E/2H/ef9//37/Of84/zb/jf9t/1r/kf90/3D/Y/9x/2L/YP9w/2r/Xf95/2H/e/93/3X/Z/95/4L/WP+C/3//Y/92/3H/iP92/3D/dv92/xb/8/51/37/Rv9x/2//Zf+Z/3T/jf9g/2v/Zf9o/1n/e/9U/4L/Xf+O/23/dv96/3r/gf9m/17/Wf9N/0H/Ov9Q/0P/Uf9d/1v/Vv9c/0P/Vv9U/2z/Uv9v/3D/gP+A/4D/aP9s/2f/fP93/27/V/9D/3H/Zf9u/3L/Tv92/4X/dv9i/3v/fv+A/4T/gf+A/3f/b/9c/3r/cP9z/2T/bv9r/1r/Zv90/3r/ev91/4P/ef9n/3b/Xv9h/2P/Yf9t/2r/av96/3T/Z/97/3n/cv9e/2r/fP9r/33/fP9+/3b/gP96/4H/d/+F/2H/bv9H/0T/dv+B/3P/aP9z/3L/U/91/23/Vv9Y/3P/X/9s/2n/ZP9r/23/bf9m/2//bP9i/2r/Z/9q/1L/V/9P/1n/YP9h/2j/Zv9q/3P/bv9J/2L/Zv91/3v/d/9x/2T/c/9//3r/bv9s/3P/aP9h/3H/cf9n/1f/SP9f/1X/X/9e/2L/YP91/3b/cv9m/2X/Wf9g/1X/av9//2z/bv96/1v/ev9o/3b/ZP9u/2j/bf9p/2z/b/9c/4r/b/9f/3X/Y/9k/3L/ef9l/0P/Pf9F/0b/Zv9j/3T/R/9s/3b/Y/+A/3b/J/8//y7/Pf8//zf/Uv9V/2r/W/+r/5//av+I/3b/af+J/2H/T/+A/2f/gP9o/1j/gP9s/2r/e/92/4j/e/91/1v/e/9a/3H/Xv9r/0X/O/9g/2L/Yv9t/3X/bP9k/2D/Qf9a/2j/Rf9t/0n/Y/9K/27/d/9l/1T/cf9A/2r/VP8q/yf/M/8l/yv/J/88/0j/Q/9X/2D/Tv93/2//e/95/3P/bP99/1b/Xf9a/3T/cf9a/1//Yf9p/3r/ev98/27/f/9r/3D/dv84/4D/b/90/27/fv9s/3b/V/9W/2H/Wf9g/1z/bP9y/13/Xv9K/yj/LP9I/0L/S/9H/1j/Tv9E/27/cf93/27/VP9A/3H/c/9f/17/VP9E/zr/V/9N/0z/Wf9U/2P/ZP9k/3T/aP98/3D/Z/9Y/2H/W/9x/3H/a/9p/13/cP9g/xH/bf9r/yX/bf+B/1j/af+V/3n/Zv9t/2X/YP9X/2T/S/89/0X/RP9F/zf/N/9O/1H/Sv9K/2v/UP9T/1r/X/9j/07/Tv9U/zP/Y/9K/0f/Sv9n/2L/V/9Q/3D/av9f/yv/UP+A/3r/ZP9p/zj/Nf9k/3b/cv9f/2v/Rf+A/1P/c/9Y/1j/Kv9U/0f/Rv9K/yP/Kv8b/xv/Nv9A/2L/U/9H/2L/Sf9k/2b/WP9c/2L/QP9b/2r/af9q/1v/bv9g/2v/gv9t/2b/Yv9g/1r/WP9Z/17/a/9s/2r/hv9d/3T/bP+H/3b/av+D/3//gP+Q/3//mf94/2z/YP98/0H/Zf9s/2//bf+C/1z/d/9n/4n/f/96/1f/Z/9i/33/eP9i/23/Yf92/17/bP99/y7/Pf8r/yv/PP8w/zX/WP9U/1n/Sv8s/0X/QP9M/1v/Vf9Y/2L/Vf9L/0L/RP9d/3f/df98/1L/Xv9d/27/eP9r/2X/e/90/2j/cf9n/2f/gf9v/2//hv92/3D/bv98/3//Y/9p/0//Nf85/zr/OP9Y/2L/Tf9w/3v/NP9q/2f/cf9d/0r/iP9h/3X/NP8s/3L/av94/2v/a/9d/2//d/9k/2H/fP9u/3L/gP9o/2z/bf89/zX/Tv85/zH/Sf8f/yn/MP9H/0z/W/9T/1P/T/9h/2r/cP9r/1//Zv9n/2X/b/9s/2X/aP9v/07/Yf9l/2f/Xf93/17/Yf9f/1r/av9z/1X/aP93/3L/c/9d/1T/YP9j/2H/b/9j/3b/cv+C/3r/Z/93/4j/ff98/4P/cv96/2f/bP94/2z/Z/9h/zz/bf92/23/hv9v/2j/fv92/3n/dP9k/1j/Yv9w/2v/gv99/33/Zf+D/3P/a/9m/0L/Qf9c/0//QP9Z/3L/d/90/4P/g/9u/3j/gv9u/3P/Z/9V/3j/af9b/3r/aP9f/2j/Zf9k/2v/cv99/3f/d/94/3P/dv9y/3H/ff94/3X/bP9r/3T/gf9x/3P/dv93/27/f/9c/2b/Xf9p/2j/a/90/3L/df9n/17/cP9t/3X/bf9w/2b/Wf9h/2v/cP9x/3z/df+C/3z/fP98/3j/if96/3v/bP9D/yb/eP96/3//ev9v/z//Tv9S/1P/Vv9k/37/fv95/27/hf96/0H/gv99/3P/TP+A/23/ZP+A/27/ff9r/2j/hv+M/23/lf+A/3f/ev+L/5b/e/+B/33/hv91/5X/jf+H/37/dP95/2z/kP+I/3P/g/+C/3L/OP9J/y3/XP87/2P/VP9p/1//Sv89/z3/Mf8c/zr/Sv9Y/0f/c/+B/2//e/9c/1H/bv95/2b/bv9j/3r/e/92/4D/ZP90/3//Yv98/2r/g/9n/4f/ff9k/2n/ef+H/1//Xv90/2P/if+C/4T/av9n/3v/Zf9T/3v/Z/9j/43/jP9r/1r/S/9U/2H/Sv9Z/xj/Iv8I/x//GP8n/yL/Tf8w/1j/XP9k/1r/U/+A/4H/T/9x/1r/fv9n/2b/Xv9V/1b/Y/9V/03/Xf9p/2H/W/9d/17/Z/95/2z/T/9l/2f/aP9Q/17/Qf9A/0j/Kv9S/3D/b/9e/2n/Y/9R/2b/W/9q/1r/WP9h/1r/Vf9c/1L/Wf9g/2f/bP9h/2z/X/9V/zv/R/9J/y//Qf8//zT/Rv86/y3/Pv83/zz/Pf87/0n/Rf9P/0H/V/9P/1b/N/9D/1X/Zf9W/1r/XP9s/0//WP9P/1n/T/9a/0//VP9Q/17/Rv9c/2T/Vv9q/0//ZP9U/xP/6v76/jH/Ff80/wr/Kf82/yH/Mv8a/y7/Hf9B/0b/PP8z/zn/Hf89/zX/Kv9R/0v/O/9J/0X/M/8+/1X/Yv9e/4z/P/9d/0//Qf9d/1H/VP8s/yf/C/8f//P+A/9l/0z/Pf82/0b/Yf9G/2P/FP9c/07/X/9i/1n/aP9R/0L/av9J/2X/WP9V/1n/YP9U/1f/W/9s/13//f7X/gP/5P4M/6L/nP+H/5T/ev+E/3X/fP+A/37/Y/9k/3f/Xf9t/1n/aP+B/4z/eP9//3P/ev9o/2L/Yv9t/3f/cP9w/13/cP9y/27/gP9s/3v/e/8p/3v/c/+I/33/OP+G/2r/ef95/27/cP93/2P/dv9T/4f/dv9U/3v/av+N/2v/cP9x/33/b/92/4P/cP94/3H/e/+B/4H/e/90/33/g/95/3D/Qv9Z/0f/g/99/2L/bv9A/1v/RP9X/0n/R/9d/3j/Tv9P/1r/Zf9P/2T/Uv9m/3v/Y/9e/2n/d/97/37/cf96/3j/hP9D/0j/Hf9x/4f/gf9//3j/hf9w/3X/aP9u/3X/i/99/4D/ff9y/3X/av94/2P/cP98/4P/f/9b/1z/Z/+G/4f/ZP90/1r/e/9x/1r/bv9p/1r/X/+C/2n/a/+C/37/df9w/3T/bv97/33/f/9u/3X/ff87/y//Rv9I/zj/df9p/2D/Jf9R/1L/Sv9o/4H/f/9x/4b/Zv+M/5L/R/9g/33/gP9r/2D/df9c/3f/cf9q/4//bP91/3r/ef+F/1//Y/9x/3z/fv9o/3z/oP94/3r/Zv9n/27/av9t/1b/dv91/2j/gP+E/27/eP9w/3L/aP+F/4z/bf9e/2r/dv9W/3r/ZP9d/2j/e/9h/3f/Yf9t/1r/Xv90/3P/f/9c/2P/Vf9Z/3b/af9m/1z/Yv9i/1T/av9f/3f/df9z/3b/c/9e/1//W/9v/3j/dv98/0//HP9L/zH/if9//3T/dv92/2v/if+D/2P/Wv83/1b/Uf9W/1H/YP9p/2j/aP90/3j/jf9h/4H/VP+E/2H/V/9z/2b/a/9n/3b/ef9y/2b/df9//2P/dv+M/2z/Xv9g/2z/aP9j/2T/eP9O/1//Yv9Y/1z/Xv9S/2D/Z/9t/1n/ZP94/2H/XP+F/4z/bv9T/1j/Xv9K/zb/f/9y/2//b/9t/3D/bf+H/3//av9//2z/V/9t/3L/bf9z/2L/Vv9f/1P/Y/9c/3D/fv9f/3T/dP93/3v/bv94/3b/Zv9O/zv/f/91/3L/ff+C/4D/b/+C/3//cv+J/3L/aP9h/33/dP92/2r/eP9q/2P/bP9x/2r/Lv8O/zT/XP9l/2D/Xf9h/2j/aP9e/2D/bP8x/zb/BP9I/1T/ZP9q/zT/C/9S/0z/If9v/2L/YP9U/3T/cv9V/2b/WP9o/17/Yf9f/0H/WP9S/0//ZP+D/0j/X/9q/1b/Yv9//zT/Hv9f/2j/cP97/37/d/9//2//aP95/2P/d/9w/1r/c/+D/4b/ev81/0f/QP9E/0r/Nf87/3H/h/93/27/dv94/3H/gv9x/4f/aP9g/4T/e/+D/3P/hP9y/3b/d/92/2X/df90/33/ef97/27/Yf9r/1P/XP9a/3H/dv9v/2v/cf94/3X/bP9y/3P/gP98/2//h/+A/3r/cv92/3P/b/9v/3r/aP9o/3v/f/9t/2T/c/93/2X/av99/4v/YP99/3X/hP92/3r/bv92/3P/dv9x/3v/g/+P/4b/fv+F/5D/kv9b/1T/IP98/3X/iP+B/33/gf+Z/4L/cP+I/2v/cP9u/3X/Z/+U/2b/dv9t/17/cv+A/4P/iP93/3X/gP+F/zr/Nv8c/3j/e/+C/3P/Yv+j/4X/j/9s/4r/p/+A/3z/X/9w/17/av96/23/Yf9i/4z/ff+D/2P/h/9+/2X/iP+G/4P/b/92/3T/c/9r/1//ef9k/3T/b/9d/2//aP9j/4H/c/9q/w==");
5
+ //#endregion
6
+ export { source as default };
@@ -0,0 +1,5 @@
1
+ import { AudioPairSource } from "../pair.js";
2
+ //#region src/paired/almuiqly.d.ts
3
+ declare const source: AudioPairSource;
4
+ //#endregion
5
+ export { source as default };