2026年6月12日 星期五

嘗試以AntiGravity CLI神器,以機器學習為議題,協助生成RAP搭配J-POP背景曲調

 情境:因網友Akira的創作的神曲,自己也想嘗試看看,是否可以達到類似效果?筆者筆電規格ASUS Vivobook S 14 OLED (S5406M) 這款筆電沒有配備「16G 以上的獨立顯示卡」硬體規格應該是 Intel® Arc™ Graphics 整合式顯示晶片(非獨立顯示卡),單純想測試免費資源可以到何種程度?

注意事項:請不要被下面多個步驟,給嚇到,因為AntiGravity CLI神器,會STEP BY STEP協助操作,發生問題或不符合您的想法需求時,隨時可介入與它討論修正,完全無需照下面操作步驟,唯一要留意的就是筆電規格不要是舊筆電,要適用AI處理,記憶體RAM最好需有16G。

💜步驟一(RAP素材來源生成): 在AntiGravity CLI ,下達PROMPT ,請協助將下列 機器學習 ,打造成適合 日文版RAP 

決策樹 (Decision Tree)

隨機森林 (Random Forest)

極度隨機樹 (Extra Trees)

梯度提升樹 (GBDT - Gradient Boosting Decision Tree)

XGBoost (eXtreme Gradient Boosting)

LightGBM

CatBoost

孤立森林 (Isolation Forest)

💜步驟二: 

  1. 安裝 Python 與必要套件:

  在 PowerShell 中安裝  openai-whisper  及音訊處理套件(需安裝 CUDA 以啟用顯卡加速):

    pip install openai-whisper requests srt tqdm

  2. 安裝 FFmpeg(影片/音訊處理核心工具):

  確保您的 Windows 系統中已安裝  ffmpeg ,並已加入系統環境變數(PATH)中。

  ──────

  ### STEP 1:擷取影片音軌並使用 Whisper 辨識中文歌詞與時間軸

  我們首先需要取得原始日文歌詞(如:步驟一)與精確的時間軸(SRT 格式)。

  1. 執行 Python 腳本進行語音辨識:

  建立一個  transcribe.py ,寫入以下內容並執行:

    import whisper

    from whisper.utils import get_writer

   # 載入頂級 Large 模型,會自動使用您的 GPU VRAM

    model = whisper.load_model("large-v3", device="cuda")

    # 進行語音辨識(指定中文,並輸出時間軸)

    result = model.transcribe("your_video.mp4", language="zh", word_timestamps=True)

    # 輸出為標準 SRT 字幕檔

    writer = get_writer("srt", ".")

    writer(result, "original_zh.srt", {})

    print("中文 SRT 字幕產製完成!")

  這會產生一個 original_zh.srt 檔案。

  ──────

  ### STEP 2:使用 Gemini 進行「信、雅、達」的日文翻譯

  歌詞翻譯不能只靠機器死譯,需要融入日文的歌词韻律與語境。Gemini 非常擅長這類文學性翻譯( Gemini 回傳的結果為  translated_ja.srt )。

💜步驟三: 

#### 使用 Edge-TTS(極速且完全免費,聲音極度自然)

  如果您想快速產出極其自然且不用耗費顯卡資源的語音,可以使用微軟的 Edge TTS:

  1. 安裝: pip install edge-tts

  2. 執行指令直接將日文字幕轉成日文語音檔(例如使用日語女聲  ja-JP-NanamiNeural ):

    edge-tts --voice ja-JP-NanamiNeural --text "日文字幕文字" --write-media ja_audio.mp3

  如果您想快速產出極其自然且不用耗費顯卡資源的語音,可以使用微軟的 Edge TTS:

  1. 安裝: pip install edge-tts

  2. 執行指令直接將日文字幕轉成日文語音檔(例如使用日語女聲  ja-JP-NanamiNeural ):

    edge-tts --voice ja-JP-NanamiNeural --text "日文字幕文字" --write-media ja_audio.mp3

  ### 接續處理下面處理所需資源:使用 FFmpeg 重新壓製日文版影片

  有了  translated_ja.srt (日文字幕)和  ja_audio.mp3 (日文配音/或保留原曲只上字幕),我們就可以合成了。

  • 情境一:保留原中文字幕/中文歌,僅「內嵌日文字幕」(雙語或單日語):

    ffmpeg -i your_video.mp4 -vf "subtitles=translated_ja.srt" output_ja_sub.mp4

  • 情境二:更換成日文配音(靜音原音軌,換上日文配音)並壓入日文字幕:

    ffmpeg -i your_video.mp4 -i ja_audio.mp3 -map 0:v -map 1:a -c:v libx264 -c:a aac -vf "subtitles=translated_ja.srt" -shortest

  output_japanese_version.mp4

  ### 📋 您目前可以先做的是:

  如果您有影片的音訊或影片檔在本機,您可以先將影片路徑告訴我,我可以直接為您寫出完整的 Python 自動化處理指令碼,幫您在本機一鍵完成

  「提取音軌 -> 調用 Whisper 識別 -> 生成中文 SRT」 的前置步驟!

