Calendar

四月 2012
M T W T F S S
« Mar   Jun »
 1
2345678
9101112131415
16171819202122
23242526272829
30  

Categories

AegiSub 調整字幕時間軸功能簡介

因為會做字幕調整來掛 RAW 的人很有限,所以不得不特別寫一篇最基本的教學。
會寫這東西就代表我真的已經沒什麼時間自己調字幕了,所以有興趣自己來的就學一下吧。
說實話,很多 80 ~ 90 年代的舊番字幕實在糟到慘不忍睹,看不下去又有熱情的可以自己動手來。

首先當然就是用 AegiSub 載入字幕檔了。
載入之後,一般來說你可以直接載入音軌。
照下圖拉下 Audio 選單,選擇 Open Audio File 後再去開啟影片檔就行了:

當然如果影片檔是 MKV,你會沒辦法立即看見那個影片檔。
但也不用太擔心,把篩選條件換成「All files (*.*)」就可以了:

雖然你也可以選 Video Formats 那一項,不過最好養成去選 All files 那項的習慣,否則將來遇到特殊狀況會操作得很不順手。
如果你是喜歡先載入影片才載入音軌,那先使用 Video 選單的 Open Video 功能去開啟影片,再使用 Audio 選單的 Open Audio from Video 功能即可。
載入影片的目的,是方便你以肉眼確認字幕的出現和消失時機是否完美,特別是用在沒有語音的動畫主標題翻譯、紙條或手機上的文字翻譯、路上告示牌的翻譯等等。

載入音軌以後,首先要認識的是聲波圖和字幕的對應關係,以及右邊的三個滑動桿:

當你處理到劇場版動畫的時候,你會需要在剛開啟音軌時做水平放大,否則你的時間軸精確度會較差。
因為圖都擠在一起,你比較難精確看出對話的起點和終點。
除此之外,遇到一些音軌的音量偏低時,你也需要做垂直放大,方便你更明顯地觀察到聲波的起伏。
但儘管你做了垂直放大,試播時放出來的聲音還是不變的,因此你還需要調整最右方的音量控制桿,以免聽不見太細微的聲音。
當然,如果你真的想要更精確地觀察對話的起點和終點,你也可以切換到頻譜圖去:

雖然我個人不是偏好用這種模式來調整時間軸,但其實有不少人習慣使用這模式來調整時間軸。
如果是用這模式再校正一次字幕的話,你的時間軸會準到嚇人。
因為有一些外語的氣音並不是相當明顯,聲波圖上看不到什麼起伏,耳朵也不見得能明顯聽見。
然而若字幕的節奏因此失準的話,表現出來其實會有一些不自然,但只有常聽的該國語言的人察覺得到。

調整字幕最常用到的就是平移時間軸工具:

這工具的用法應該不用我多說,除非你有極其嚴重的英語障礙。
但這也沒關係,View 選單下有個 Language 功能可以讓你把語系切換到 Chinese。
如果連中文都看不懂,那我也沒輒了。
在這裡我要特別提醒的是,右邊的 History 請時常按下 Clear 按鈕做清理。
否則當它累積到一個程度的時候,你叫出這工具的時間會長到非常不可思議。

如果整部動畫的時間軸都有問題,不是光靠平移就能解決,那麼就需要進行相當浩大的工程,也就是把整個時間軸重對。
為了進行這項工程,首先要先瞭解單句的處理方法。
操作方法相當單純,就是滑鼠左鍵、滑鼠右鍵,以及鍵盤上的 G 鍵:

當你按下 G 後,根據 AegiSub 的預設值,會自動跳向下一句讓你繼續處理。
因此你的左手完全不需要離開左手打字區域,你的右手也完全不需要離開滑鼠,你的滑鼠游標也不需要時常離開聲波圖區。

當然,也不是這樣用眼睛看就能知道哪段對話是屬於哪一列的字幕,所以你需要播放圖上一小段範圍來試聽。
AegiSub 將相關的熱鍵設計在左手打字區上半部的幾個鍵上,所以這不會成為太大的額外負擔。
Q、E、D、W 的播放範圍是 500ms,也就是 0.5 秒,S 則是播放你選取起來的整段內容:

