Go Back   Sickos Alliance > Sickos Playground > Fansubber - Scanlator Zone > Fansub

Notices


Fansub Where you can learn how to sub

Trả lời
 
Ðiều Chỉnh Xếp Bài

  #1 Old 08-08-2009, 10:42 AM
Member
Member
 
50119's Avatar
 
Tham gia ngày: 02-01-08
Tuổi: 18
Bài gởi: 412
Thanks: 74
Thanked 95 Times in 63 Posts
Loli Points: 468.85
Gửi tin nhắn qua Yahoo chát tới 50119
PyFX

PyFX là script làm karaoke tớ viết bằng Python.
PyFX rất giống với SSA Pawaa xD~ của Tenka_Muteki-7X3, do script này tớ vốn viết để thay thế cho SSA Pawaa xD~.
PyFX hiện giờ thì đã dùng được để tạo effect như script của Tenka_Muteki-7X3, nhưng code base vẫn còn rất bề bộn lung tung. PyFX lâu nay tớ không viết tiếp và cũng nghỉ fansub rồi nên đưa ra đây, ai có hứng thứ thì lấy về nghiên cứu viết tiếp cho nó hoàn chỉnh.

Script cải tiến một số thứ sau so với SSA Pawaa xD~:
-Tương thích Python 2.6
-Parse file ass để extract style & karaoke info, thay vì phải chỉnh toàn bộ trong script
-Tính toán tọa độ syl khác với SSA Pawaa xD~, có thể chính xác hơn và cũng có thể kém hơn
-Hỗ trợ tag \kt khi parse, xóa space bằng {\k0}
-Fix lỗi khi parse karaoke có khoảng trắng
-Hỗ trợ nhiều style trong 1 file ass (nhưng vẫn dùng 1 font)
-Hỗ trợ inlinefx như Aegisub Kara-Templater
-Hỗ trợ canh Position bằng margin
-Tính toán lead effect khác SSA Pawaa xD~
-Effect per-char và per-syl cùng lúc
-Tính toán time và position toàn bộ trước khi xử lí effect
-Dùng Unicode thay vì ANSI
-Nhiều thứ lặt vặt khác

Known issues:
-calpospix() với kanji phải xài font *.ttc, else resulting in rubbish
-calpospix() có vấn đề với một số font nhất định
-tính toán position không chính xác, syl và char lệch nhau

Requirements:
[Only registered and activated users can see links. ] - older versions may (not) work
[Only registered and activated users can see links. ]

Mã nguồn + sample scripts:
[Only registered and activated users can see links. ]
[Only registered and activated users can see links. ]

___________________________________

"Anime makes you stupid. Watching anime makes you stupid, fansubbing anime too, but apparently professionally working with anime makes you the most stupid. Funimation is the proof of this theory." [
To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.
]
lulz
50119's Inventory


thay đổi nội dung bởi: 50119, 10-08-2009 lúc 10:58 PM.
50119 is offline   Trả Lời Với Trích Dẫn
The Following User Says Thank You to 50119 For This Useful Post:
Doko Demo Doa (29-04-2011)
  #2 Old 10-08-2009, 10:45 PM
Member
Member
 
50119's Avatar
 
Tham gia ngày: 02-01-08
Tuổi: 18
Bài gởi: 412
Thanks: 74
Thanked 95 Times in 63 Posts
Loli Points: 468.85
Gửi tin nhắn qua Yahoo chát tới 50119
các functions trong pyfx_base.py

Code:
converttime(_var_tem_scr_, _tem_con_tip_)
_tem_con_tip_:
1: chuyển ass time string -> milisecond
2: ngược lại
_var_tem_scr_:
chuỗi ass time hoặc milisecond

Code:
getlines(_str_ass_scr_)
đọc file ass và trả về dạng list các dòng trong file
_str_ass_scr_:
đường dẫn tới file ass
converttime(_var_tem_scr_, _tem_con_tip_)
_tem_con_tip_:
1: chuyển ass time string -> milisecond
2: ngược lại
_var_tem_scr_:
chuỗi ass time hoặc milisecond

Code:
getlines(_str_ass_scr_)
đọc file ass và trả về dạng list các dòng trong file
_str_ass_scr_:
đường dẫn tới file ass