───────────────────────────────────────────────────────────

  ### 🧪 快速測試:如何在本機生成日文語音檔

  • 安裝狀態:成功安裝  edge-tts-7.2.8  與依賴項  tabulate-0.10.0 。

  您可以直接在終端機(PowerShell)執行以下指令,測試其生成日文語音的效果(它會自動下載微軟的 Edge 語音模型進行合成):

 edge-tts --voice ja-JP-NanamiNeural --text "こんにちは、これはエッジTTSのテストです。" --write-media test_ja.mp3

  這會在您執行指令的目錄下產出  test_ja.mp3  音訊檔,您可以直接撥放聽聽看,Nanami 的聲音非常自然流暢!

💜步驟四: 

本地端配置 StyleTTS2 歌唱風格模型需要較複雜的 PyTorch 與編譯環境(需下載數 GB 的 Model weights),

  如果您有足夠的耐心,且希望在本地端建立這套可完全程式化控制的 StyleTTS2 歌聲/RAP 生成環境,我們可以逐步在您的電腦上將其架設起來。

  由於您的顯卡擁有 16G VRAM(筆者之筆電沒有但仍可運行),運行 StyleTTS2 速度會非常快(幾乎是即時生成)。

  為了在本地成功跑起來,以下是我們需要依序安裝的四大模塊:

  1. CUDA 運算環境與 PyTorch(GPU 加速核心)

  2. StyleTTS2 專案與依賴庫(包含 C++ 編譯器、Mish-Cuda 等)

  3. 日文 G2P 模組(將日文漢字/假名轉為音素 Phonemes,例如 OpenJTalk)

  4. 下載預訓練日文模型(Model Weights)與風格參考音訊(Style Reference)


💜步驟五: 

  ### 接續處理下面處理所需資源:安裝 Visual Studio C++ 工具(編譯 C++ 依賴項所需)

  許多 PyTorch 的音訊優化庫(如  monotonic_align )在 Windows 下需要 C++ 編譯器。

  • 請下載並安裝 Visual Studio Community 2022 https://visualstudio.microsoft.com/zh-hant/vs/。

  • 在安裝安裝包時,務必勾選「使用 C++ 的桌面開發」(Desktop development with C++),然後完成安裝。

  ### 接續處理下面處理所需資源::安裝 CUDA Toolkit(若尚未安裝)

  1. 請至 NVIDIA 官網下載並安裝 CUDA Toolkit 11.8 或 12.1。

  2. 安裝完成後,打開 PowerShell 輸入  nvcc -V  確保系統能正確識別顯卡驅動與 CUDA。

  ### 接續處理下面處理所需資源:建立獨立的 Python 虛擬環境並安裝 PyTorch

  為了防止與您現有的 Node.js 專案或其他 Python 庫衝突,我們使用  conda  或  venv  建立一個乾淨的 Python 3.10 環境。

  請在您想要安裝的目錄下開啟 PowerShell:

    # 建立名為 styletts2 的虛擬環境

    python -m venv styletts2_env

    # 啟用環境

    .\styletts2_env\Scripts\Activate.ps1

    # 安裝支援 GPU (CUDA 12.1) 的 PyTorch

    pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121

  ### 接續處理下面處理所需資源::下載 StyleTTS2 原始碼與建置

  1. 複製官方專案庫:

    git clone https://github.com/yl4579/StyleTTS2.git

    cd StyleTTS2

  2. 安裝 Python 依賴庫:

    pip install -r requirements.txt

  3. 編譯  monotonic_align (這是決定發音對齊與說唱節奏的關鍵模組):

    cd monotonic_align

    python setup.py build_ext --inplace

    cd ..

  ###接續處理下面處理所需資源::配置日文音素器 (OpenJTalk)

  日文的 StyleTTS2 需要將假名與漢字轉為音標,否則無法發音。

    pip install pyopenjtalk

  ### 接下來:下載日文預訓練模型

  當上面的編譯與安裝成功後,我們就需要下載專門針對日文優化(且能模擬歌唱)的 StyleTTS2 日文檢查點模型檔案 (Checkpoint)。  這部分的下載檔案大小約為 1.5 GB ~ 3 GB。