當你確認自己的選取範圍無誤後,按下 G 就可以處理下一句對話了。
這個方法也適用於製軸工作上,當你拿到一個只有譯文的 TXT 檔時,你可以直接將它讀進 AegiSub。
雖然每一列字幕的起始/結束時間一開始都是 0,但每當你按 G 確認完一列字幕並跳向下一列時,新的這列字幕的起始點會緊接在你剛完成的那列字幕之後。
所以你不需要擔心每對好一列字幕要處理新的一列時,都必須從 0 秒那邊拉捲軸拉到現在的位置上,不會有這種問題。

就算有了聲波圖和頻譜圖,在你想處理場景轉換發生在句首或句尾的狀況時,還是會遇上一些小麻煩。
因為可能會發生場景還沒轉換,字幕就先出來的狀況;或是發生字幕還沒消失,場景就已經轉換了的狀況。
此外,有時你處理短句,會希望將字幕的顯示時間延長一些,避免字幕只是閃一下就消失,也會遇到同樣的問題。
在理想情況下,你必須先瞭解導演想表達的意境,決定是否要讓字幕延遲出現,或是提早收尾。
但是如果你的工作只是把時間軸處理個大概,之後會有專人試看,並提報問題讓你再做修正的話,那就不必這麼辛苦。
場景轉換,意思就是畫面有大幅變動;而畫面有大幅變動,就代表那邊會出現所謂的 keyframe。
如果你不單是載入聲音,還有載入影像的話,你會在聲波圖上看到很多粉紅色的直線,而那些直線就是 keyframe 的位置:

如果你完全沒空或不想去瞭解導演想表達的意境,你大可讓字幕的顯示時間不要跨越那條粉紅色直線。
當然,若一段對話中有好幾條粉紅色直線,那可能是回憶走馬燈搭配角色口述之類的狀況,這樣的話完全照聲波對上就行了。
有時候,完全無視 keyframe,照著聲波對應是最好的。
比方說有一名角色開啟回憶模式,向眾人述說往事時,可能在回憶模式的末尾將回憶畫面繼續播放,其他角色會在此時先開始他的評語。
這種狀況下,意境的呈現就是要讓聲音提早出來,因此字幕也應該提前出來。
另外,在實務上,場景的轉換常需搭配 fade in 和 fade out 的特效,這可以讓表現變得更圓滑,但要衡量一下自己有多少時間能耗在這上面。
這段提到的步驟其實算是時間軸的精製,如果你不是在一個團隊裡,太在意這東西的話真的會做死你。


以下是一些其它補充:

萬用音軌載入法
有些影片的音軌 bitdepth 是 24-bit 的,用 AegiSub 載入會看到這樣的錯誤訊息:

如果你曾經按照K-Lite Mega Codec Pack 安裝及設定這篇教學安裝過相關的音訊解碼器,你的電腦應該是可以正常播放各種常見的音軌。
這裡教的方法,只要你系統內建的 Windows Media Player 能正常播放那個音軌,那麼你的 AegiSub 就必定可以載入它。

首先請到這裡下載 AviSynth 2.5.8 並安裝:http://sourceforge.net/projects/avisynth2/files/AviSynth%202.5/
平時有在使用 MeGUI 這類工具做壓製的,你的系統上應該已經裝過它,所以不需要再裝一次。
安裝完成後,你有兩種方式可以選擇。

方法一 (舊方法):
先利用檔案總管的右鍵選單新增一個 AviSynth Script 檔:

這是一個純文字檔,你可以用任何編輯器開啟它,直接點開的話是叫出系統的記事本來編輯。
至於內容,只需要放上簡單的一行即可:

DirectShowSource("檔案完整路徑", audio=true)

譬如:

DirectShowSource("T:\Work\KissXSis\Yousei\[Yousei-raws] KissXSis 01 [BDrip 1920x1080 x264 FLAC].mkv", audio=true)

請注意副檔名也是需要打進去的。

最後,你只要讓 AegiSub 載入這個 AVS 檔就可以了。
還記得一開始我曾經說過最好習慣把篩選條件設成「All files (*.*)」嗎?原因就在這裡。
AVS 檔只有將篩選條件選成「All files (*.*)」的時候才看得到。
如果你習慣選 Video Formats 那項,這就可能會因為和平時習慣不同,而降低了你的工作效率。