Code:
classifylines(_lis_lin_scr_)
đọc list các line và phân loại line
trả về (PlayResX, PlayResY), styles, karaokes
styles: list các dòng style
karaokes: list các dòng Dialogue
Code:
parsestyles(_lis_sty_scr_)
parse list các dòng style và trả về list styleinfo
format: dict của style có tên stylename là styleinfo[stylename], gồm các chuỗi với giá trị tương ứng:
Fontname, Fontsize,
PrimaryColour, PrimaryColourAlpha, SecondaryColour SecondaryColourAlpha, OutlineColour, OutlineColourAlpha, BackColour, BackColourAlpha,
Bold, Italic, Underline, StrikeOut,
ScaleX, ScaleY, Spacing, Angle, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, Encoding

Code:
parsekaraoke(_lis_kar_scr_, _scr_spa_del_, _div_tem_car_)
parse các dòng karaoke và trả về karainfo
format: list các dict lineinfo
lineinfo gồm có 3 cặp giá trị:
-LineInfo:
dict gồm có: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, LineDuration, LineText, LineTextStripped
-SylInfo:
list các dict, mỗi dict có: syl, sylstart, sylend, inlinefx, syldur, sylindex
-CharInfo
list các dict, mỗi dict có: char, cis (char index - syl), cil (char index - line), chardur, charend, charstart, sylindex (index của syl chứa char)

_lis_kar_scr_: list các dòng Dialogue
_scr_spa_del_: true: thêm {\k0} vào các khoảng trống, false: skip
_div_tem_car_: chia đều thời gian của syl ra cho các char

inlinefx gán bằng {\-inlinefxstring} trong file ass, nếu không thì có giá trị 'Default'
thời gian của char được chi phối bởi _div_tem_car_
hỗ trợ \kt khi parse

Code:
gerposinf(_kar_aln_scr_)
trả về cặp giá trị (v, h) tương ứng với alignment, dùng để tính position
_kar_aln_scr_: alignment

Code:
gerkarpos(_dad_kar_lis_, _dad_sty_lis_, _nom_fon_win_, _adj_scx_fon_, _kar_pos_pre_)
tính toán tọa độ và trả về karainfo
karainfo giống như karainfo trả về bởi parsekaraoke(), chỉ thêm vào key 'Positioning' vào các dict LineInfo, các dict syl và các dict char
Position trả dict có các key sau:
LineInfo: lwidth, lheight, lleft, lcenter, lright, ltop, lmiddle, lbottom
Syl: swidth, sheight, sleft, scenter, sright, stop, smiddle, sbottom
Char: cwidth, cheight, cleft, ccenter, cright, ctop, cmiddle, cbottom
_dad_kar_lis_: karainfo trả về bởi parsekaraoke()
_dad_sty_lis_: styleinfo trả về bởi parsestyles()
_nom_fon_win_: tên font
_adj_scx_fon_: chỉnh lại đổ lớn của font nhằm khắc phục sai lệch do tính toán độ lớn text của PIL và VSFilter / libass khác nhau
_kar_pos_pre_: mức độ làm tròn số của position

Code:
parassscr(_nom_ass_scr_, _kar_spa_del_, _div_tem_car_)
tổng hớp các function trên (trừ tính position)
trả về karaokeinfo, styleinfo
các biến sau được ghi trong __builtin__ để gọi trực tiếp từ script karaoke:
__builtin__.PlayResX, __builtin__.PlayResY
__builtin__._lis_cab_scr_: list các line script info
__builtin__._lis_lin_scr_: list các line karaoke, gồm 3 list, hiện tại chỉ dùng list đầu, 2 list sau có thể dùng để tạo file avs nếu cần

Code:
gerlintex(_lis_lin_tex_)
tạo linetext
_lis_lin_tex_: list có dạng [tags, text, tags, text, ...]

Code:
germargin(_var_mar_scr_)
chuyển margin ra chuỗi dể ghi vào file ass
_var_mar_scr_: margin

Code:
gerasseve(fmt = 'Dialogue', lay = 0, sta = 0, end = 0, sty = 'Default', nom = '', mgl = 0, mgr = 0, mgv = 0, eff = '', tex = '', ger = True, scr = 0)
tạo line và thêm vào __builtin__._lis_lin_scr_[scr]
Code:
gerdadlin(_dad_lin_lis_)
trả về các biến line, xem list các biến
_dad_lin_lis_: dict info của line

Code:
gerdadsil(_dad_lin_lis_, _lin_sil_ind_)
trả về các biến syl, xem list các biến
_dad_lin_lis_: dict info của line
_lin_sil_ind_: syl index

Code:
gerdadcar(_dad_lin_lis_, _lin_car_ind_)
trả về các biến char, xem list các biến
_dad_lin_lis_: dict info của line
_lin_car_ind_: char index