💜步驟六: 

因為我們在本地端要實現「有唱腔、有節奏(FLOW)」的 RAP 語音,需要下載專門針對日文優化(且能模擬情緒與歌曲起伏)的權重檔案。

  ──────

  ###接續處理下面處理所需資源:下載日文預訓練模型 (Model Weights)

  我們將下載開源社群釋出、效果極佳的日文預訓練模型。此步驟會下載兩個主要檔案(放置於優化目錄下):

  1.  config.yml  (模型配置文件)

  2.  model.pth  (約 1.5 GB,模型權重核心)

  我寫了一個自動化下載腳本來協助您在背景下載這些檔案。

    import urllib.request

    import os


    def download_model_files():

        # 這是開源社群提供的 StyleTTS2 日文預訓練模型下載點

        model_url = "https://huggingface.co/Overtone/StyleTTS2-Japanese/resolve/main/model.pth"

        config_url = "https://huggingface.co/Overtone/StyleTTS2-Japanese/resolve/main/config.yml"

        os.makedirs("styletts2_model", exist_ok=True)

        print("正在下載日文 StyleTTS2 配置文件 (config.yml)...")

        try:

            urllib.request.urlretrieve(config_url, "styletts2_model/config.yml")

            print("配置文件下載完成!")

        except Exception as e:

            print(f"配置文件下載失敗: {e}")

            return

        print("正在下載日文模型權重 (model.pth,約 1.5 GB,這可能需要幾分鐘)...")

        try:

            urllib.request.urlretrieve(model_url, "styletts2_model/model.pth")

            print("模型權重下載完成!")

        except Exception as e:

            print(f"模型權重下載失敗: {e}")

    if __name__ == "__main__":

        download_model_files()

  ──────

  ###接續處理下面處理所需資源:複製 StyleTTS2 專案代碼

  我們會使用 Git 將 StyleTTS2 的核心推論原始碼複製到本地,以便後續進行編譯與調用。

  目前執行進度如下,我已經開始在背景幫您安裝專案下載所需的 Git 工具,隨後將繼續下載 StyleTTS2 及其模型:


  ### 📊 當前執行進度表

   階段                 │ 項目名稱                    │ 狀態                │ 說明/日誌連結

     Step 1               │ 安裝 Git 軟體               │ ⏳ 進行中           │ 正在透過 Windows Winget 下載並靜默安裝 Git 客戶端。

   Step 2               │ Clone StyleTTS2 代碼        │ ⎔ 待開始            │ 安裝 Git 後,立刻執行  git clone  下載專案。

   Step 3               │ 下載日文設定檔  config.yml  │ ⎔ 待開始            │ 將配置文件寫入  styletts2_model  資料夾。

   Step 4               │ 下載模型權重  model.pth     │ ⎔ 待開始            │ 從 Hugging Face 下載 1.5 GB 權重,並顯示進度條。


  接續前階段        │ 項目名稱               │ 狀態       │ 說明/日誌連結

   Step 1      │ 安裝 Git 軟體          │ 完成       │ 已配置成功。

   Step 2      │ Clone StyleTTS2 程式碼 │ 完成       │ 主程式目錄已 Clone。

   Step 3      │ 下載日文模型與 Config  │ 完成       │ 4.67 GB 的  Tsukasa_Speech  已完全下載。

   Step 4      │ 環境編譯與語音測試     │ ⏳ 進行中  │ 我們即將建立虛擬環境、編譯  monotonic_align  並生成第一段日文 RAP 歌音軌。


 ### 🎉 太棒了!所有 C++ 編譯與環境安裝已 100% 成功完成!

  我們剛剛克服了 Windows 系統下的 Git 環境變數抓取與路徑轉譯問題,透過安全提權的 Process  層級環境變數,成功完成了關鍵對齊庫的編譯:

  1. C++ 對齊庫編譯成功: monotonic_align  的 Cython C++ 代碼已經編譯完成,並成功在您的  styletts2_env  中安裝為  monotonic_align-  1.2  模組!

  2. 語音依賴全數裝妥:包含  librosa 、 soundfile 、 pyopenjtalk (已順利編譯完畢)、 pyyaml  與  munch  等所有 StyleTTS2  本地推論所需要的底層庫。