方法二 (較方便):
從 View → Options 進入以下設定畫面,並照圖將 Audio Provider 從 ffmpegsource 改為 avisynth:

這個方法和方法一沒有太大差別,但往後讀取音軌若遇到任何問題,請記得把選項改回來。
當然在將選項改回之前,也可以再確認一次系統的解碼環境 (如 K-Lite Codec Pack) 是否有安裝和設定妥當。

在誤點了某個按鈕後造成 AegiSub 的工作方式變得很不方便
AegiSub 的音軌處理面板上,有三個按鈕是根據你的工作種類、習慣不同可以快速切換的:

當按鈕呈現紅底色時,表示它是關閉狀態,綠色則是開啟狀態。
由左到右分別是:
1. 自動將你的任何變更 commit (預設關閉)
2. 當你處理完一列字幕並按下 commit 後,會自動跳到下一列字幕 (預設開啟)
3. 當你選取某一列字幕時,上方的聲波圖會自動捲動到對應的位置上 (預設開啟)
如果你不小心改變了這些設定,覺得很不習慣,可以把它還原成預設值。

一般來說不管你怎麼在聲波圖上亂改起點及終點,只要你沒按下 commit 按鈕或鍵盤的 G 鍵,你一切換到其它列的字幕去,所做的一切變更就會被取消。
開啟 1. 這功能的話,你對那一列字幕所做的任何改變都會馬上被保存起來 (但不是存檔)。
通常在處理時間軸的時候,因為需要做一些試聽動作,可能會因此任意改動起點及終點,所以開啟 1. 這功能會變得很麻煩。
但如果是在潤稿、修錯字等工作時,你會希望改完字不用按 commit 就能馬上被自動保存,這時開啟它又會比較方便。

如何快速計算時間軸偏移量來做平移
SSA 和 ASS 的時間格式是 [時:分:秒.百分之一秒]。
通常需要比較累人的減法 (四位數減法),是在秒及百分之一秒的欄位上。
因為最右邊是 100 進位,所以你可以將這兩欄併成一組數字來看。
譬如你想以某列字幕當平移量的參考,而這列的字幕開始時間是 0:00:08.33,你想平移到 0:00:06.39 這個位置上,
那麼你要做的減法就是 833 – 639 = 194,也就是往回移動 1.94 秒,因此偏移值是 0:00:01.94。

如果真的不幸發生分鐘以上的差異,也不需要緊張,只是要切成兩段計算。
假設你想從 0:23:15.49 平移到 0:22.13.32,那麼你一樣先做 1549 – 1332 = 217。
確定最後兩欄應該填入 02.17 後,你再做分鐘的部分,也就是 23 – 22 = 1,因此可以知道偏移值是 0:01:02.17。

更麻煩一點的就是需要借位的狀況。
某些壓製組會把 OP 或 ED 刪掉,當你需要對這類動畫調整字幕時,這個狀況就可能發生。
譬如你想從 0:23:15.49 平移到 0:22:36.18,這時直接做 1549 – 3618 是不夠減的。
因此需要從分鐘那邊借位過來,使 15 秒變成 15 + 60 = 75 秒,改用 7549 – 3618 = 3931,因此可以決定後面兩欄是 39.31。
而分鐘的部分,因為有借位,所以 23 – 22 – 1 = 0,不需要改動,因此偏移值是 0:00:39.31。

至於如何確定你應該平移到哪個時間點,有些人會利用滑鼠游標來確認。
因為當滑鼠游標經過波形圖時,會出現一條白色直線並標記它的時間位置:

這個方法沒有問題,可以很簡單地定位出你的目標,但其實還是不夠方便。
因為你通常會透過改變字幕的起點及終點,藉由試聽來確認哪一段聲音是對應現在這列字幕的。
換句話說,當你找到字幕的對應位置時,你已經將對應的起點或終點移動了過去。
你實在沒有必要為了確定位置,再讓那條白線去對準起點的紅線,或是終點的橘線。

假設你是以字幕的起點來當成平移值計算的參考基準。
那麼當你透過滑鼠左鍵找到對應的起點時,聲波圖下方的 Start time 文字方塊內的時間也會出現相應變化 (變更過但尚未 commit 的話,底色會是紫色,未變更過則是白色)。
因此所以你只要直接拿那個紫色底色的時間,和那列字幕上舊的時間做相減就可以了: