@applemusic-like-lyrics/lyric 0.2.0 → 0.2.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.
- package/README.md +1 -1
- package/package.json +1 -1
- package/pkg/amll_lyric.d.ts +27 -0
- package/pkg/amll_lyric_bg.js +41 -9
- package/pkg/amll_lyric_bg.wasm +0 -0
- package/pkg/amll_lyric_bg.wasm.d.ts +2 -0
package/README.md
CHANGED
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
| QQ 音乐逐词歌词格式 `.qrc` | ✅ | ✅ [^1] | ✅ [^1] | ✅ | / | ✅ | ✅ | ✅ |
|
|
22
22
|
| Lyricify Syllable 逐词歌词格式 `.lys` | ✅ | ✅ [^1] | ✅ [^1] | ✅ [^2] | ✅ [^2] | / | ✅ | ✅ |
|
|
23
23
|
| TTML 歌词格式 `.ttml` | ✅ | ✅ [^1] | ✅ [^1] | ✅ [^2] | ✅ [^2] | ✅ [^3] | / | ✅ |
|
|
24
|
-
| ASS 字幕格式 `.ass` |
|
|
24
|
+
| ASS 字幕格式 `.ass` | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | / |
|
|
25
25
|
|
|
26
26
|
[^1]: 会丢失逐词时间数据、演唱属性(背景人声,对唱人声)和 AMLL 元数据
|
|
27
27
|
[^2]: 会丢失演唱属性(背景人声,对唱人声)和 AMLL 元数据
|
package/package.json
CHANGED
package/pkg/amll_lyric.d.ts
CHANGED
|
@@ -135,4 +135,31 @@ export interface LyricLine {
|
|
|
135
135
|
*/
|
|
136
136
|
export function decryptQrcHex(hexData: string): string;
|
|
137
137
|
|
|
138
|
+
/**
|
|
139
|
+
* 一个 TTML 歌词行对象,存储了歌词行信息和 AMLL 元数据信息
|
|
140
|
+
*/
|
|
141
|
+
export interface TTMLLyric {
|
|
142
|
+
/**
|
|
143
|
+
* TTML 中存储的歌词行信息
|
|
144
|
+
*/
|
|
145
|
+
lines: LyricLine[];
|
|
146
|
+
/**
|
|
147
|
+
* 一个元数据表,以 `[键, 值数组]` 的形式存储
|
|
148
|
+
*/
|
|
149
|
+
metadata: [string, string[]][];
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
/**
|
|
153
|
+
* 解析 TTML 格式(包含 AMLL 特有属性信息)的歌词字符串
|
|
154
|
+
* @param src 歌词字符串
|
|
155
|
+
* @returns 成功解析出来的 TTML 歌词对象
|
|
156
|
+
*/
|
|
157
|
+
export function parseTTML(src: string): TTMLLyric;
|
|
158
|
+
|
|
159
|
+
/**
|
|
160
|
+
* 将歌词数组转换为 TTML 格式(包含 AMLL 特有属性信息)的歌词字符串
|
|
161
|
+
* @param lyric TTML 歌词对象
|
|
162
|
+
*/
|
|
163
|
+
export function stringifyTTML(lyric: TTMLLyric): string;
|
|
164
|
+
|
|
138
165
|
|
package/pkg/amll_lyric_bg.js
CHANGED
|
@@ -378,6 +378,38 @@ export function stringifyQrc(lrc) {
|
|
|
378
378
|
}
|
|
379
379
|
}
|
|
380
380
|
|
|
381
|
+
/**
|
|
382
|
+
* @param {string} src
|
|
383
|
+
* @returns {any}
|
|
384
|
+
*/
|
|
385
|
+
export function parseTTML(src) {
|
|
386
|
+
const ptr0 = passStringToWasm0(src, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
|
|
387
|
+
const len0 = WASM_VECTOR_LEN;
|
|
388
|
+
const ret = wasm.parseTTML(ptr0, len0);
|
|
389
|
+
return takeObject(ret);
|
|
390
|
+
}
|
|
391
|
+
|
|
392
|
+
/**
|
|
393
|
+
* @param {any} lrc
|
|
394
|
+
* @returns {string}
|
|
395
|
+
*/
|
|
396
|
+
export function stringifyTTML(lrc) {
|
|
397
|
+
let deferred1_0;
|
|
398
|
+
let deferred1_1;
|
|
399
|
+
try {
|
|
400
|
+
const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
|
|
401
|
+
wasm.stringifyTTML(retptr, addHeapObject(lrc));
|
|
402
|
+
var r0 = getInt32Memory0()[retptr / 4 + 0];
|
|
403
|
+
var r1 = getInt32Memory0()[retptr / 4 + 1];
|
|
404
|
+
deferred1_0 = r0;
|
|
405
|
+
deferred1_1 = r1;
|
|
406
|
+
return getStringFromWasm0(r0, r1);
|
|
407
|
+
} finally {
|
|
408
|
+
wasm.__wbindgen_add_to_stack_pointer(16);
|
|
409
|
+
wasm.__wbindgen_free(deferred1_0, deferred1_1, 1);
|
|
410
|
+
}
|
|
411
|
+
}
|
|
412
|
+
|
|
381
413
|
/**
|
|
382
414
|
* @param {string} src
|
|
383
415
|
* @returns {any}
|
|
@@ -454,6 +486,15 @@ export function __wbindgen_error_new(arg0, arg1) {
|
|
|
454
486
|
return addHeapObject(ret);
|
|
455
487
|
};
|
|
456
488
|
|
|
489
|
+
export function __wbindgen_string_get(arg0, arg1) {
|
|
490
|
+
const obj = getObject(arg1);
|
|
491
|
+
const ret = typeof(obj) === 'string' ? obj : undefined;
|
|
492
|
+
var ptr1 = isLikeNone(ret) ? 0 : passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
|
|
493
|
+
var len1 = WASM_VECTOR_LEN;
|
|
494
|
+
getInt32Memory0()[arg0 / 4 + 1] = len1;
|
|
495
|
+
getInt32Memory0()[arg0 / 4 + 0] = ptr1;
|
|
496
|
+
};
|
|
497
|
+
|
|
457
498
|
export function __wbindgen_is_object(arg0) {
|
|
458
499
|
const val = getObject(arg0);
|
|
459
500
|
const ret = typeof(val) === 'object' && val !== null;
|
|
@@ -470,15 +511,6 @@ export function __wbindgen_in(arg0, arg1) {
|
|
|
470
511
|
return ret;
|
|
471
512
|
};
|
|
472
513
|
|
|
473
|
-
export function __wbindgen_string_get(arg0, arg1) {
|
|
474
|
-
const obj = getObject(arg1);
|
|
475
|
-
const ret = typeof(obj) === 'string' ? obj : undefined;
|
|
476
|
-
var ptr1 = isLikeNone(ret) ? 0 : passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
|
|
477
|
-
var len1 = WASM_VECTOR_LEN;
|
|
478
|
-
getInt32Memory0()[arg0 / 4 + 1] = len1;
|
|
479
|
-
getInt32Memory0()[arg0 / 4 + 0] = ptr1;
|
|
480
|
-
};
|
|
481
|
-
|
|
482
514
|
export function __wbindgen_boolean_get(arg0) {
|
|
483
515
|
const v = getObject(arg0);
|
|
484
516
|
const ret = typeof(v) === 'boolean' ? (v ? 1 : 0) : 2;
|
package/pkg/amll_lyric_bg.wasm
CHANGED
|
Binary file
|
|
@@ -11,6 +11,8 @@ export function parseLys(a: number, b: number): number;
|
|
|
11
11
|
export function stringifyLys(a: number, b: number): void;
|
|
12
12
|
export function parseQrc(a: number, b: number): number;
|
|
13
13
|
export function stringifyQrc(a: number, b: number): void;
|
|
14
|
+
export function parseTTML(a: number, b: number): number;
|
|
15
|
+
export function stringifyTTML(a: number, b: number): void;
|
|
14
16
|
export function parseYrc(a: number, b: number): number;
|
|
15
17
|
export function stringifyYrc(a: number, b: number): void;
|
|
16
18
|
export function wasm_start(): void;
|