แปลง LRC เป็น JSON
หรือวางข้อความคำบรรยาย
ตัวเลือก
ใช้เมื่อต้นฉบับไม่มีเวลาสิ้นสุด (ข้อความล้วน, LRC) ไทม์ไลน์ในผลลัพธ์ถูกสร้างขึ้นที่นี่แทนการแปลง ค่าที่คุณได้จึงเป็นตัวเลขนี้
การแปลงนี้เปลี่ยนอะไร
1 อย่างถูกตัดทิ้งหรือต้องตัดสินใจ
- เวลา
เวลาสิ้นสุดของคิว — ต้นฉบับไม่บันทึกไว้ เวลาสิ้นสุดของผลลัพธ์จึงจะถูกสร้างขึ้นแทนการแปลง
รายการนี้มาจากเมทริกซ์ความสามารถของสองรูปแบบนี้ ไม่ได้มาจากไฟล์ที่คุณโหลด ไฟล์หนึ่งอาจสูญหายมากกว่าหากใช้คุณสมบัติที่รูปแบบอนุญาตแต่เมทริกซ์ไม่ได้จำลอง
หน้านี้แปลง LRC เป็น JSON วางไฟล์ลงไปหรือวางข้อความ แล้วคุณจะได้เวอร์ชัน JSON กลับมา การแปลงทำงานทั้งหมดในเบราว์เซอร์ จึงไม่มีการอัปโหลดและไม่ต้องมีบัญชี
สองรูปแบบนี้ไม่ได้เก็บสิ่งเดียวกัน และความต่างไม่ใช่เรื่องผิวเผิน: เวลาสิ้นสุดไม่มีที่อยู่ใน JSON รายการด้านบนมาจากสิ่งที่ทั้งสองรูปแบบแสดงออกได้ ไม่ได้มาจากไฟล์ของคุณ คำตอบจึงเหมือนเดิมก่อนคุณจะโหลดอะไรลงไป ไฟล์เดียวก็ได้ ทั้งซีซันก็ได้ คิวทำงานตามลำดับและผลลัพธ์ลงมาพร้อมกันเป็นไฟล์ ZIP เดียว
ตัวอย่าง
ไฟล์ LRC ทั่วไป แปลงเป็น JSON
ข้อมูลนำเข้า
[ti:Sample Song]
[ar:Some Artist]
[length:00:41.00]
[offset:+250]
[00:12.00]First line of the song.
[00:15.30]Second line.
[00:15.30]Second line, translated.
[00:18.00]
[00:21.50]Final line.ผลลัพธ์
{
"version": 1,
"title": "Sample Song",
"cues": [
{
"start": 12000,
"end": 15300,
"lines": [
"First line of the song."
]
},
{
"start": 15300,
"end": 18000,
"lines": [
"Second line.",
"Second line, translated."
]
},
{
"start": 18000,
"end": 21500,
"lines": [
""
]
},
{
"start": 21500,
"end": 23500,
"lines": [
"Final line."
]
}
]
}
สิ่งที่ตัดออกในผลลัพธ์นี้: เวลาสิ้นสุด ทุกอย่างอื่นตรงกันทีละบรรทัด
การแปลงเดียวกันกับข้อมูลที่ผิดปกติ
ข้อมูลนำเข้า
[ar:Some Artist]
[0:05.5]Leading zero omitted, one decimal.
[00:07]Second with no centiseconds.
[00:03.00]Out of order.
[00:07.00][00:09.00]Repeated chorus line.
[00:12.00]ผลลัพธ์
{
"version": 1,
"cues": [
{
"start": 3000,
"end": 5500,
"lines": [
"Out of order."
]
},
{
"start": 5500,
"end": 7000,
"lines": [
"Leading zero omitted, one decimal."
]
},
{
"start": 7000,
"end": 9000,
"lines": [
"Second with no centiseconds.",
"Repeated chorus line."
]
},
{
"start": 9000,
"end": 12000,
"lines": [
"Repeated chorus line."
]
},
{
"start": 12000,
"end": 14000,
"lines": [
""
]
}
]
}
ไฟล์จริงมักมาพร้อม BOM การขึ้นบรรทัดใหม่แบบ Windows บรรทัดแปลกปลอมก่อนไทม์โค้ด หรือไทม์โค้ดที่อ่านไม่ได้เลย ไม่มีอะไรโยนข้อผิดพลาด: สิ่งที่เข้าใจไม่ได้จะถูกรายงาน ไม่ใช่ทิ้งเงียบ ๆ
คำถามที่พบบ่อย
คิว LRC ได้เวลาสิ้นสุดอย่างไรใน JSON?
เมื่อ LRC ถูกแปลงเป็น JSON เวลาสิ้นสุดไม่ได้มาจากไฟล์ แต่มาจากบรรทัดถัดไปที่เริ่มถัดไป ข้อยกเว้นมีหนึ่งจุด: บรรทัดสุดท้ายใช้ระยะเวลาที่คุณกำหนดในช่องของหน้านี้
เมื่อแปลง LRC เป็น JSON ผลลัพธ์มีหน้าตาอย่างไร?
เหมือน JSON: อาร์เรย์ของออบเจ็กต์คิว แต่ละคิวมี `id` `start` และ `end` ของตัวเอง ทุกคิว LRC กลายเป็นคิว JSON หนึ่งคิวในลำดับเดิมและข้อความเดิม
คิว LRC สองบรรทัดจะออกมาเป็นอย่างไรใน JSON?
เป็นสองรายการในอาร์เรย์ `lines` ของคิว การจับคู่ยังอยู่ ทั้งสองบรรทัดของ LRC ยังเป็นคำบรรยายเดียวกันในผลลัพธ์ JSON และโปรแกรมเล่นแสดงพร้อมกัน
ลำดับคิว LRC จะคงเดิมในผลลัพธ์ JSON หรือไม่?
ลำดับไม่เปลี่ยน: JSON รับคิวจาก LRC มาตามเวลาเริ่มจากน้อยไปมาก คิวที่สลับกันมาแต่แรกจะถูกจัดกลับพร้อมข้อความเดิม
แปลง JSON กลับเป็น LRC ได้หรือไม่?
ได้ และทิศทางนั้นมีรายการของมันเอง: การแปลง JSON กลับเป็น LRC สูญเสียเวลาสิ้นสุด สไตล์ ตำแหน่งบนจอ คาราโอเกะ และความละเอียดของเวลา รายการนั้นต่างจากด้านบนเพราะทั้งสองรูปแบบเก็บสิ่งต่างกัน
ไฟล์ JSON ที่ได้จะรักษา encoding ของไฟล์ LRC ไว้หรือไม่?
ขาออกเป็น UTF-8 เสมอ ไฟล์ JSON ไม่มี BOM และใช้การขึ้นบรรทัดใหม่แบบ Unix แม้ LRC ต้นทางจะเป็น UTF-16 หรือ encoding ไบต์เดียว แผงผลลัพธ์จะบอกถ้ามีการถอดรหัสเกิดขึ้น