Konversi ASS ke TXT
Atau tempel teks subtitle
Apa yang berubah dalam konversi ini
6 hal dihapus atau memerlukan keputusan
- Waktu
seluruh timeline (format keluaran tidak mencatat waktu sama sekali)
- Pemformatan
seluruh pemformatan (tebal, miring, warna, garis tepi, bayangan)
- Posisi
posisi di layar (setiap cue kembali ke posisi bawaan)
- Karaoke
timing karaoke (penyorotan per suku kata)
- Pemisahan baris
pemisahan baris (cue multi-baris akan disatukan menjadi satu baris)
- Konten khusus format
konten yang disimpan format sumber di luar cue-nya (blok non-cue, teks header, pengaturan per cue, event yang dikomentari) — format tujuan tidak punya tempat untuknya
Daftar ini berasal dari matriks kemampuan untuk kedua format ini, bukan dari file tertentu yang Anda muat. File tertentu bisa kehilangan lebih banyak jika memakai fitur yang diizinkan format tetapi tidak dimodelkan matriks.
Di halaman ini skrip ASS dipermudah menjadi teks biasa. ASS adalah skrip untuk renderer: header, tabel gaya, event Dialogue, kode posisi, karaoke, dan bagian lampiran font. TXT hanya berisi baris teks, jadi konversi ini membuang semua yang bukan kata.
Enam hal hilang: timing, styling, positioning, karaoke, pemisah baris, dan isi khas format. Pemformatan inline seperti tebal dan miring juga tidak bertahan sebagai pemformatan, meskipun teksnya tetap ada. Karena pemisah baris hilang, cue yang berisi dua baris digabung menjadi satu baris — hasilnya mengalir sebagai kalimat, bukan tata letak subtitle.
Hasilnya berguna sebagai transkrip, sumber terjemahan, atau draf yang diberikan kepada orang tanpa pemutar subtitle. Satu file atau satu musim, semuanya di peramban, dan hasilnya turun bersama sebagai satu ZIP.
Contoh
File ASS biasa, dikonversi ke TXT
Masukan
[Script Info]
Title: Example
ScriptType: v4.00+
WrapStyle: 0
[V4+ Styles]
Format: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, OutlineColour, BackColour, Bold, Italic, Underline, StrikeOut, ScaleX, ScaleY, Spacing, Angle, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, Encoding
Style: Default,Arial,20,&H00FFFFFF,&H000000FF,&H00000000,&H00000000,0,0,0,0,100,100,0,0,1,2,2,2,10,10,10,1
Style: Title,Arial,36,&H0000FFFF,&H000000FF,&H00000000,&H00000000,-1,0,0,0,100,100,0,0,1,2,2,2,10,10,10,1
[Events]
Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text
Dialogue: 0,0:00:01.00,0:00:04.00,Default,,0,0,0,,Hello there.
Dialogue: 0,0:00:05.00,0:00:08.50,Default,,0,0,0,,{\i1}Italic{\i0} and {\b1}bold{\b0} text.
Dialogue: 0,0:00:09.00,0:00:12.00,Title,,0,0,0,,{\pos(320,240)}Positioned
Dialogue: 0,0:00:13.00,0:00:16.00,Default,,0,0,0,,{\k50}ka{\k30}ra{\k20}o{\k10}ke
Dialogue: 0,0:00:17.00,0:00:20.00,Default,,0,0,0,,Line one\NLine two
Dialogue: 1,0:00:21.00,0:00:24.00,Default,,0,0,0,,{\an7}Top left
Keluaran
Hello there.
Italic and bold text.
Positioned
karaoke
Line one
Line two
Top left
Yang hilang pada hasil ini: timing, styling, positioning, karaoke, pemisah baris, dan isi khas format. Sisanya sama baris demi baris.
Konversi yang sama pada input yang berantakan
Masukan
[Script Info]
; 一份真实的脏文件:BOM + CRLF + 认不出的覆写码 + Comment + 坏时间码
Title: Dirty sample
ScriptType: v4.00+
[V4+ Styles]
Format: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, OutlineColour, BackColour, Bold, Italic, Underline, StrikeOut, ScaleX, ScaleY, Spacing, Angle, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, Encoding
Style: Default,Arial,20,&H00FFFFFF,&H000000FF,&H00000000,&H00000000,1,0,0,0,100,100,0,0,1,2,2,2,10,10,10,1
[Fonts]
fontname: Arial
!!!!!!!!!!!!!!!!!!!!!!!!!!!!
[Events]
Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text
Comment: 0,0:00:00.00,0:00:01.00,Default,,0,0,0,,这是一条注释,不该变成字幕
Dialogue: 0,0:00:01.00,0:00:04.00,Default,,0,0,0,,Hello, world
Dialogue: 0,0:00:05.00,0:00:08.00,Default,,0,0,0,,{\fad(300,300)}Unmodelled override
Dialogue: 0,0:00:09.00,0:00:12.00,Default,,0,0,0,,{\an7\pos(320,240)}Both, wrong order
Dialogue: 0,0:00:13.00,0:00:16.5,Default,,0,0,0,,One decimal centisecond
Dialogue: 0,0:00:17.00,0:00:20.00,Default,,0,0,0,,Soft\nbreak
Dialogue: 0,0:00:xx.00,0:00:24.00,Default,,0,0,0,,Broken timecodeKeluaran
Hello, world
{\fad(300,300)}Unmodelled override
Both, wrong order
One decimal centisecond
Soft
break
Ini jenis kerusakan yang nyata pada file asli — akhir baris campuran, spasi berlebih, kolom kosong. Bandingkan dengan contoh rapi di atas untuk melihat apa yang dimaafkan parser.
Pertanyaan yang sering diajukan
Ke mana timecode ASS pergi saat dikonversi ke TXT?
Timecode dibuang seluruhnya. TXT tidak menyimpan waktu mulai atau selesai, jadi yang tersisa hanyalah kata-kata dalam urutan kemunculan. Itu sebabnya daftar yang hilang ditampilkan sebelum Anda mengunduh: bila timeline masih dibutuhkan, pilih CSV atau JSON.
Apa yang terjadi pada tebal, miring, dan warna dari ASS ke TXT?
Tidak dipertahankan sebagai pemformatan. TXT tidak punya model gaya, jadi kode override ASS tidak diterjemahkan menjadi markup yang bermakna; yang keluar adalah teks cue. Bila ada tag yang tertinggal, itu bisa dibersihkan setelahnya.
Apa yang terjadi pada posisi di layar dari ASS ke TXT?
Posisi dibuang. Kode seperti \pos(320,240) atau \an7 hanya berarti bagi renderer, dan TXT tidak punya renderer maupun kolom posisi. Konverter tidak menyalinnya ke teks.
Apa yang terjadi pada timing karaoke dari ASS ke TXT?
Hilang. Karaoke menyimpan waktu per suku kata, sedangkan TXT tidak menyimpan waktu sama sekali. Suku kata tetap ada sebagai teks, tetapi sorotan bertiming tidak bisa dinyatakan dan tidak direkonstruksi.
Apa yang terjadi pada cue ASS dua baris di TXT?
Keduanya digabung menjadi satu baris teks. Karena pemisah baris termasuk yang hilang di arah ini, hasilnya mengalir sebagai kalimat, bukan seperti tata letak subtitle di layar.
Apa yang terjadi pada blok [Script Info] dan bagian lain skrip ASS di TXT?
Semuanya dibuang. [Script Info] adalah konfigurasi skrip, Comment: adalah catatan penulis, dan [Fonts] serta [Graphics] adalah lampiran renderer. Tidak ada yang disalin ke transkrip.
Seperti apa keluaran saat ASS menjadi TXT?
Seperti teks biasa: satu baris per event Dialogue, tanpa nomor, tanpa timecode, dan tanpa header skrip. Setiap cue ASS menjadi satu baris teks dalam urutan waktu.
Apakah cue ASS tetap berurutan di keluaran TXT?
Ya, dan cue diurutkan menurut waktu mulai sebelum teksnya ditulis. Urutan event di skrip bisa tidak kronologis; transkrip mengembalikannya ke urutan waktu.
Bisakah TXT hasil konversi ASS ini diubah kembali menjadi ASS?
Tidak dengan hasil yang sama. Halaman TXT ke ASS bisa membuat event dari baris teks, tetapi timeline, gaya, posisi, dan karaoke sudah hilang dan tidak bisa dipulihkan. Simpan file ASS asli bila masih dibutuhkan.
Apakah keluaran TXT mempertahankan encoding file ASS saya?
Tidak. File teks hasilnya UTF-8 tanpa BOM; tidak ada encoding asal yang dipertahankan. Bila file ASS memakai encoding lama, isinya didekode lebih dulu.