Code:
gerdadsty(style, styleinfo)
trả về các biến của style
style: tên style
styleinfo: biến trả về bởi parsestyles()

Code:
gerassscr(_nom_otp_scr_, _ger_cab_scr_, _lis_eve_ide_ = 0)
tạo file
_nom_otp_scr_: dường dẫn file output
_ger_cab_scr_: true: tạo ass script info, false: skip
_lis_eve_ide_: index của 1 trong 3 list các line của __builtin__._lis_lin_scr_

trong pyfx_base.py còn các function tạo tag và tạo vector drawing

___________________________________

"Anime makes you stupid. Watching anime makes you stupid, fansubbing anime too, but apparently professionally working with anime makes you the most stupid. Funimation is the proof of this theory." [
To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.
]
lulz
50119's Inventory

50119 is offline   Trả Lời Với Trích Dẫn
  #3 Old 10-08-2009, 10:46 PM
Member
Member
 
50119's Avatar
 
Tham gia ngày: 02-01-08
Tuổi: 18
Bài gởi: 412
Thanks: 74
Thanked 95 Times in 63 Posts
Loli Points: 468.85
Gửi tin nhắn qua Yahoo chát tới 50119
list các biến, được ghi vào __builtin__ để gọi thẳng từ script karaoke:

gerdadlin() variables:
lin_tex_scr = Line Text
lin_tex_str = Line text Stripped
lin_lay_scr = Line Layer
lin_sta_scr = Line Start
lin_end_scr = Line End
lin_dur_scr = Line Duration
lin_sty_scr = Line Style
lin_nom_scr = Line Name
lin_mgl_scr = Line MarginL
lin_mgr_scr = Line MarginR
lin_mgv_scr = Line MarginV
lin_eff_scr = Line Effect

lin_lar_atu = Line Width (Floating Point)
lin_alt_atu = Line Height (Floating Point)
lin_col_ini = Line Left (Floating Point)
lin_col_mid = Line Center (Floating Point)
lin_col_fin = Line Right (Floating Point)
lin_lin_ini = Line Top (Floating Point)
lin_lin_mid = Line Middle (Floating Point)
lin_lin_fin = Line Bottom (Floating Point)

lin_qua_sil = Number Of Syllables In Line
lin_qua_car = Number Of Characters In Line


gerdadsil() variables:
sil_tex_str = Syl Text
sil_tem_ini = Syl Start
sil_tem_fin = Syl End
sil_ifx_scr = Syl In-Line Effect (default: 'Default')
sil_dur_scr = Syl Duration
sil_lin_ind = Syl Index

sil_lar_atu = Syl Width (Floating Point)
sil_alt_atu = Syl Height (Floating Point)
sil_col_ini = Syl Left (Floating Point)
sil_col_mid = Syl Center (Floating Point)
sil_col_fin = Syl Right (Floating Point)
sil_lin_ini = Syl Top (Floating Point)
sil_lin_mid = Syl Middle (Floating Point)
sil_lin_fin = Syl Bottom (Floating Point)


gerdadcar() variables:
car_tex_scr = Character Text
car_tem_ini = Character Start (Controlled By GerDivLet)
car_tem_fin = Character End (Controlled By GerDivLet)
car_dur_scr = Character Duration (Controlled By GerDivLet)
car_sil_ind = Character Index (Syl)
car_lin_ind = Character Index (Line)

car_lar_atu = Character Width (Floating Point)
car_alt_atu = Character Height (Floating Point)
car_col_ini = Character Left (Floating Point)
car_col_mid = Character Center (Floating Point)
car_col_fin = Character Right (Floating Point)
car_lin_ini = Character Top (Floating Point)
car_lin_mid = Character Middle (Floating Point)
car_lin_fin = Character Bottom (Floating Point)

sil_lar_atu = Syl Width (Floating Point)
sil_alt_atu = Syl Height (Floating Point)
sil_col_ini = Syl Left (Floating Point)
sil_col_mid = Syl Center (Floating Point)
sil_col_fin = Syl Right (Floating Point)
sil_lin_ini = Syl Top (Floating Point)
sil_lin_mid = Syl Middle (Floating Point)
sil_lin_fin = Syl Bottom (Floating Point)

___________________________________

"Anime makes you stupid. Watching anime makes you stupid, fansubbing anime too, but apparently professionally working with anime makes you the most stupid. Funimation is the proof of this theory." [
To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.
]
lulz
50119's Inventory

50119 is offline   Trả Lời Với Trích Dẫn
  #4 Old 03-09-2009, 07:34 PM
Member
Member
 
50119's Avatar
 