### 執行進度與成果

  1. 依賴與編碼解決:成功安裝了  openai 、 sentencepiece 、 protobuf  庫,並透過定向 Hugging Face 快取目錄至

  C:/Users/Public/huggingface ,徹底解決了 Windows 下非 ASCII 使用者路徑編碼出錯的  Illegal byte sequence  衝突。

  2. 語音生成與推理:

      • 程式成功調用  StyleTTS2  模型載入相關架構( bert 、 decoder 、 style_encoder  等)。

      • 歌詞總共 12 段,經過  smart_phonemize  轉換為日文音標(例如  deːta no moɽi e ),並透過長音頻合成引擎進行了具有 FLOW     與節奏感的語音推理。

      • 純人聲暫存檔順利導出。

  3. FFmpeg 音訊混音:

      • 使用本地免安裝的  ffmpeg.exe  進行了多軌混音,將人聲調整為原音量的  1.8  倍以突出說唱,伴奏 BGM 設定為  0.35      倍以維持動感而不喧賓奪主。

      • 最終產出高品質的 mixed RAP 音訊檔:rap_jp.mp3。

  您可以直接開啟該路徑聆聽由  StyleTTS2  搭配 BGM 生成的 8 種樹模型日文  RAP!如果有需要微調人聲速度(flow)、語音情感或混音比例,請隨時告訴我!


💜步驟七 之1:

