聊天視窗

生成式人工智慧與虛擬偶像創作實務 - 第 5 章

第 5 章:劇本與歌詞創作的 AI 助手

發布於 2026-03-08 11:10

# 第 5 章:劇本與歌詞創作的 AI 助手 本章聚焦 **GPT 系列大語言模型**,說明如何透過 **提示工程(Prompt Engineering)** 讓 AI 成為劇本、對白、歌詞的創作夥伴。從基礎概念、實作流程、技巧要點,到與前章聲音合成管線的結合,提供完整、可落地的操作範例,協助讀者快速產出具備角色個性與情感張力的文字內容。 --- ## 5.1 為何選擇 GPT 作為創作助手? | 特性 | 說明 | |------|------| | **大規模語言理解** | 內建超過數千億參數的語意表示,能捕捉細微語感與敘事結構。 | | **即時回應** | 只要幾毫秒即可產生結果,適合直播、即時互動的需求。 | | **可指令化** | 透過文字提示即可控制風格、角色、情境,彈性高於傳統模板。 | | **可微調/指令微調** | 若有特定品牌語調,可自行微調或使用 LoRA、PEFT 等輕量方法。 | > **小結**:GPT 為「文字創作」提供了「生成」與「控制」兩大核心能力,正好與虛擬偶像的敘事需求相吻合。 --- ## 5.2 Prompt Engineering 基礎概念 ### 5.2.1 Prompt 的結構 1. **背景說明(Context)**:設定場景、時間、角色設定等。 2. **任務指令(Instruction)**:明確告訴模型要做什麼(撰寫對話、寫歌詞、限定字數等)。 3. **格式範例(Format Example)**:提供期望的輸出範例或格式說明,降低模型的自由度。 4. **限制條件(Constraints)**:如禁止使用特定詞彙、必須包含情感標籤等。 ### 5.2.2 常用技巧 | 技巧 | 作用 | 範例 | |------|------|------| | **Few‑Shot 示範** | 給出 2‑3 個完整範例,引導模型產生相似結構。 | `以下是三段對話範例:...` | | **Chain‑of‑Thought** | 要求模型先思考步驟,再給出最終答案,提高邏輯正確性。 | `先列出角色動機,再寫出對白。` | | **Role‑Playing Prompt** | 讓模型「扮演」某個角色,保證語氣一致。 | `你是一位熱血的偶像歌手…` | | **Temperature/Top‑P 控制** | 在 API 呼叫時調整隨機性,產生更創意或更穩定的文字。 | `temperature=0.7, top_p=0.9` | --- ## 5.3 劇本創作流程與範例 ### 5.3.1 工作流程概覽 ```mermaid flowchart TD A[需求收集] --> B[角色/世界觀設定] B --> C[Prompt 設計] C --> D[呼叫 GPT API] D --> E[結果篩選 & 修正] E --> F[版本控制 (Git)] F --> G[整合至 TTS 流水線] ``` ### 5.3.2 角色與世界觀設定 ```json { "角色": { "名字": "星瀾", "年齡": 19, "性格": ["活潑", "有點小任性"], "語氣": "甜美且帶點挑逗" }, "世界觀": "未來城市 Neo‑Lumin,虛擬與實體共存。" } ``` 將上述 JSON 作為 **背景說明**,放入 Prompt 前段。 ### 5.3.3 完整 Prompt 範例(撰寫 5 分鐘直播劇情) ``` 背景: 你是虛擬偶像「星瀾」的劇本編寫AI,舞台設定在 Neo‑Lumin 的「星光廣場」,觀眾人數 5,000 人。星瀾今晚將進行「星願直播」活動,主題是「追尋夢想」。 指令: - 使用第一人稱視角,寫出 5 段(每段約 30‑40 字)的直播對白。 - 每段對白需包含: 1. 開場問候 2. 互動提問(例如:觀眾的夢想是什麼) 3. 情感轉折(從興奮 → 懷疑 → 鼓舞) - 請在每段末尾加上情感標籤([興奮]、[感動] 等)。 - 請遵守以下限制: - 禁止使用粗俗語言。 - 必須至少一次提及「星光廣場」。 範例格式: [段落1] 大家好,我是…【情感】 [段落2] … ``` ### 5.3.4 呼叫範例(Python) ```python import openai, os openai.api_key = os.getenv("OPENAI_API_KEY") prompt = """<上方 Prompt 文字>""" response = openai.ChatCompletion.create( model="gpt-4o-mini", messages=[{"role": "user", "content": prompt}], temperature=0.7, max_tokens=800, top_p=0.9, ) print(response['choices'][0]['message']['content']) ``` ### 5.3.5 結果篩選與修正 1. **自動過濾**:使用正則表達式檢查禁用詞彙。 2. **情感一致性**:比對標籤與情感詞彙是否匹配。 3. **人工校稿**:最終版交給編劇或助理確認。 --- ## 5.4 歌詞創作的 Prompt 技巧 ### 5.4.1 歌詞結構與要素 | 要素 | 說明 | |------|------| | **主題(Theme)** | 歌曲想傳遞的訊息或情緒。 | | **副歌(Hook)** | 最具記憶點的句子,通常重複。 | | **韻腳(Rhyme)** | 中文常用「平仄」或「押韻」技巧。 | | **節奏感(Meter)** | 每行字數或音節數的統一。 | | **情感標記** | 如 `[激昂]`、`[柔情]`,供 TTS 情感模型取用。 | ### 5.4.2 Prompt 範例(創作 1 分鐘 Pop Song) ``` 背景: 虛擬偶像「星瀾」的最新單曲《星願》將於本月推出,曲風為 EDM‑Pop,節拍 128 BPM。 指令: - 為《星願》寫出中文歌詞,總長度約 180 字,分為 A段、B段(副歌)兩部分。 - A段需描寫「夜晚的城市」與「追夢的渴望」;B段為高能副歌,必須出現 "星光"、"願望"、"舞動" 三個關鍵詞。 - 每行結尾需押「ang」音(如「光」與「狂」)。 - 在每段開頭加上情感標籤([柔情]、[激昂])。 - 請提供英語音標(IPA)供歌手參考。 格式範例: [柔情] 夜幕降臨,城市的霓虹… (IPA: ...) [激昂] 星光閃耀,我們一起舞動… (IPA: ...) ``` ### 5.4.3 結合韻腳檢測工具 ```python import re def check_rhyme(lines, rhyme="ang"): pattern = re.compile(r".*" + rhyme + r"$", re.UNICODE) return all(pattern.match(line) for line in lines) ``` 將模型回傳的歌詞送入上述函式,自動篩除不合韻腳的行。 --- ## 5.5 與前章 TTS/情感合成的串接 1. **文字 → 情感標籤**:在 Prompt 中加入 `[情感]` 標記,後續 TTS API 依標記切換 DiffSinger / EmoTalk 情感模型。 2. **API 回傳格式**: ```json { "script": "...對白...", "emotion": "excited", "tts_url": "https://api.example.com/tts?text=...&emotion=excited" } ``` 3. **即時直播流程**: - GPT 產出劇本 → 後端解析 → 呼叫情感 TTS → 播放音訊流 → 同步顯示字幕。 --- ## 5.6 實務最佳實踐清單 | 項目 | 建議做法 | |------|-----------| | **版本管理** | 使用 Git + Git LFS 保存 Prompt、範例、模型微調檔案。 | | **Prompt 重用** | 建立 Prompt 模板庫(Markdown + JSON)供不同專案快速調用。 | | **自動化測試** | 撰寫單元測試檢查情感標籤、字數、禁字等規則。 | | **成本控制** | 先用 `gpt-4o-mini` 產草稿,最終版再切換 `gpt‑4o` 以提升品質。 | | **安全合規** | 在 Prompt 中避免收集個人資料,所有生成內容需紀錄模型卡(Model Card)。 | | **多輪對話** | 若需要長篇劇本,可將長腳本切分為多輪 Prompt,保持上下文一致性(使用 `conversation_id`)。 | --- ## 5.7 案例研究:從概念到上線的完整流程 1. **概念定義**:虛擬偶像「星瀾」要在 2026 年春季推出主題曲《星願》+ 2 分鐘的角色劇情短片。 2. **Prompt 設計**: - 角色設定 JSON(見 5.3.2) - 歌詞 Prompt(見 5.4.2) - 劇本 Prompt(見 5.3.3) 3. **生成與驗證**: - 使用 `gpt-4o-mini` 產出初稿 → 內部審核 → 迭代 2 次。 - 最終稿改用 `gpt-4o` 產生最終文字。 4. **情感標籤注入**:手動或使用正則將 `[柔情]`、`[激昂]` 標記加入。 5. **TTS 合成**:呼叫前章建好的情感 TTS API,得到兩條音頻流(對白 + 歌曲)。 6. **影片製作**:將音頻與 3D 動作捕捉資料在 Unity 中合成,輸出 MP4。 7. **上線與監測**: - 上傳至 YouTube、Bilibili。 - 使用 AI 觀眾情感分析 API 監測留言情緒,調整未來腳本風格。 --- ## 5.8 小結與未來展望 - **Prompt 為 AI 創作的指揮棒**:透過明確、結構化的提示,可在短時間內得到高品質劇本與歌詞。 - **與聲音管線緊密結合**:情感標籤與 TTS 模型的配合,使文字創作直接轉化為可聽的表演內容。 - **持續迭代**:隨著模型更新(如 GPT‑5 系列)與更先進的情感語音合成技術,未來可期待「文字 → 情感 → 動畫」的一站式 AI 創作平台。 > **行動指南**: > 1. 建立自己的 Prompt 模板庫; > 2. 用 `gpt-4o-mini` 快速驗證概念; > 3. 結合情感 TTS,完成「說」與「唱」的全流程。 祝您在文字創作的宇宙裡,寫出屬於自己的星光軌跡!