Tham gia ngày: 02-01-08
Tuổi: 18
Bài gởi: 412
Thanks: 74
Thanked 95 Times in 63 Posts
Loli Points: 468.85
Gửi tin nhắn qua Yahoo chát tới 50119
[Only registered and activated users can see links. ]
[Only registered and activated users can see links. ]

___________________________________

"Anime makes you stupid. Watching anime makes you stupid, fansubbing anime too, but apparently professionally working with anime makes you the most stupid. Funimation is the proof of this theory." [
To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.
]
lulz
50119's Inventory

50119 is offline   Trả Lời Với Trích Dẫn
  #5 Old 30-03-2012, 03:05 PM
Member
 
Tham gia ngày: 30-03-12
Bài gởi: 2
Thanks: 0
Thanked 0 Times in 0 Posts
Loli Points: 2.24
bạn có thể làm cái hướng dẫn cơ bản và giải thích giống cái SSA Pawaa xD~ đc kg, mình là newbie, đang muốn học về cái này

F-G-E-N's Inventory

F-G-E-N is offline   Trả Lời Với Trích Dẫn
  #6 Old 30-03-2012, 06:01 PM
Founder of 4L fansub
Moderator
 
delacroix01's Avatar
 
Tham gia ngày: 02-01-08
Đến từ: Yzarc
Bài gởi: 4,680
Thanks: 347
Thanked 799 Times in 320 Posts
Loli Points: 53,614.90
50119 MIA lâu rồi nên e là ở đây ko có ai giúp được đâu

___________________________________


To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.
delacroix01's Inventory

delacroix01 is offline   Trả Lời Với Trích Dẫn
  #7 Old 30-03-2012, 08:21 PM
Member
 
Tham gia ngày: 30-03-12
Bài gởi: 2
Thanks: 0
Thanked 0 Times in 0 Posts
Loli Points: 2.24
Trích:
Nguyên văn bởi delacroix01 View Post
50119 MIA lâu rồi nên e là ở đây ko có ai giúp được đâu
bạn có yahoo của 50119 kg cho mình đi, mình pm hỏi trực tiếp vậy

F-G-E-N's Inventory

F-G-E-N is offline   Trả Lời Với Trích Dẫn
  #8 Old 30-03-2012, 09:46 PM
Founder of 4L fansub
Moderator
 
delacroix01's Avatar
 
Tham gia ngày: 02-01-08
Đến từ: Yzarc
Bài gởi: 4,680
Thanks: 347
Thanked 799 Times in 320 Posts
Loli Points: 53,614.90
Tớ PM 50119 rồi đấy. Nếu còn xài yahoo thì cậu ta sẽ vô, còn ko thì

___________________________________


To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.
delacroix01's Inventory

delacroix01 is offline   Trả Lời Với Trích Dẫn
  #9 Old 28-04-2012, 01:10 AM
Member
Member
 
50119's Avatar
 
Tham gia ngày: 02-01-08
Tuổi: 18
Bài gởi: 412
Thanks: 74
Thanked 95 Times in 63 Posts
Loli Points: 468.85
Gửi tin nhắn qua Yahoo chát tới 50119
lol MIA
cái này dành cho những ai biết chút ít về cách viết effect rồi thôi chứ học từ đầu thì hơi nản, cậu học cách xài mấy cái templater trong aegisub đi dễ hơn mà hiệu quả nữa, cái này để hardcore effector ngồi vọc chơi cho vui thôi chứ người coi fansub của cậu không appreciate cái này cho lắm

anyway, [Only registered and activated users can see links. ]

___________________________________

"Anime makes you stupid. Watching anime makes you stupid, fansubbing anime too, but apparently professionally working with anime makes you the most stupid. Funimation is the proof of this theory." [
To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.
]
lulz
50119's Inventory

50119 is offline   Trả Lời Với Trích Dẫn
Trả lời
Ðiều Chỉnh
Xếp Bài

Quyền Hạn Của Bạn
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is Mở
Smilies đang Mở
[IMG] đang Mở
HTML đang Tắt
Trackbacks are Tắt
Pingbacks are Tắt
Refbacks are Tắt



Múi giờ GMT. Hiện tại là 06:41 PM.
Designed by: vBSkinworks

Powered by: vBulletin v3.8.2 Copyright ©2000-2012, Jelsoft Enterprises Ltd.
vBCommerce I v2.0.0 Gold ©2010, PixelFX Studios
vBCredits v1.4 Copyright ©2007 - 2008, PixelFX Studios
Sickos Alliance all right reserved 2008