Skip to content

KTV字幕特色

核心設計:正統經典 KTV 雙行/單行 歌詞演出設計

雙行字幕演出

採用KTV字幕正統經典設計,採用自動化切換下一句。 不需要手動指定每一句的切換時間,所以整體體驗會很有一致性。

演出設計是: 當唱到第二行的第2個字時,就會將第一行切換到下下句。 當第二行最後一個字唱完時,就隨即將第二行接換到下下句。 比照揚聲伴唱帶的經典設計。

當唱到第二行,已經是進入間奏前或已經是結尾時,就保留第一行,然後第二行演唱完以後,就雙行一起淡出消失。 若唱到第二行,下一句即是需要單行顯示的第三句時,比照上述方式:保留第一行,然後第二行演唱完以後,直接切換到第三句。

特殊第三句、單行處理

本系統有特別針對特殊第三句的單行顯示處理,會在第二排的位置以置中演出顯示。 「第三句」的定義:

  • 主要是:當進入間奏或歌曲結束前,剛好落在雙行歌詞中的第一行時,直接當作第三句看待。
  • 若歌詞開始到進入間奏前,就只有唯一一句,就直接當第三句看待。
  • 可以手動插入標記,直接強制將該句定義成第三句。

歌曲標題資訊顯示

智慧調整歌曲標題資訊的顯示時機

基本上會在歌曲開始時顯示。 會自動避開歌曲開始即是歌詞的時間,會延到在下一個無歌詞的間奏時顯示 若1分鐘內都沒有間奏,代表整首歌已經進入核心副歌了,那直接走下述「與歌詞重疊」方式處理。 可以手動指定顯示的時機。如果手動指定的時間剛好和雙行歌詞重疊時,會走下述「與歌詞重疊」方式處理。

與歌詞重疊的標題資訊版面顯示

主要是針對整首歌都是歌詞,幾乎沒有間奏的情況設計。 這時歌曲標題和資訊會直接以有雙行歌詞的情況下特殊排版顯示: 歌曲標題和資訊都會上移到雙行歌詞的空間之上,保證不影響雙行歌詞的顯示。 (但是此情況,能顯示的篇幅會大幅變小,所以KTV歌詞製作時需要把這情況考慮進去)

歌詞開始前的倒數小白圓設計

這段歌詞開始前5.5秒會提前把整組雙行歌詞淡入顯示,同時也會顯示四個倒數小白圓,然後每隔一秒會消失一個小白圓,提示這段歌詞即將開始。

若可以提前出現的時間已經不足5.5秒

此情況通常會發生在:歌曲開始即是歌詞的情況,或是手動強制指定該句為新的歌詞段落時。 會計算剩餘的時間可顯示的倒數小白圓數量,隨著雙行歌詞淡入演出時一起顯示,然後再繼續倒數消失。

若歌詞段落第一句就是第三句單行顯示

會在第二排位置的上方置中,以正確的位置顯示。

多人對唱設計

以5顏色主顏色設計,兼顧男女對唱、同性雙人對唱、多人對唱、旁白副歌等用途。 基本上建議以"整句"來定義要使用的主色,但支援定義在"字元"上面。(但當定義在字元時,是以ELRC A2形式在歌詞本文插入,部份播放器可能會有相容性問題) 支援單句內混合多人交錯對唱

目前有針對以下情境設計:

  • 單人主唱,但會有旁白歌詞:針對多出來的旁白額外特殊定義該句或該字的顏色(通常是灰色),回到主唱者時再定義從該句或該字開始回歸預設顏色。
  • 正式的多人主唱(男女對唱、多人對唱):明確定義要採用藍色或紅色,也可以使用代表第三人的紫色或第四人的橘色。

畫面排版設計

本設計核心是以ASS字幕檔輸出,可掛進一般的影片播放軟體,可使用MV影片當作外掛字幕用。 整體設計是以1920x1080畫面為前提設計,但是有針對不同尺寸做對應的縮放。

有考慮到16:9與4:3尺寸設計,甚至是遇到特殊尺寸也能對應處理:

  • 16:9 為標準設計,已經在考慮歌詞文字與整體畫面的版面比,抓到合適的平衡,會以能顯示15個中文字元為主。
  • 4:3 也有最佳化設計,基本上會以原可容納15個中文字元為原則。
  • 特殊尺寸:若高度小於16:9,那歌詞與畫面佔比很可能會失衡,此時整體字幕會依照情況等比例縮小。

一行歌詞基本上可以顯示15個中文字元(有混合英文或其他語言的話,能容納的字入會因為最終採用的字體而異,但我已經把幾個常用字體都測試過並做好不同字體的offset補正設計,基本上都以15個中文字為原則)

我會在編輯程式中,針對超過15個字元以醒目的紅色字標記來提醒歌詞製作者(但因為兼顧可能會有不同字體而產生的差異,所以只會提醒,不會在編輯器強制禁止超出15字)

因為字幕核心輸出檔就是ASS檔,本身只能處理向量圖,所以編輯程式只會開放使用SVG圖檔。

動態顯示邏輯

  • 前奏:在開頭歌曲資訊顯示時跟著顯示,並與之一同淡出。
  • 間奏:在前一段雙行歌詞完全淡出後,等待 INTRO_DELAY_BUFFER_TIME 的時間接著淡入;並確保在下一段歌詞發端前的 INTRO_DELAY_BUFFER_TIME 完全淡出。
  • 間奏時間門檻:加入了時間偵測判定,若兩段歌詞段落實際開始/結束之間的間奏低於 9 秒,就會跳過不顯示 Logo,避免畫面干擾。
  • 尾奏與結束:當最後一段歌詞結束並進入尾奏後會再淡入顯示,接著在整首歌時間結束(Duration)前的最後 1 秒鐘順暢淡出。

Logo 最大縮放尺寸

將預設的 450x300px 提取為設定項常數,並於「測試參數」選單中新增 Logo 最大寬度 (px) 與 Logo 最大高度 (px) 數值輸入框,便於您進行各種尺寸的密集微調,系統會自動在該限制範圍內等比例縮放 SVG 向量。

間奏顯示門檻

將兩段歌詞段落之間的 9 秒間奏判斷門檻整理為常數(預設值為 9.0),小於此門檻的短間奏將不會顯示 Logo,以避免版面擁擠。

本專案採用 GNU AGPL v3 授權