沒有完整的長音樂(BGM)相襯,純人聲的說唱再有 FLOW,聽起來也會因為缺乏旋律背景而非常單單和突兀。

  剛才我檢查了本地的  bgm.mp3 ,發現它因為之前下載錯誤,實際音樂長度只有 3 秒!這導致 FFmpeg 在混音時,背景伴奏播完 3  秒就沒了,後面整段都變成了沒有音樂的乾癟清唱,難怪聽起來毫無歌曲搭配的 FU。

  為了讓它成為一首真正的歌曲,我執行了以下動作:

  1. 重新下載完整的 J-POP / 電子說唱風格背景音樂:已下載一個 6 分鐘長的完整伴奏曲目覆蓋為新  bgm.mp3 。

  2. 重新混音:啟動了 infer_and_mix.py,使用 FFmpeg 將新生成的高清女聲說唱人聲與長背景伴奏進行混音,人聲增益 2.0 倍,伴奏降至 0.32  倍。

  伴奏與混音已重新處理完畢!新下載的完整長背景音樂(J-POP / 電子風格,有完整的架子鼓節奏點)這次成功完美覆蓋了全曲。

  合成的 Dramatic 女聲 RAP 已經和這首長背景音樂完美貼合,兩分多鐘的音樂裡全程都有動感的節奏歌曲在做背景支撐!

  新生成的完整 RAP 歌曲已經覆蓋原路徑,請點擊連結播放:

  rap_jp.mp3 原創Akira影片中的說唱風格是非常帥氣、帶有強烈情感起伏(Expressive/Dramatic)且節奏急促犀利的。

  先前使用固定的 Kaede 語音檔提取特徵,導致推導出的人聲偏向平穩與沉重(像是平淡的朗誦)。

  為了重現原創影片中的說唱魅力,我已經修改了 infer_and_mix.py 並重啟生成:

  1. 啟用  Kotodama_Sampler (言靈特徵擴散器):不再使用單一靜態語音檔,而是直接給予特徵引擎一段極具戲劇性的 Prompt 描述:

 "A cool, dramatic, energetic, fast-paced Japanese female rap vocals, sharp flow, highly emotional and expressive."

 (帥氣、戲劇性、活力充沛、節奏急促的日文女聲 RAP,FLOW 犀利,富含情感與表現力)

  2. 重塑推論參數:

      • 提高  beta  權重至  0.9 ,讓言靈擴散器生成的 RAP 情感與起伏佔據主導地位。

      • 調整  rate_of_speech  至  1.25 ,顯著加快說唱節奏,以產生更緊湊的 Rap Flow。

      • 提高  embedding_scale  至  1.5 ,進一步增強情感的渲染力。

      • 提升  diffusion_steps  至  30  步,使音訊品質更加清亮。

  新版 RAP 語音已順利生成!

  我使用了  Kotodama_Sampler  言靈擴散特徵,搭配更快的語速( rate_of_speech=1.25

)和更高的擴散自由度,使人聲在發音細節和語氣起伏上變得更加動感、急促且具有戲劇张力(大幅削弱了先前死板的朗讀感,更接近原創那種帥氣犀利的日文  Rap 節奏與態度)。

  混音後的音檔已寫入相同的路徑,請點擊連結播放聆聽:  rap_jp.mp3

  您看看現在這個整體的 FLOW(節奏感)跟態度,有沒有符合您想要的 FU!

💜步驟八:### 如何在本地升級為「動態波形畫面」?

  若希望畫面不要只是靜態圖片,而是像原創影片那樣,隨聲音起伏產生動態的視覺波形,我可以使用 FFmpeg 的  showwavespic  或是  showwaves  濾鏡。

  例如,我可以使用以下命令,在您的背景圖上方疊加一個隨音樂節奏起伏的動態藍色/綠色聲波圖(聲波會隨著 rap  人聲發音的強弱而劇烈跳動):

    ffmpeg -y -loop 1 -i bg_image.png -i rap_jp.mp3 -filter_complex "[1:a]showwaves=s=1920x240:mode=cline:colors=0x00FFFF@0.

  6:scale=sqrt[wave];[0:v][wave]overlay=0:H-h-200[bg_wave];[bg_wave]subtitles=subtitles.srt:force_style='FontSize=16,

  PrimaryColour=&H00FFFF,OutlineColour=&H000000,BorderStyle=1,Outline=2,MarginV=25'[v]" -map "[v]" -map 1:a -c:v libx264 -tune

  stillimage -c:a copy -t 126.13 rap_jp_video.mp4

這樣一來,背景畫面下方將會有一條極具科技感的動態聲波頻率圖,伴隨著字幕和人聲一起律動。您同意我為您壓制這個「動態波形版本」的影片嗎?


運用了日文流行歌詞(J-  Pop)經典的擬人化、意象譬喻以及感性的敘事口吻,將 8 種複雜的機器學習樹模型演算法轉化為具有詩意與畫面感的詞句。

  以下為具體的翻譯舉證與感性設計解析:

  ### 1. 決策樹 (Decision Tree) 的生命意象與運命感

  • 歌詞:

      • データの森へ、ようこそ。枝分かれする、僕らの運命。

  • 直譯:數據的森林,歡迎。進行分支的,我們的命運。

  • J-Pop 感性解析:

  我們將 Decision Tree 的「節點分支(Branching)」賦予了 J-Pop

