diff --git a/.gitignore b/.gitignore
index b967bbb..31e6a16 100644
--- a/.gitignore
+++ b/.gitignore
@@ -9,4 +9,5 @@ node_modules
vite.config.js.timestamp-*
vite.config.ts.timestamp-*
data/pending
-.vscode
\ No newline at end of file
+.vscode
+.idea
\ No newline at end of file
diff --git a/bun.lockb b/bun.lockb
index 98d6a6f..bec545e 100755
Binary files a/bun.lockb and b/bun.lockb differ
diff --git a/package.json b/package.json
index b0d01d6..cf14c46 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "aquavox",
- "version": "2.3.2",
+ "version": "2.4.0",
"private": false,
"scripts": {
"dev": "vite dev",
@@ -11,7 +11,7 @@
"test": "vitest",
"lint": "prettier --check . && eslint .",
"format": "prettier --write .",
- "go": "PORT=4173 bun ./build"
+ "go": "PORT=4173 deno ./build"
},
"devDependencies": {
"@iconify/svelte": "^4.0.2",
@@ -29,11 +29,11 @@
"postcss": "^8.4.38",
"prettier": "^3.2.5",
"prettier-plugin-svelte": "^3.2.3",
- "svelte": "^4.2.17",
+ "svelte": "^4.2.19",
"svelte-check": "^3.7.1",
"tailwindcss": "^3.4.3",
"typescript": "^5.4.5",
- "vite": "^5.2.11",
+ "vite": "5.4.6",
"vite-plugin-wasm": "^3.3.0",
"vitest": "^1.6.0"
},
@@ -61,6 +61,7 @@
"node-cache": "^5.1.2",
"rollup-plugin-node-polyfills": "^0.2.1",
"typescript-parsec": "^0.3.4",
- "uuid": "^9.0.1"
+ "uuid": "^9.0.1",
+ "vite-tsconfig-paths": "^5.0.1"
}
}
diff --git a/src/lib/components/homepage/headBar.svelte b/src/lib/components/homepage/headBar.svelte
new file mode 100644
index 0000000..49aec05
--- /dev/null
+++ b/src/lib/components/homepage/headBar.svelte
@@ -0,0 +1,15 @@
+
+
+
\ No newline at end of file
diff --git a/src/lib/components/lyrics/newLyrics.svelte b/src/lib/components/lyrics/newLyrics.svelte
index d8e3762..29768fc 100644
--- a/src/lib/components/lyrics/newLyrics.svelte
+++ b/src/lib/components/lyrics/newLyrics.svelte
@@ -1,16 +1,15 @@
+
+
+
+
错误
+ {#if $page.status === 404}
+
{$page.status}: 页面不存在
+ {:else}
+
{$page.status}: {$page.error.message}
+ {/if}
+
diff --git a/src/routes/+page.server.js b/src/routes/+page.server.js
index 5829b7e..e69de29 100644
--- a/src/routes/+page.server.js
+++ b/src/routes/+page.server.js
@@ -1 +0,0 @@
-export const ssr = false;
\ No newline at end of file
diff --git a/src/routes/+page.svelte b/src/routes/+page.svelte
index 0b7cfca..e1c7433 100644
--- a/src/routes/+page.svelte
+++ b/src/routes/+page.svelte
@@ -1,97 +1,19 @@
- Aquavox - 音乐库
+ AquaVox
-
-
AquaVox
-
音乐库
-
-
- AquaVox {getVersion()} · 早期公开预览 · 源代码参见
- GitHub
-
-
导入音乐
-
-
-
你可以在这里探索,提交和分享好听的歌曲。
-
+
\ No newline at end of file
diff --git a/src/routes/home/+page.server.js b/src/routes/home/+page.server.js
new file mode 100644
index 0000000..5829b7e
--- /dev/null
+++ b/src/routes/home/+page.server.js
@@ -0,0 +1 @@
+export const ssr = false;
\ No newline at end of file
diff --git a/src/routes/home/+page.svelte b/src/routes/home/+page.svelte
new file mode 100644
index 0000000..29da5cc
--- /dev/null
+++ b/src/routes/home/+page.svelte
@@ -0,0 +1,100 @@
+
+
+
+ AquaVox - 首页
+
+
+
+
+
+
AquaVox
+
音乐库
+
+
+ AquaVox {getVersion()} · 早期公开预览 · 源代码参见
+ GitHub
+
+
导入音乐
+
+
+
你可以在这里探索,提交和分享好听的歌曲。
+
+
+
diff --git a/src/routes/play/[id]/+page.svelte b/src/routes/play/[id]/+page.svelte
index c07a216..952bb07 100644
--- a/src/routes/play/[id]/+page.svelte
+++ b/src/routes/play/[id]/+page.svelte
@@ -13,7 +13,7 @@
import type { IAudioMetadata } from 'music-metadata-browser';
import { onMount } from 'svelte';
import progressBarRaw from '$lib/state/progressBarRaw';
- import { parseTTML, type LyricLine } from '$lib/lyrics/ttml';
+ import { parseTTML } from '$lib/lyrics/ttml';
import NewLyrics from '$lib/components/lyrics/newLyrics.svelte';
const audioId = $page.params.id;
@@ -79,14 +79,14 @@
singer = metadata.common.artist ? metadata.common.artist : '未知歌手';
prepared.push('duration');
});
- localforage.getItem(`${audioId}-cover`, function (err, file) {
+ localforage.getItem(`${audioId}-cover`, function (_, file) {
if (file) {
const path = URL.createObjectURL(file as File);
coverPath.set(path);
}
prepared.push('cover');
});
- localforage.getItem(`${audioId}-file`, function (err, file) {
+ localforage.getItem(`${audioId}-file`, function (_, file) {
if (audioPlayer === null) return;
if (file) {
const f = file as File;
@@ -97,7 +97,7 @@
prepared.push('file');
}
});
- localforage.getItem(`${audioId}-lyric`, function (err, file) {
+ localforage.getItem(`${audioId}-lyric`, function (_, file) {
if (file) {
const f = file as File;
f.text().then((lr) => {
diff --git a/src/test/lrcParser.test.ts b/src/test/lrcParser.test.ts
index 12b4b45..bb3c0eb 100644
--- a/src/test/lrcParser.test.ts
+++ b/src/test/lrcParser.test.ts
@@ -1,6 +1,6 @@
import { describe, expect, it } from 'vitest';
import fs from 'fs';
-import { parseLRC } from '$lib/lyrics/lrc/parser';
+import lrcParser, { parseLRC } from '$lib/lyrics/lrc/parser';
describe('LRC parser test', () => {
const test01Buffer = fs.readFileSync('./src/test/resources/test-01.lrc');
@@ -9,6 +9,8 @@ describe('LRC parser test', () => {
const test02Text = test02Buffer.toString('utf-8');
const test03Buffer = fs.readFileSync('./src/test/resources/test-03.lrc');
const test03Text = test03Buffer.toString('utf-8');
+ const test04Buffer = fs.readFileSync('./src/test/resources/test-04.lrc');
+ const test04Text = test04Buffer.toString('utf-8');
const lf_alternatives = ['\n', '\r\n', '\r'];
@@ -37,14 +39,18 @@ describe('LRC parser test', () => {
expect(result.scripts!![0].words!![1].beginIndex).toBe("[00:00.00] <00:00.04> When <00:00.16> the".indexOf("the"));
expect(result.scripts!![0].words!![1].start).toBe(160);
});
+ it('Parses test-04.lrc', () => {
+ const result = lrcParser(test04Text);
+ expect(result.scripts!![48].text).toBe("迎来每个人的结局");
+ });
it('Parses test-03.lrc', () => {
- const result = parseLRC(test03Text, { wordDiv: ' ', strict: true });
+ const result = lrcParser(test03Text);
expect(result.scripts!![5].text).toBe("བྲོ་ར་འདི་ལ་བྲོ་ཅིག་འཁྲབ།");
expect(result.scripts!![5].translation).toBe("在舞池里舞一舞");
expect(result.scripts!![6].text).toBe("祝祷转过千年 五色经幡飘飞");
- expect(result.scripts!![6].singer).toBe("a");
expect(result.scripts!![11].singer).toBeUndefined();
expect(result.scripts!![11].translation).toBe("我们在此相聚");
+ expect(result.scripts!![70].translation).toBe("祝愿平安富足");
});
it('Rejects some invalid LRCs', () => {
const cases = [
diff --git a/src/test/resources/test-03.lrc b/src/test/resources/test-03.lrc
index 20a669c..3fb9e84 100644
--- a/src/test/resources/test-03.lrc
+++ b/src/test/resources/test-03.lrc
@@ -3,75 +3,75 @@
[al: 游四方]
[tool: 歌词滚动姬 https://lrc-maker.github.io]
[length: 04:17.400]
-[00:34.280] 浸透了经卷 记忆的呼喊
-[00:37.800] 雪珠滚落山巅 栽下一个春天
-[00:47.390] 松石敲响玲珑清脆的银花
-[00:51.600] 穿过玛瑙的红霞
-[00:54.430] 在她眼中结编 亘久诗篇
-[01:05.440] a: བྲོ་ར་འདི་ལ་བྲོ་ཅིག་འཁྲབ། | 在舞池里舞一舞
-[01:08.780] a: 祝祷转过千年 五色经幡飘飞
-[01:12.040] 奏起悠扬巴叶 任岁月拨弦
-[01:19.130] གཞས་ར་འདི་ལ་གཞས་གཅིག་བཏང་། 我在歌坛献首歌
-[01:22.330] 宫殿 塔尖 彩绘 日月 同辉
-[01:25.810] 那层厚重壁垒化身 蝉翼一片
-[01:29.110] ང་ཚོ་འདི་ལ་འཛོམས་འཛོམས། | 我们在此相聚
-[01:30.790] གཏན་དུ་འཛོམས་རྒྱུ་བྱུང་ན། 希望可以常聚
-[01:32.510] གཏན་དུ་འཛོམས་པའི་མི་ལ། 在此相聚的人们
-[01:34.120] སྙུན་གཞི་གོད་ཆགས་མ་གཏོང༌། 祝愿平安富足
-[01:35.920] ང་ཚོ་འདི་ལ་འཛོམས་འཛོམས། 我们在此相聚
-[01:37.630] གཏན་དུ་འཛོམས་རྒྱུ་བྱུང་ན། 希望可以常聚
-[01:39.350] གཏན་དུ་འཛོམས་པའི་མི་ལ། 在此相聚的人们
-[01:41.050] སྙུན་གཞི་གོད་ཆགས་མ་གཏོང༌། 祝愿平安富足
-[01:42.740] ང་ཚོ་འདི་ལ་འཛོམས་འཛོམས། 我们在此相聚
-[01:44.630] གཏན་དུ་འཛོམས་རྒྱུ་བྱུང་ན། 希望可以常聚
-[01:46.280] གཏན་དུ་འཛོམས་པའི་མི་ལ། 在此相聚的人们
-[01:48.010] སྙུན་གཞི་གོད་ཆགས་མ་གཏོང༌། 祝愿平安富足
-[01:49.600] ང་ཚོ་འདི་ལ་འཛོམས་འཛོམས། 我们在此相聚
-[01:51.380] གཏན་དུ་འཛོམས་རྒྱུ་བྱུང་ན། 希望可以常聚
-[01:53.070] གཏན་དུ་འཛོམས་པའི་མི་ལ། 在此相聚的人们
-[01:54.820] སྙུན་གཞི་གོད་ཆགས་མ་གཏོང༌། 祝愿平安富足
-[01:58.580] སྔོན་དང་པོ་གྲུབ་ཐོབ་ཐང་སྟོང་རྒྱལ་པོས་མཛད་པའི་མཛད་ཚུལ་དུ། དང་པོ་རྔོན་པའི་ས་སྦྱངས་ས་འདུལ། གཉིས་པ་རྒྱ་ལུའི་བྱིན་འབེབས། གསུམ་པ་ལྷ་མོའི་གླུ་གར་སོགས་རིན་ཆེན་གསུང་མགུར་གཞུང་བཟང་མང་པོ་འདུག་སྟེ། དེ་ཡང་མ་ཉུང་གི་ཚིག་ལ་དུམ་མཚམས་གཅིག་ཞུས་པ་བྱུང་བ་ཡིན་པ་ལགས་སོ། 如祖师唐东杰布所著,一有温巴净地,二有甲鲁祈福,三有仙女歌舞,所著繁多,在此简略献之。
-[02:24.240] 浸透了经卷 记忆的呼喊
-[02:27.450] 雪珠滚落山巅 栽下一个春天
-[02:37.090] 松石敲响玲珑清脆的银花
-[02:41.280] 穿过玛瑙的红霞
-[02:44.010] 在她眼中结编 亘久诗篇
-[02:55.250] བྲོ་ར་འདི་ལ་བྲོ་ཅིག་འཁྲབ། 在舞池里舞一舞
-[02:58.410] 祝祷转过千年 五色经幡飘飞
-[03:01.750] 奏起悠扬巴叶 任岁月拨弦
-[03:08.840] གཞས་ར་འདི་ལ་གཞས་གཅིག་བཏང་། 我在歌坛献首歌
-[03:12.050] 宫殿 塔尖 彩绘 日月 同辉
-[03:15.400] 那层厚重壁垒化身 蝉翼一片
-[03:18.850] ང་ཚོ་འདི་ལ་འཛོམས་འཛོམས། 我们在此相聚
-[03:20.480] གཏན་དུ་འཛོམས་རྒྱུ་བྱུང་ན། 希望可以常聚
-[03:22.210] གཏན་དུ་འཛོམས་པའི་མི་ལ། 在此相聚的人们
-[03:23.910] སྙུན་གཞི་གོད་ཆགས་མ་གཏོང༌། 祝愿平安富足
-[03:25.662] ང་ཚོ་འདི་ལ་འཛོམས་འཛོམས། 我们在此相聚
-[03:27.391] གཏན་དུ་འཛོམས་རྒྱུ་བྱུང་ན། 希望可以常聚
-[03:29.096] གཏན་དུ་འཛོམས་པའི་མི་ལ། 在此相聚的人们
-[03:30.789] སྙུན་གཞི་གོད་ཆགས་མ་གཏོང༌། 祝愿平安富足
-[03:32.496] ང་ཚོ་འདི་ལ་འཛོམས་འཛོམས། 我们在此相聚
-[03:34.175] གཏན་དུ་འཛོམས་རྒྱུ་བྱུང་ན། 希望可以常聚
-[03:35.876] གཏན་དུ་འཛོམས་པའི་མི་ལ། 在此相聚的人们
-[03:37.606] སྙུན་གཞི་གོད་ཆགས་མ་གཏོང༌། 祝愿平安富足
-[03:39.290] ང་ཚོ་འདི་ལ་འཛོམས་འཛོམས། 我们在此相聚
-[03:41.030] གཏན་དུ་འཛོམས་རྒྱུ་བྱུང་ན། 希望可以常聚
-[03:42.679] གཏན་དུ་འཛོམས་པའི་མི་ལ། 在此相聚的人们
-[03:44.455] སྙུན་གཞི་གོད་ཆགས་མ་གཏོང༌། 祝愿平安富足
-[03:46.176] ང་ཚོ་འདི་ལ་འཛོམས་འཛོམས། 我们在此相聚
-[03:47.910] གཏན་དུ་འཛོམས་རྒྱུ་བྱུང་ན། 希望可以常聚
-[03:49.625] གཏན་དུ་འཛོམས་པའི་མི་ལ། 在此相聚的人们
-[03:51.293] སྙུན་གཞི་གོད་ཆགས་མ་གཏོང༌། 祝愿平安富足
-[03:53.005] ང་ཚོ་འདི་ལ་འཛོམས་འཛོམས། 我们在此相聚
-[03:54.742] གཏན་དུ་འཛོམས་རྒྱུ་བྱུང་ན། 希望可以常聚
-[03:56.479] གཏན་དུ་འཛོམས་པའི་མི་ལ། 在此相聚的人们
-[03:58.159] སྙུན་གཞི་གོད་ཆགས་མ་གཏོང༌། 祝愿平安富足
-[03:59.859] ང་ཚོ་འདི་ལ་འཛོམས་འཛོམས། 我们在此相聚
-[04:01.548] གཏན་དུ་འཛོམས་རྒྱུ་བྱུང་ན། 希望可以常聚
-[04:03.312] གཏན་དུ་འཛོམས་པའི་མི་ལ། 在此相聚的人们
-[04:05.026] སྙུན་གཞི་གོད་ཆགས་མ་གཏོང༌། 祝愿平安富足
-[04:06.721] ང་ཚོ་འདི་ལ་འཛོམས་འཛོམས། 我们在此相聚
-[04:08.479] གཏན་དུ་འཛོམས་རྒྱུ་བྱུང་ན། 希望可以常聚
-[04:10.175] གཏན་དུ་འཛོམས་པའི་མི་ལ། 在此相聚的人们
-[04:11.923] སྙུན་གཞི་གོད་ཆགས་མ་གཏོང༌། 祝愿平安富足
-[04:17.400]
\ No newline at end of file
+[00:33.880] 浸透了经卷 记忆的呼喊
+[00:37.400] 雪珠滚落山巅 栽下一个春天
+[00:46.990] 松石敲响玲珑清脆的银花
+[00:51.200] 穿过玛瑙的红霞
+[00:54.030] 在她眼中结编 亘久诗篇
+[01:05.040] བྲོ་ར་འདི་ལ་བྲོ་ཅིག་འཁྲབ། | 在舞池里舞一舞
+[01:08.380] 祝祷转过千年 五色经幡飘飞
+[01:11.640] 奏起悠扬巴叶 任岁月拨弦
+[01:18.730] གཞས་ར་འདི་ལ་གཞས་གཅིག་བཏང་། | 我在歌坛献首歌
+[01:21.930] 宫殿 塔尖 彩绘 日月 同辉
+[01:25.410] 那层厚重壁垒化身 蝉翼一片
+[01:28.710] ང་ཚོ་འདི་ལ་འཛོམས་འཛོམས། | 我们在此相聚
+[01:30.390] གཏན་དུ་འཛོམས་རྒྱུ་བྱུང་ན། | 希望可以常聚
+[01:32.110] གཏན་དུ་འཛོམས་པའི་མི་ལ། | 在此相聚的人们
+[01:33.720] སྙུན་གཞི་གོད་ཆགས་མ་གཏོང༌། | 祝愿平安富足
+[01:35.520] ང་ཚོ་འདི་ལ་འཛོམས་འཛོམས། | 我们在此相聚
+[01:37.230] གཏན་དུ་འཛོམས་རྒྱུ་བྱུང་ན། | 希望可以常聚
+[01:38.950] གཏན་དུ་འཛོམས་པའི་མི་ལ། | 在此相聚的人们
+[01:40.650] སྙུན་གཞི་གོད་ཆགས་མ་གཏོང༌། | 祝愿平安富足
+[01:42.340] ང་ཚོ་འདི་ལ་འཛོམས་འཛོམས། | 我们在此相聚
+[01:44.230] གཏན་དུ་འཛོམས་རྒྱུ་བྱུང་ན། | 希望可以常聚
+[01:45.880] གཏན་དུ་འཛོམས་པའི་མི་ལ། | 在此相聚的人们
+[01:47.610] སྙུན་གཞི་གོད་ཆགས་མ་གཏོང༌། | 祝愿平安富足
+[01:49.200] ང་ཚོ་འདི་ལ་འཛོམས་འཛོམས། | 我们在此相聚
+[01:50.980] གཏན་དུ་འཛོམས་རྒྱུ་བྱུང་ན། | 希望可以常聚
+[01:52.670] གཏན་དུ་འཛོམས་པའི་མི་ལ། | 在此相聚的人们
+[01:54.420] སྙུན་གཞི་གོད་ཆགས་མ་གཏོང༌། | 祝愿平安富足
+[01:58.180] སྔོན་དང་པོ་གྲུབ་ཐོབ་ཐང་སྟོང་རྒྱལ་པོས་མཛད་པའི་མཛད་ཚུལ་དུ། དང་པོ་རྔོན་པའི་ས་སྦྱངས་ས་འདུལ། གཉིས་པ་རྒྱ་ལུའི་བྱིན་འབེབས། གསུམ་པ་ལྷ་མོའི་གླུ་གར་སོགས་རིན་ཆེན་གསུང་མགུར་གཞུང་བཟང་མང་པོ་འདུག་སྟེ། དེ་ཡང་མ་ཉུང་གི་ཚིག་ལ་དུམ་མཚམས་གཅིག་ཞུས་པ་བྱུང་བ་ཡིན་པ་ལགས་སོ། | 如祖师唐东杰布所著,一有温巴净地,二有甲鲁祈福,三有仙女歌舞,所著繁多,在此简略献之。
+[02:23.840] 浸透了经卷 记忆的呼喊
+[02:27.050] 雪珠滚落山巅 栽下一个春天
+[02:36.690] 松石敲响玲珑清脆的银花
+[02:40.880] 穿过玛瑙的红霞
+[02:43.610] 在她眼中结编 亘久诗篇
+[02:54.850] བྲོ་ར་འདི་ལ་བྲོ་ཅིག་འཁྲབ། | 在舞池里舞一舞
+[02:58.010] 祝祷转过千年 五色经幡飘飞
+[03:01.350] 奏起悠扬巴叶 任岁月拨弦
+[03:08.440] གཞས་ར་འདི་ལ་གཞས་གཅིག་བཏང་། | 我在歌坛献首歌
+[03:11.650] 宫殿 塔尖 彩绘 日月 同辉
+[03:15.000] 那层厚重壁垒化身 蝉翼一片
+[03:18.450] ང་ཚོ་འདི་ལ་འཛོམས་འཛོམས། | 我们在此相聚
+[03:20.080] གཏན་དུ་འཛོམས་རྒྱུ་བྱུང་ན། | 希望可以常聚
+[03:21.810] གཏན་དུ་འཛོམས་པའི་མི་ལ། | 在此相聚的人们
+[03:23.510] སྙུན་གཞི་གོད་ཆགས་མ་གཏོང༌། | 祝愿平安富足
+[03:25.262] ང་ཚོ་འདི་ལ་འཛོམས་འཛོམས། | 我们在此相聚
+[03:26.991] གཏན་དུ་འཛོམས་རྒྱུ་བྱུང་ན། | 希望可以常聚
+[03:28.696] གཏན་དུ་འཛོམས་པའི་མི་ལ། | 在此相聚的人们
+[03:30.389] སྙུན་གཞི་གོད་ཆགས་མ་གཏོང༌། | 祝愿平安富足
+[03:32.096] ང་ཚོ་འདི་ལ་འཛོམས་འཛོམས། | 我们在此相聚
+[03:33.775] གཏན་དུ་འཛོམས་རྒྱུ་བྱུང་ན། | 希望可以常聚
+[03:35.476] གཏན་དུ་འཛོམས་པའི་མི་ལ། | 在此相聚的人们
+[03:37.206] སྙུན་གཞི་གོད་ཆགས་མ་གཏོང༌། | 祝愿平安富足
+[03:38.890] ང་ཚོ་འདི་ལ་འཛོམས་འཛོམས། | 我们在此相聚
+[03:40.630] གཏན་དུ་འཛོམས་རྒྱུ་བྱུང་ན། | 希望可以常聚
+[03:42.279] གཏན་དུ་འཛོམས་པའི་མི་ལ། | 在此相聚的人们
+[03:44.055] སྙུན་གཞི་གོད་ཆགས་མ་གཏོང༌། | 祝愿平安富足
+[03:45.776] ང་ཚོ་འདི་ལ་འཛོམས་འཛོམས། | 我们在此相聚
+[03:47.510] གཏན་དུ་འཛོམས་རྒྱུ་བྱུང་ན། | 希望可以常聚
+[03:49.225] གཏན་དུ་འཛོམས་པའི་མི་ལ། | 在此相聚的人们
+[03:50.893] སྙུན་གཞི་གོད་ཆགས་མ་གཏོང༌། | 祝愿平安富足
+[03:52.605] ང་ཚོ་འདི་ལ་འཛོམས་འཛོམས། | 我们在此相聚
+[03:54.342] གཏན་དུ་འཛོམས་རྒྱུ་བྱུང་ན། | 希望可以常聚
+[03:56.079] གཏན་དུ་འཛོམས་པའི་མི་ལ། | 在此相聚的人们
+[03:57.759] སྙུན་གཞི་གོད་ཆགས་མ་གཏོང༌། | 祝愿平安富足
+[03:59.459] ང་ཚོ་འདི་ལ་འཛོམས་འཛོམས། | 我们在此相聚
+[04:01.148] གཏན་དུ་འཛོམས་རྒྱུ་བྱུང་ན། | 希望可以常聚
+[04:02.912] གཏན་དུ་འཛོམས་པའི་མི་ལ། | 在此相聚的人们
+[04:04.626] སྙུན་གཞི་གོད་ཆགས་མ་གཏོང༌། | 祝愿平安富足
+[04:06.321] ང་ཚོ་འདི་ལ་འཛོམས་འཛོམས། | 我们在此相聚
+[04:08.079] གཏན་དུ་འཛོམས་རྒྱུ་བྱུང་ན། | 希望可以常聚
+[04:09.775] གཏན་དུ་འཛོམས་པའི་མི་ལ། | 在此相聚的人们
+[04:11.523] སྙུན་གཞི་གོད་ཆགས་མ་གཏོང༌། | 祝愿平安富足
+[04:17.000]
\ No newline at end of file
diff --git a/src/test/resources/test-04.lrc b/src/test/resources/test-04.lrc
new file mode 100644
index 0000000..8349378
--- /dev/null
+++ b/src/test/resources/test-04.lrc
@@ -0,0 +1,49 @@
+[00:13.07]蝉时雨 化成淡墨渲染暮色
+[00:17.84]渗透着 勾勒出足迹与车辙
+[00:22.99]欢笑声 与漂浮的水汽饱和
+[00:28.01]隔着窗 同城市一并模糊了
+[00:33.02]拨弄着 旧吉他 哼着四拍子的歌
+[00:38.18]回音中 一个人 仿佛颇悠然自得
+[00:43.11]等凉雨 的温度 将不安燥热中和
+[00:48.15]寻觅着 风的波折
+[00:52.84]我仍然在无人问津的阴雨霉湿之地
+[00:57.55]和着雨音 唱着没有听众的歌曲
+[01:02.87]人潮仍是漫无目的地向目的地散去
+[01:08.34]忙碌着 无为着 继续
+[01:13.10]等待着谁能够将我的心房轻轻叩击
+[01:17.95]即使是你 也仅仅驻足了片刻便离去
+[01:22.96]想着或许 下个路口会有谁与我相遇
+[01:28.52]哪怕只 一瞬的 奇迹
+[01:55.08]夏夜空 出现在遥远的的记忆
+[02:00.01]绽放的 璀璨花火拥着繁星
+[02:05.10]消失前 做出最温柔的给予
+[02:10.21]一如那些模糊身影的别离
+[02:15.19]困惑地 拘束着 如城市池中之鱼
+[02:20.39]或哽咽 或低泣 都融进了泡沫里
+[02:25.37]拖曳疲惫身躯 沉入冰冷的池底
+[02:30.48]注视着 色彩褪去
+[02:34.86]我仍然在无人问津的阴雨霉湿之地
+[02:39.55]和着雨音 唱着没有听众的歌曲
+[02:44.90]人潮仍是漫无目的地向目的地散去
+[02:50.56]忙碌着 无为着 继续
+[02:55.19]祈求着谁能够将我的心房轻轻叩击
+[03:00.02]今天的你 是否会留意并转身去靠近
+[03:05.13]因为或许 下个路口仍是同样的结局
+[03:10.90]不存在 刹那的 奇迹
+[03:17.37]极夜与永昼
+[03:22.38]别离与欢聚
+[03:27.43]脉搏与呼吸
+[03:32.45]找寻着意义
+[03:38.18]我仍然在无人问津的阴雨霉湿之地
+[03:43.16]和着雨音 唱着卖不出去的歌曲
+[03:48.47]浮游之人也挣扎不已执着存在下去
+[03:54.04]追逐着 梦想着 继续
+[03:58.34]请别让我独自匍匐于滂沱世末之雨
+[04:03.53]和着雨音 唱着见证终结的歌曲
+[04:08.69]人们终于 结束了寻觅呆滞伫立原地
+[04:14.31]哭泣着 乞求着 奇迹
+[04:18.86]用这双手 拨出残缺染了锈迹的弦音
+[04:23.70]都隐没于淋漓的雨幕无声无息
+[04:28.89]曲终之时 你是否便会回应我的心音
+[04:34.73]将颤抖的双手牵起
+[04:39.80]迎来每个人的结局
\ No newline at end of file