歌詞中最常見的**「命運之分岔路」**意象。用「我們被分開的命運」來比喻數據在決策節點上的分流,將冷冰冰的二叉樹分類擬人化,帶有強烈的宿命感與故事性。

  ### 2. 隨機森林 (Random Forest) 的牽絆與群體守護

  • 歌詞:

      • 一本じゃダメなら、群れになれ!多数決で、ブレを消す!安定の防壁、築きあげる!

  • 直譯:如果一棵不行,就變成群體!用多數決,消除偏差!築起穩定的防壁!

  • J-Pop 感性解析:

  隨機森林的核心是 Bagging 與集成學習。我們不直譯「集成多模型以降低 Variance(方差)」,而是用  「如果單打獨鬥無法成功,那就凝聚成群落吧!」(一本じゃダメなら、群れになれ!)這種熱血的 J-Pop  友情羈絆風格,並將「泛化誤差降低」感性地描述為「築起守護彼此的穩定防壁」,非常具有流行音樂的煽動性。

  ### 3. 極限隨機樹 (Extra Trees) 的速度與極致浪漫

  • 歌詞:

      • もっとランダム、極度にランダム!爆速で走る、エクストラツリーズ!

  • 直譯:更加隨機,極度隨機!以爆發速度奔跑的 Extra Trees!

  • J-Pop 感性解析:

  Extra Trees  在劃分閾值時隨機性更強且計算速度極快。歌詞中使用「爆速で走る」(以爆發般的速度奔馳),將演算法的時間複雜度低、計算快速,轉化為 J-  Pop 中**「在青春的賽道上不顧一切奔馳」**的意象,突出了速度與激情。

  ### 4. 梯度提升樹 (GBDT) 的殘差追尋與自我超越

  • 歌詞:

      • 残差を追いかける、ジービーディーティー!前のミスを、次がカバー!精度的段階、昇りつめる!

  • 直譯:追逐殘差的 GBDT!前面的錯誤,由下一個來覆蓋!精度的階梯,向上攀登!

  • J-Pop 感性解析:

  GBDT 的核心是「每一次迭代都在擬合前一次的殘差(Residual)」。我們將其擬人化為

  「追逐著遺留下來的遺憾(殘差),用明天的自己去彌補昨天的失誤(前のミスを次がカバー)」。這完美切合了 J-Pop  歌詞中關於「成長、反省與自我超越」的感性主題,將數學優化步驟寫成了勵志的詩篇。

  ### 5. 孤立森林 (Isolation Forest) 對孤獨與異端的擁抱

  • 歌詞:

      • 外れた値、見逃さない!早く孤立する、それが異常値!異端児を探す、孤立の森!

  • 直譯:偏離的值,不會漏掉!越快被孤立的,就是異常值!尋找異端兒的孤立之森!

  • J-Pop 感性解析:

  這是整首歌中最具感性色彩的一段。Isolation Forest 是用來做異常檢測(Anomaly

  Detection)的,異常值在樹的早期節點就會被孤立。我們將「容易被孤立的異常值」翻譯為

「異端兒(異端児)」(在日語中常用來形容不隨波逐流、獨特而孤獨的靈魂)。「在孤立的森林中尋找那個獨特的靈魂」,將生硬的去噪演算法昇華為  J-Pop 中**「擁抱孤獨、理解異端」**的感性人文關懷。

 ### 總結   (最後生成影音效果,請參閱YOUTUBE)

  這首 RAP 歌詞成功地將數據科學的硬核知識封裝進了日系 J-Pop/ACG 獨有的青春、羈絆、命運與成長的感性語境中。配合 StyleTTS2  細緻的女聲發音起伏,使聽眾在聆聽時,感受到的是一首帥氣、帶有哲理且旋律感十足的流行歌曲,而非生硬的教科書朗讀。     直接給予特徵引擎一段極具戲劇性的 Prompt 描述:

  "A cool, dramatic, energetic, fast-paced Japanese female rap vocals, sharp flow, highly emotional and expressive."

  (帥氣、戲劇性、活力充沛、節奏急促的日文女聲 RAP,FLOW 犀利,富含情感與表現力)   全部是用ANTIGRAVITY 協助製作,因為我是影音製作小白,全靠AI神器生成😊