Files
KGStudio/README-zh_hk.md
T

454 lines
37 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
[English](./README.md) | [Français](./README-fr.md) | [简体中文](./README-zh_cn.md) | 繁體中文
<div align="center">
<img src="./public/logo.png" alt="K.G.Studio Logo" width="160" />
</div>
# K.G.Studio — 一款基於瀏覽器的 DAW,並內建 AI 助手
<div align="center">
<h3><a href="https://kgaudiolab.github.io/kgstudio"><b>◀ 立即在瀏覽器中線上使用 K.G.Studio ▶</b></a></h3>
</div>
## 新動態
> ### ✦ [K.G.One Music Studio 現已發佈。](https://github.com/KGAudioLab/K.G.One) ✦ <br />
> [**K.G.One Music Studio**](https://github.com/KGAudioLab/K.G.One) 是一個完全本地、開源的一體化平台,以 **K.G.Studio**(本專案)為核心。它整合了用於整曲生成的 [ACE-Step 1.5](https://github.com/ace-step/ACE-Step-1.5)、用於音訊片段和 MIDI loop 生成的 [Foundation-1](https://huggingface.co/RoyalCities/Foundation-1),以及用於分軌的 [python-audio-separator (UVR5)](https://github.com/nomadkaraoke/python-audio-separator),將 GPU 加速的 AI 音樂生成能力直接帶入您的瀏覽器音樂製作工作流。
## 什麼是 K.G.Studio
K.G.Studio 是一款輕量、現代化的 DAW,完全執行於瀏覽器中,並以 **K.G.Studio 音樂創作助手** 為核心。它提供基於 Tone.js sampler 的真實樂器回放、Piano Roll 編輯器、支援完整復原/重做的音軌與區域管理、基於 OPFSOrigin Private File System)的專案持久化、可設定的設定面板,以及可執行工具的內建 AI 助手。
**K.G.Studio 音樂創作助手** 是一個面向和聲、編曲與音符編輯的 AI 助手,但並不負責整首作品的全自動作曲。
<div align="center">
<img src="./docs/KGOne-Demo-GIF.gif" alt="K.G.One Logo" width="640" />
</div>
> 注意:整曲生成功能和音訊片段生成功能需要整合 [**K.G.One Music Studio**](https://github.com/KGAudioLab/K.G.One)。
## 最新更新
- **2026.05.30**: 新增 **國際化(i18n)支援** — K.G.Studio 現已提供四種語言版本:**English**、**简体中文**、**繁體中文** 和 **Français**。可在 **設定 ⚙️ → 通用 → 語言** 中設定偏好語言,選擇 `Auto` 時將自動偵測瀏覽器語言。
- **2026.05.27**:
- 新增 **全域軌系統**,引入四條全域軌:**Marker**、**Tempo**、**Key Signature** 和 **Chord**(和弦符號跨度區段)。
- 新增 **音訊和弦檢測** 功能。您可以為音訊區域或 MIDI 區域開啟鋼琴卷簾視窗,然後點擊「...」 -> **Detect Chords**,即可透過零依賴 FFT 流水線自動分析錄音內容,並將結果寫入 Chord Track;支援靈敏度、穩定性與七和弦檢測設定。
- 新增 **帶自動對齊拍點的速度檢測** 功能。您可以為音訊區域開啟鋼琴卷簾視窗,然後在工具列點擊「...」 -> **Detect Tempo**,分析音訊 BPM,並可選擇將專案中的 Tempo Track 區段自動重新對齊。
- 新增 **Demucs 4S** 作為第二個本地瀏覽器內嵌分軌模型。現有的雙 stem UVR-MDX-NET 模型之外,又加入了四 stem 的 `htdemucs_4s` 模型(約 172 MBvocals / drums / bass / others),兩者都可透過 ONNX Runtime WebGPU 完全在瀏覽器中執行。
- **2026.05.15**: 新增 **瀏覽器內嵌 AI 模型**。現在有兩個 AI 模型可完全在瀏覽器中執行,無需外部服務、無需 API Key,也無需 K.G.One 伺服器。**K.G.Studio 音樂創作助手** 新增 **Local LLM (Browser)** 提供方,由 **Gemma 4 E4B** 驅動,並透過 LiteRT-LM 與 WebGPU 加速執行;模型只需下載一次,隨後會快取在 OPFS 中,後續啟動幾乎可即時使用,同時支援可設定的上下文長度(32 k / 64 k / 128 k tokens)與即時推理效能統計。**Stem separation** 也支援本地執行,基於瀏覽器內嵌的 **UVR-MDX-NET-Inst_HQ_3** ONNX 模型並使用 WebGPU 加速。您可以開啟 **Music Generator** 面板(✦ 按鈕),下載模型一次後,即可完全在本機將人聲與伴奏分離。以上兩項功能都要求瀏覽器支援 WebGPUChrome 113+ 或 Edge 113+)並執行在安全上下文中(HTTPS 或 localhost)。推薦硬體:至少 8 GB 顯存的 GPU,或至少 16 GB 統一記憶體的系統。
- **2026.05.10**: 新增 **五線譜視圖**。鋼琴卷簾現已支援完整的標準樂譜顯示模式。您可以透過鋼琴卷簾工具列中的切換按鈕在 Piano Roll 和 Sheet Music 視圖之間切換。在五線譜模式下,音符會透過 VexFlow 排版,並支援基於目前樂器自動選擇譜號(高音或低音)、顯示調號、自動符槓分組、跨小節連音線,以及可設定的音值量化。啟用 **Track Scope** 後,整條音軌上的所有 MIDI 區域會以連續譜面的形式顯示,而不再侷限於單個區域。
- **2026.05.09**: 新增 **音訊錄音**。您現在可以直接從麥克風錄製到音訊軌。錄音時會即時增長顯示波形預覽,停止後該錄音會作為標準音訊區域寫入時間線。另新增 **音訊 I/O 裝置選擇**,您可以在設定中選擇偏好的麥克風輸入裝置和音訊輸出裝置。
- **2026.05.08**: 新增 **MIDI 自動化**。您可以在鋼琴網格下方的可編輯自動化區域中繪製和編輯 pitch bend 與 MIDI CC 曲線(CC1 Modulation、CC2 Breath、CC7 Volume、CC11 Expression、CC64 Sustain)。同時新增 **軌道級自動化**:每條音軌現在都有專用自動化面板,您可以直接在時間線上查看和編輯同樣的曲線。即時 MIDI 控制器輸入(如 pitch wheel、CC 踏板)也支援錄製與按軌回放,並帶有每條自動化軌的插值處理。另新增 **事件列表面板**,這是一個帶分頁的側邊欄(Notes / Pitch Bend / Controller),可用於查看與內聯編輯目前 MIDI 區域中的全部事件。還新增了 **區域多選**(支援套索與批次移動/縮放)以及 **合併 MIDI 區域**
<div align="center">
<img src="./public/snapshots/2026-05-08-automations.png" alt="K.G.Studio Logo" width="640" />
</div>
- **2026.05.02**: 新增 **音訊軌頻譜可視化**。音訊區域現在會在時間網格中顯示即時頻譜疊加層。另新增 **Piano Roll hybrid mode**:當您在 MIDI 區域中開啟鋼琴卷簾時,可將相鄰音訊區域的頻譜作為參考層顯示,從而參照音訊形狀編輯 MIDI 音符。新增 **鋼琴卷簾縮放**,並保留目前視口位置,使畫面始終錨定在目前播放頭附近。還新增 **區域微調位置**,可用小步長推動區域以實現精確擺放;同時新增跨元件的播放頭捲動同步,使主網格與鋼琴卷簾在播放期間保持連動。
- **2026.04.29**: 在 K.G.One Music Generator 面板中新增 **Remix****Repaint**(由 ACE-Step 1.5 驅動)。**Remix** 可讓您用新風格重製現有音訊區域,您只需選取音訊區域、描述目標風格,並可選填寫新歌詞,ACE-Step 就會按提示重新演繹歌曲的配器與氛圍。**Repaint** 可對歌曲中特定片段進行局部再生成,您可以先在時間線上設定 loop 範圍作為重繪視窗,再描述該片段應有的聲音效果,其餘部分將保持不變。兩項功能都支援與其他 K.G.One 分頁相同的匯入流程:可在內建播放器中預覽、拖曳到音軌上,或點擊 **Import Aligned to Source**,自動將結果放置到原始區域下方的新音軌中。
- **2026.04.24**: 新增 [**K.G.One Music Studio**](https://github.com/KGAudioLab/K.G.One) 整合。當 K.G.Studio 連線到本地 K.G.One 伺服器後,**K.G.One Music Generator** 面板(工具列中的魔杖按鈕 ✦)即可啟用,其中包含三項 AI 驅動工具:**Full Song Generation**(由 ACE-Step 1.5 驅動,可根據文字提示生成整首歌曲)、**Clip Generation**(由 Foundation-1 驅動,可根據文字生成樂器片段與 MIDI loop),以及 **Stem Separation**(由 python-audio-separator 驅動,可將任意音訊拆分為人聲、伴奏等多個 stem)。生成的音訊和 MIDI 均可即時預覽,並可直接拖曳到您的音軌中。K.G.One 完全執行在您自己的機器上(Windows/Linux,需要 CUDA GPU);詳細設定說明請參閱 [K.G.One 倉庫](https://github.com/KGAudioLab/K.G.One)。
- **2026.04.11**: 將專案儲存從 IndexedDB 遷移到 OPFSOrigin Private File System),並採用基於資料夾的結構,以更好地處理媒體檔案。新增音訊軌支援,包括 WAV/MP3 匯入、回放、循環,以及非破壞性區域裁剪。另新增基於離線渲染的 WAV/MP3 匯出功能。
- **2026.04.05**: 將 AI agent 從基於 XML 的工具呼叫遷移到原生 OpenAI SDK function calling,以提升可靠性與相容性。另新增 GPT-5.4 系列等 LLM 模型選項。
- **2026.01.23**: 實現無縫循環播放。您可以拖動小節編號設定 loop 範圍,或透過工具列中的 Loop 按鈕切換循環模式。循環播放基於 `Tone.js` 的原生 loop 機制,可實現取樣級精確、無縫銜接的循環。
- **2025.12.21**: 實現 MIDI 鍵盤支援。您現在可以連接 MIDI 鍵盤並直接用其演奏聲音。請注意,由於 Safari 和部分其他瀏覽器對 Web MIDI 介面支援不完整,此功能在這些瀏覽器中可能無法達到最佳效果。
- **2025.12.15**: 新增智慧和弦助手,支援功能和聲指導(T/S/D)。將滑鼠懸停在琴鍵上即可查看與上下文相關的和弦建議,並可一鍵建立完整和弦。
## 專案狀態
**K.G.Studio 是一個仍處於早期開發階段的實驗性專案。** 我們正在探索如何將 AI agent 與 LLM 融入音樂製作工作流,本質上是在建構一種面向 DAW 的「Cursor 或 Claude Code」體驗。
該專案關注 AI 與人類協作如何增強音樂創作過程,從智慧和聲建議到自動化編輯任務都在探索範圍內。作為實驗平台,專案會頻繁變化,功能將持續演進,並且在我們推進 AI 輔助音樂製作邊界的過程中,偶爾出現不穩定情況也是可以預期的。
## 演示影片
<div align="center">
<table>
<tr>
<td align="center">
<a href="https://youtu.be/F1JWjK84zwc" target="_blank">
<img src="./public/demo/demo-cover.png" alt="K.G.One Music Studio" width="400"/>
</a>
<br><b>K.G.One Music Studio</b>
</td>
<td align="center">
<a href="https://youtu.be/FXgihfAH2vc" target="_blank">
<img src="./public/demo/cover-FXgihfAH2vc.png" alt="Short Demo" width="400"/>
</a>
<br><b>短演示(僅 DAW</b>
</td>
<td align="center">
<a href="https://youtu.be/vKbWAQRt0r0" target="_blank">
<img src="./public/demo/cover-vKbWAQRt0r0.png" alt="Full Demo" width="400"/>
</a>
<br><b>完整演示(僅 DAW</b>
</td>
</tr>
</table>
</div>
## 快速開始
### 設定 K.G.Studio 音樂創作助手
使用 K.G.Studio 音樂創作助手有兩種方式:一種是 **Local LLM (Browser)**,完全在瀏覽器中執行,無需 API Key、無需費用,且資料不會離開您的裝置;另一種是使用 **外部 LLM 提供方**,以獲得更高品質的回覆。
#### 方案 ALocal LLM (Browser) — 無需 API Key ✦
K.G.Studio 可以藉助 WebGPU 加速,在瀏覽器中直接執行 **Gemma 4 E4B**。不會產生 API 呼叫,不會產生費用,您的資料也不會離開本機。
- 點擊這裡開始線上使用應用:[K.G.Studio (kgaudiolab.github.io/kgstudio)](https://kgaudiolab.github.io/kgstudio)
-**設定 ⚙️ → 通用 → LLM 提供方** 中選擇 **本地 LLM(瀏覽器)**(預設選項)。
- 第一次開啟聊天時,模型(約 2.8 GB)會自動下載,並快取在瀏覽器的 OPFSOrigin Private File System)中,後續啟動幾乎可即時使用。
- 您也可以選擇設定 **上下文長度**32k / 64k / 128k tokens);數值越大,對顯存要求越高。
- 現在就可以開始聊天。除首次下載模型外,無需 Key、無需帳號,也無需持續連網。
**Local LLM 的要求:** 需要支援 WebGPU 的瀏覽器(Chrome 113+ 或 Edge 113+),並執行在安全上下文中(HTTPS 或 localhost)。推薦硬體為至少 8 GB 顯存的 GPU,或至少 16 GB 統一記憶體的系統。
> **注意:** 本地模型的品質無法與 GPT 或 Claude 系列商業模型相比。對於複雜的音樂編輯任務,外部提供方通常會產生更好的結果。
#### 方案 B:外部 LLM 提供方(更高品質)
- 點擊這裡開始線上使用應用:[K.G.Studio (kgaudiolab.github.io/kgstudio)](https://kgaudiolab.github.io/kgstudio)
- [點擊這裡取得免費 OpenRouter API Key](https://openrouter.ai/keys)(您可能需要一個 OpenRouter 帳號)。
-**設定 ⚙️ → 通用 → LLM 提供方** 中選擇 **OpenAI Compatible**
-**OpenAI Compatible Server → 密鑰** 中貼上您的 Key。(注意:在非 localhost 環境中,出於安全原因,您的 Key 預設不會被持久化;您可以在設定中啟用「Persist API Keys on Non-Localhost」以允許持久化,但這可能增加 XSS 風險。)
-**OpenAI Compatible Server → 模型** 中輸入 `openai/gpt-oss-120b:free`。(注意:這是一個免費模型;非免費模型可能需要付費;免費模型提供方可能會蒐集您的資料,請查看模型頁面中的說明;本專案與 OpenRouter 或任何模型提供方 **沒有關聯關係**。)
-**OpenAI Compatible Server → 基礎 URL** 中輸入 `https://openrouter.ai/api/v1`
**提示:**
- 您也可以使用官方 OpenAI API、其他 OpenAI 相容服務,或自行託管的 LLM 伺服器(如 Ollama、vLLM)。請注意,不同模型的品質差異較大,並非所有模型都同樣適合音樂編輯任務。對於本地部署,我們推薦 `qwen3.5-35b-a3b`,它在生成品質與硬體需求之間取得了較好的平衡。
- 如果您已訂閱 OpenAI 或其他 LLM 提供方,可以使用 [CLIProxyAPI](https://github.com/router-for-me/CLIProxyAPI) 執行一個本地代理伺服器,透過現有訂閱轉發請求,而無需另外準備 API Key。
### 基本 DAW 操作
- 在音軌上雙擊(或按住 Ctrl/Cmd 並點擊)可建立區域。
- 拖動區域邊緣可調整長度;拖動區域主體可移動。
- 點擊區域左上角的小鉛筆即可開啟鋼琴卷簾。
- 在鋼琴卷簾中,雙擊(或 Ctrl/Cmd+點擊)可建立音符。
- 單擊可選取;Shift+單擊可多選;拖曳可框選。
- 拖動音符邊緣可調整長度;拖動音符主體可移動已選音符。
- 使用鋼琴卷簾工具列右上角的 Snapping 功能可將編輯量化到網格。
### 使用 K.G.Studio 音樂創作助手
- 選取您希望助手處理的音樂區域,在聊天框中輸入提示詞;按 Enter 傳送,按 Shift+Enter 插入換行。
- agent 會自動處理您的請求,並呼叫工具,在所選區域範圍內執行修改。某些任務可能需要一輪或多輪對話才能完成。
- 請注意,AI 也可能出錯,因此您應始終檢查結果,並在必要時自行調整。您也可以透過復原/重做回退修改。
- 點擊「+」按鈕或輸入 `/clear` 指令可清空聊天歷史。
### 更多說明
您可以在[這裡](./docs/USER_GUIDE.md)查看詳細使用者指南。
### 亮點功能
- **K.G.Studio 音樂創作助手**:與由 LLM 驅動的 AI agent 進行對話;它會自動執行工具,對您所選區域內的音樂內容進行編輯。
- **瀏覽器內嵌 LLM,無需 API Key**:透過 WebGPULiteRT-LM)在瀏覽器中直接執行 **Gemma 4 E4B**。無 API 呼叫、無費用、資料不離開您的裝置。模型只需下載一次,隨後會快取在本地。
- **瀏覽器內嵌分軌,無需伺服器**:使用 **UVR-MDX-NET-Inst_HQ_3**2-stemVocals / Instrumental)或 **Demucs htdemucs_4s**4-stemVocals / Drums / Bass / Others)將任意音訊區域拆分為 stems。兩者都完全在瀏覽器中透過 ONNX Runtime WebGPU 執行,無需 K.G.One 伺服器。
- **音訊和弦檢測**:為音訊區域開啟 Piano Roll 後執行 **Detect Chords**,即可透過零依賴 FFT 流水線自動分析錄音並填充全域 Chord Track,同時支援靈敏度、穩定性和七和弦檢測等設定。
- **帶自動對齊拍點的速度檢測**:在 Piano Roll 工具列執行 **Detect Tempo**,即可分析音訊區域的 BPM,並可選擇自動重新對齊專案的 Tempo Track。
- **全域軌系統**:四條持久存在的全域軌 **Marker**、**Tempo**、**Key Signature** 和 **Chord** 共同提供專案級結構,所有功能(播放時序、和弦檢測、五線譜顯示)都會參考它們。
- **K.G.One Music Studio 整合**:連接本地 [K.G.One](https://github.com/KGAudioLab/K.G.One) 伺服器後,可解鎖 GPU 加速的 **Full Song Generation**ACE-Step 1.5)、**Clip & MIDI Loop Generation**Foundation-1)以及更多 **Stem Separation** 模型。
- **多種 LLM 提供方**:支援 OpenAI、Claude / Gemini(透過 OpenRouter)、OpenAI 相容服務(Ollama、vLLM 等),或內建的本地瀏覽器 LLM,無需 Key。
- **音軌與區域編輯**:支援新增/重排音軌、建立/移動/縮放區域、套索多選、批次移動/縮放、合併與拆分區域,以及完整復原/重做。
- **Piano Roll**:支援音符、pitch bend 和 MIDI CC 自動化軌;支援基於 VexFlow 的五線譜視圖;支援音訊到 MIDI 參考用途的頻譜疊加層。
- **真實樂器**:基於 Tone.js 的 sampler,搭配高品質 FluidR3 soundfonts。您還可以直接從麥克風錄製到音訊軌。
- **智慧和弦助手**:基於功能和聲(T/S/D)提供即時和弦建議,並支援可視預覽與一鍵建立和弦。
- **兼顧持久化與隱私**:專案和設定完全儲存在您的瀏覽器中(OPFS / IndexedDB)。專案本身不依賴第一方伺服器。
如需更深入的技術概覽,請參閱 [overview.md](./docs/technical/overview.md)。
## 開始使用
### 或者在本地複製並執行:
```bash
# 請確認已安裝 Node.js >= 20.19.3
# 複製倉庫
git clone https://github.com/KGAudioLab/KGStudio {your-local-path}
cd {your-local-path}
# 安裝依賴
npm install
# 啟動開發伺服器
npm run dev
```
## 設定
K.G.Studio 會從 `./public/config.json` 載入預設設定(內部也提供回退預設值),並透過 `ConfigManager` + IndexedDB 將使用者修改持久化到瀏覽器中。IndexedDB 是瀏覽器在您裝置上的本地資料庫;資料不會離開您的機器,如果您清除此站點的資料,它也會被清除。請透過應用程式內的設定面板修改設定。
- **通用**
- LLM 提供方:OpenAI,或 OpenAI 相容服務
- 目前所選提供方對應的 API Key 與模型
- 在非 localhost 環境持久化 API Key:啟用後,可在非 localhost 環境中持久化 API Key(屬於安全風險自擔選項,不建議在共享或生產環境中開啟)
- OpenAI 相容服務的基礎 URL(適用於自託管閘道)
- Soundfont 基礎 URL(樂器採樣 CDN
- **行為**
- 啟動時預設開啟聊天框
- **模板**
- AI 助手使用的自訂指令
### 連線性與隱私
- K.G.Studio 完全在客戶端執行。執行應用不需要任何第一方伺服器。
- 專案和音訊檔案儲存在瀏覽器的 OPFSOrigin Private File System)中;設定儲存在 IndexedDB 中。所有資料都留在您的裝置上。
- 網路存取僅用於:
- 從設定的 soundfont CDN 下載樂器採樣
- 與您選擇的 LLM 提供方通訊(例如 OpenAI 或 OpenAI 相容服務)
- 除上述兩種情況外,應用均可在本地工作。即使您阻止這些端點,應用仍可載入;但在網路恢復之前,樂器回放和 AI 功能將無法使用。
- 出於安全考量,當應用執行在非本地主機環境中時,我們預設不會將您的 API Key 持久化到 IndexedDB(以降低 XSS 風險)。這表示您每次啟動 K.G.Studio 時都需要重新輸入。如需在非本地主機環境中啟用持久化,請在設定中開啟「Persist API Keys on Non-Localhost」(不建議在共享或生產環境中啟用)。
## 使用應用
您可以在[這裡](./docs/USER_GUIDE.md)查看詳細使用者指南。
- 音軌
- 在軌道資訊面板中新增、重新命名和重排音軌。
- 透過樂器按鈕(鋼琴圖示)切換樂器;可調整 Solo(S)、MuteM)和 Volume。
- 透過音軌設定選單刪除音軌(位於樂器按鈕右側)。
- 區域
- 建立區域:使用 Pointer 工具時可雙擊,或按住 Ctrl/Cmd 再點擊;使用 Pencil 工具時單擊即可。
- 移動/縮放:拖動區域主體可移動,拖動邊緣可調整長度。
- 透過區域左上角的小鉛筆開啟 Piano Roll。
- 鋼琴卷簾(MIDI 音符)
- 工具:Select 與 Pencil。
- 建立音符:在 Select 模式下雙擊或 Ctrl/Cmd+點擊;在 Pencil 模式下單擊。
- 選取音符:單擊;Shift+單擊多選;拖曳框選。
- 移動/縮放:拖動音符主體可移動已選音符;拖動邊緣可調整長度。
- **五線譜視圖**:可在鋼琴卷簾工具列中切換 Piano Roll 與 Staff Notation 視圖。支援自動譜號選擇、調號顯示、符槓分組、連音線和可設定量化。啟用 **Track Scope** 後會將整條音軌上的所有區域連續渲染為譜面。
- **自動化軌道**:可在鋼琴網格下方的可編輯區域中繪製和編輯 pitch bend 與 MIDI CC 曲線(Modulation、Breath、Volume、Expression、Sustain)。
- **頻譜模式**:可在鋼琴卷簾中查看音訊區域的頻譜,並將其作為編輯 MIDI 音符時的參考層。
- 可透過 X 或 ESC 關閉鋼琴卷簾視窗。
- 智慧和弦助手(新增於 2025-12-15
- 在鋼琴卷簾工具列中啟用和弦指導:選擇 T(Tonic)、SSubdominant)或 DDominant)功能。
- 將滑鼠懸停在任意琴鍵上時,會以紅色高亮顯示與上下文相關的和弦建議,並匹配您目前選擇的調號與調式。
- 按 Tab 可在同一和聲功能下循環切換不同和弦轉位。
- 雙擊(或 Ctrl/Cmd+點擊)高亮和弦可一次性建立整組音符。
- 和弦長度會自動匹配您最近編輯的音符長度,以保持節奏一致。
- 吸附與量化
- 在右上角的 NO SNAP 選單中設定吸附。
- 使用 Qua. Pos.(起始)和 Qua. Len.(長度)進行量化。
- 播放與播放頭
- 可透過工具列回到開頭,並執行 Play/Pause。
- 在主時間網格點擊小節編號可設定播放頭;在鋼琴卷簾中點擊頂部時間軸也可設定,並遵守目前吸附設定。
- BPM、拍號和調號都可以透過工具列中的數值進行修改。
## 鍵盤快捷鍵
- 主介面
- 播放/暫停:Space
- 復原 / 重做:Ctrl/Cmd+Z / Ctrl/Cmd+Shift+Z
- 複製 / 剪下 / 貼上:Ctrl/Cmd+C / Ctrl/Cmd+X / Ctrl/Cmd+V
- 儲存:Ctrl/Cmd+S
- 按住以建立區域:Ctrl/Cmd
- 鋼琴卷簾
- 工具:SelectQ)、PencilW
- 按住以建立音符:Ctrl/Cmd
- 吸附:1(None), 2(1/4), 3(1/8), 4(1/16)
- 位置量化:5(1/4), 6(1/8), 7(1/16)
- 長度量化:8(1/4), 9(1/8), 0(1/16)
## AI 助手
### 使用 K.G.Studio 音樂創作助手
- 請先按照前文說明完成 LLM 提供方設定。
- 您可以在右側找到 K.G.Studio 音樂創作助手聊天框。如果目前未顯示,可點擊工具列中的 Chat 🗨️ 按鈕開啟。
- 選取您希望助手處理的區域,在聊天框中輸入提示詞;按 Enter 傳送,按 Shift+Enter 插入換行。
- agent 會自動處理您的請求,並呼叫工具,在所選區域範圍內執行修改。某些任務可能需要一輪或多輪對話才能完成。
- 請注意,AI 也可能出錯,因此您應始終檢查結果,並在必要時自行調整。您也可以透過復原/重做回退修改。
- 點擊「+」按鈕或輸入 `/clear` 指令可清空聊天歷史。
### 設定您的 LLM 提供方
進入 **設定 ⚙️ → 通用 → LLM 提供方**。根據您選擇的提供方,您需要填寫對應的 API Key,並在需要時填寫自訂基礎 URL(適用於 Ollama、OpenRouter 等非官方 OpenAI 相容服務)。
注意:由於部分提供方存在 CORS 限制,Google Gemini 和 Anthropic Claude 目前僅支援透過 OpenRouter 使用。
### 使用 OpenAI 模型
1. 在 [**OpenAI**](https://platform.openai.com/account/api-keys) 取得 OpenAI API Key。您可能需要先註冊帳號並新增付款方式,才能生成 API Key。
2.**設定 ⚙️ → 通用 → LLM 提供方** 中選擇 **OpenAI** 作為提供方。
3.**OpenAI → 密鑰** 中輸入您的 API Key。
4.**OpenAI → 模型** 下拉中選擇您偏好的模型。若希望在效能與成本之間取得較好平衡,我們推薦 `gpt-5.4-mini`
5. 您也可以選擇是否在 **OpenAI → Flex 模式** 中啟用 Flex Mode。Flex Mode 可以降低價格,但也可能帶來更慢的回應時間或更多伺服器端錯誤。
### 使用 OpenRouter
OpenRouter 是一個統一接入平台,可讓您存取來自多個提供方的大量語言模型,其中也包含免費選項,便於比較並找到最適合您需求的模型。
1. 在 [**OpenRouter**](https://openrouter.ai/keys) 取得 API Key。需要註冊;若使用付費模型,可能還需要綁定付款方式。
2.**設定 ⚙️ → 通用 → LLM 提供方** 中選擇 **OpenAI Compatible** 作為提供方。
3.**OpenAI Compatible Server → 密鑰** 中輸入您的 API Key。
4. 在 [**OpenRouter Models Page**](https://openrouter.ai/models) 瀏覽可用模型。您可以使用「Prompt Pricing」篩選免費模型。
**注意:** 不同模型提供方的資料保留與隱私政策可能不同,請在使用前自行查看。
5.**OpenAI Compatible Server → 模型** 中輸入您所選的模型名。推薦系列包括:
- `Anthropic: Claude Sonnet 4.6` (`anthropic/claude-sonnet-4.6`: [Link](https://openrouter.ai/anthropic/claude-sonnet-4.6)) — Claude 系列中品質與成本平衡較好的選擇
- `Qwen: Qwen3.5-35B-A3B` (`qwen/qwen3.5-35b-a3b`: [Link](https://openrouter.ai/qwen/qwen3.5-35b-a3b)) — 推薦的開源模型
- `Qwen: Qwen3-Next-80B-A3B`(免費模型:`qwen/qwen3-next-80b-a3b-instruct:free`: [Link](https://openrouter.ai/qwen/qwen3-next-80b-a3b-instruct:free))— 推薦的免費模型
- `OpenAI: GPT-OSS 120B`(免費模型:`openai/gpt-oss-120b:free`: [Link](https://openrouter.ai/openai/gpt-oss-120b:free))— 推薦的免費模型
- 注意:免費模型提供方可能會蒐集您的資料,使用前請先查看模型頁面說明
- 注意:免費模型的可用性變化頻繁。如需查看最新免費選項,請造訪 [OpenRouter Models Page](https://openrouter.ai/models),並使用 **Prompt Pricing** 過濾目前免費模型
6.**OpenAI Compatible Server → 基礎 URL** 中填入 `https://openrouter.ai/api/v1`
### 關於 agent 與 LLM 提供方
出於安全考量,當您從非本地主機環境使用 K.G.Studio 時,API Key 預設不會持久化到 IndexedDB 中;這表示您每次啟動 K.G.Studio 時都需要重新輸入。如需在非本地主機環境中啟用持久化,請在設定中開啟「Persist API Keys on Non-Localhost」(不建議在共享或生產環境中啟用)。
K.G.Studio 不提供也不託管上述任何模型,也不隸屬於任何模型提供方。所有資料都儲存在您的本地裝置中;K.G.Studio 不會蒐集或傳輸您的資料。若您向第三方模型提供方傳送任何資料,相關責任由您自行承擔。
## K.G.One Music Generator
> **需要 [K.G.One Music Studio](https://github.com/KGAudioLab/K.G.One) 整合。** 只有當 K.G.Studio 連線到正在執行的 K.G.One 伺服器時,K.G.One Music Generator 面板才會可用。設定說明請參閱 [K.G.One 儲存庫](https://github.com/KGAudioLab/K.G.One)。
**K.G.One Music Generator** 面板提供三項經 GPU 加速的 AI 工具,用於音樂生成與音訊處理。點擊工具列中的 **✦(魔杖)** 按鈕即可開啟。該面板與 AI Assistant 聊天框互斥,開啟其中一個時,另一個會自動關閉。
> **注意:** 您首次使用每個工具時,伺服器都需要載入對應 AI 模型,這可能需要 60 秒甚至更久,具體取決於您的硬體。切換分頁時,也可能觸發模型重新載入。
### Full Song Generation
根據文字描述和可選歌詞生成一首完整歌曲。由 [ACE-Step 1.5](https://github.com/ace-step/ACE-Step-1.5) 驅動。
-**Full Song** 分頁中,於 **Caption** 中輸入自然語言描述,說明所需風格、情緒、速度、配器和結構。例如:`Genre: Eurodance, 90s dance-pop, upbeat electronic. Tempo: ~130 BPM. Instrumentation: driving kick drum, eurodance bassline...`
- 您也可以填寫 **Lyrics**。可使用 `[Intro]``[Verse]``[Chorus]``[Bridge]` 等標籤標記段落。若勾選 **Instrumental**,則會完全跳過人聲。
- 點擊 **Generate Song**。介面會即時顯示生成階段與百分比進度。
- 生成完成後,會顯示預覽播放器。您可以將其拖曳到 **audio track**,作為區域匯入。
- 目前不支援將整曲生成結果拖放到 MIDI track。
- **Advanced Settings**(可展開):Inference Steps、Guidance Scale、Seed,以及 ThinkingCoT metadata generation)。
### Clip Generation
根據文字描述生成短樂器片段和 MIDI loops。由 [Foundation-1](https://huggingface.co/RoyalCities/Foundation-1) 驅動。
-**Clip** 分頁中,於 **Prompt** 中輸入逗號分隔的標籤,描述樂器類別、子類型、音色、效果、長度、BPM 和調性。例如:`Gritty, Acid, Bassline, 303, Synth Lead, FM, Sub, High Reverb, 8 Bars, 140 BPM, E minor`
- 您也可以填寫 **Negative Prompt**,以避免生成某些不希望出現的特徵(例如 `distortion, noise`)。
- 選擇 **Bars**:4 或 8。BPM 與調號會根據專案設定預填,您也可以在 **Advanced Settings** 中調整。
- 點擊 **Generate Clip**。生成完成後,會出現一個預覽播放器,左側帶拖曳手把,右側帶下載按鈕。
- **匯入方式**:將播放器拖曳到時間線中的音軌上。
- 拖放到 **audio track** 時,會作為 WAV 音訊區域匯入(推薦)。
- 拖放到 **MIDI track** 時,會作為 MIDI 區域匯入。請注意,此 MIDI 是從音訊轉錄而來,可能並非完全準確。
- **Advanced Settings**(可展開):Note、Scale、BPM、Steps、CFG Scale、Seed`-1` 表示隨機)、Sampler Type、Sigma Min/Max,以及 CFG Rescale。
### Stem Separation
將現有音訊區域拆分為獨立 stems(例如人聲、伴奏、鼓組等)。
K.G.Studio 支援 **兩種模式** 的分軌:
#### 本地瀏覽器模式 — 無需伺服器 ✦
兩個 ONNX 模型可完全在瀏覽器中執行,無 API 呼叫、無費用,資料也不會離開您的裝置。模型只需下載一次,隨後會快取在本地。
- **Vocal and Instrument (Medium Accuracy)**`UVR-MDX-NET-Inst_HQ_3`,約 64 MB)— 雙 stem 分離(Vocals / Instrumental)。由 [UVR-MDX-NET](https://github.com/nomadkaraoke/python-audio-separator) 驅動。
- **Vocal, Drums, Bass, and Others**`htdemucs_4s`,約 172 MB)— 四 stem 分離(Vocals / Drums / Bass / Others)。由 [Demucs](https://github.com/facebookresearch/demucs) 驅動。
開啟 **Music Generator** 面板(工具列中的 ✦ 按鈕),選擇模型,先點擊一次 **Download Selected Model**,然後點擊 **Separate Stems**,所有處理都會在您的瀏覽器中本機完成。
**要求:** 需要支援 WebGPU 的瀏覽器(Chrome 113+ 或 Edge 113+),並執行在安全上下文中(HTTPS 或 localhost)。若可用,會優先使用 WebGPU 加速;否則會回退到 CPU(處理期間可能降低頁面回應性)。推薦硬體為至少 8 GB 顯存的 GPU,或至少 16 GB 統一記憶體的系統。
#### K.G.One 伺服器模式
當連線到 [K.G.One Music Studio](https://github.com/KGAudioLab/K.G.One) 伺服器後,可使用另外三種 GPU 加速模型。由 [python-audio-separator (UVR5)](https://github.com/nomadkaraoke/python-audio-separator) 驅動。
- **Vocal and Instrument (Medium Accuracy)**`UVR-MDX-NET-Inst_HQ_3`)— 快速雙 stem 分離(vocal / instrumental)。
- **Vocal and Instrument (High Accuracy)**`MDX23C-8KFFT-InstVoc_HQ`)— 更高品質的雙 stem 分離,但更慢。
- **Vocal, Drums, Bass, Guitar, Piano, and Others**`htdemucs_6s`)— 完整六 stem 分離。
#### 使用方式(兩種模式通用)
- 在開啟此分頁之前,請先在時間線上**選取一個音訊區域**。**Separator** 分頁頂部會顯示目前所選區域及其音軌名稱。僅支援音訊區域,不支援分離 MIDI 區域。
- 點擊 **Separate Stems**。如果目前所選區域帶有 clip start offset 或已被裁剪,系統會先自動按該區域範圍切出對應音訊,再進行處理。
- 處理完成後,每個 stem 都會以帶標籤的預覽播放器顯示,並附帶拖曳手把。您可以在匯入前分別試聽每個 stem。
- **匯入 stems**
- 可將每個 stem 播放器分別拖曳到 **audio track** 上,放到您希望的位置。
- 或點擊 **Import All Stems to Timeline**,系統會自動為每個 stem 新建一條音訊軌,並將其放置在源音軌下方,與原始區域的起始拍點對齊。該操作可透過一次復原完整回退。
## 即將推出的功能
功能優先級可能會變化。
### 1.0
- [X] 更多樂器
- [X] 自動化測試(單元測試、整合測試等)
- [X] 帶功能和聲指導(T/S/D)的智慧和弦助手
- [X] 支援軌道控制自動化(例如 sustain、volume、pan 等)
- [X] 支援 MIDI 控制事件(例如 CC、pitch bend 等)
- [X] 支援 WAV 音訊軌
- [X] 錄音
- [X] 事件列表
- [X] 支援 OpenAI 的開源模型(`gpt-oss-20b``gpt-oss-120b`
- [X] 五線譜
- [X] K.G.One Music Studio 整合
- [X] 瀏覽器內嵌 AI 模型(基於 Gemma 4 E4B 的本機 LLM;基於 UVR-MDX-NET-Inst_HQ_3 與 htdemucs_4s 的本機分軌)
- [X] 全域軌系統(Marker、Tempo、Key Signature、Chord
- [X] 音訊和弦檢測(零依賴 FFT,並將結果寫入 Chord Track
- [X] 帶自動對齊拍點的速度檢測
- [X] 頻譜可視化與 Piano Roll hybrid mode
### 1.0 之後
- [ ] 擴展 AI agent 工具,直接透過聊天操作區域、音軌與全域軌(和弦進行、速度、調性)
- [ ] Mixer 視圖,提供專用面板顯示每軌推桿、send、return bus 與 master channel
- [ ] EQ 與通道條,為每條音軌提供參數均衡器與壓縮器
- [ ] 濾波器與效果器,如混響、延遲及其他基於 WebAudio 的原生插入效果
- [ ] 音訊 time-stretch / warp,使音訊區域自動匹配專案速度
- [ ] MIDI 效果器,如琶音器、音階量化器、和弦記憶
- [ ] 虛擬 MIDI 裝置輸出
## 需要幫助
我們正在尋找貢獻者,一起讓 K.G.Studio 變得更好。無論您是開發者、音樂人還是設計師,您的專長都能帶來實際價值。
### 您可以如何參與
**🎵 音樂人 / 音樂製作人**
- 使用真實音樂製作流程測試這款 DAW
- 回饋樂器音色品質與真實感
- 提出音樂創作中不可或缺但目前缺失的功能
- 幫助提升 AI 助手的音樂理解能力
**💻 開發者**
- 根據路線圖實作新功能
- 修復 bug 並最佳化效能
- 增強 Web Audio 整合
- 改進 AI 助手能力
**🎨 UI/UX 設計師**
- 最佳化介面和工作流
- 設計更適合音樂編輯的視覺回饋
- 打造更直觀的互動方式
### 參與方式
如果您有興趣貢獻,我們很願意聽到您的想法。
- **給我們發郵件**[kgstudio@duck.com](mailto:kgstudio@duck.com)
- **查看 Issues**:瀏覽帶有 `help wanted``good first issue` 標籤的公開問題
- **參與討論**:在 GitHub Discussions 中分享想法與回饋
每一份貢獻都很重要。無論是回報 bug,還是提出新功能建議,都會推動專案繼續前進。
### 免責聲明
K.G.Studio 是一個處於早期開發階段的實驗性專案。我們正在探索如何將 AI agent 與 LLM 融入音樂製作工作流,本質上是在建構一種面向 DAW 的「Cursor 或 Claude Code」體驗。
該專案關注 AI 與人類協作如何增強音樂創作過程,從智慧和聲建議到自動化編輯任務都在探索範圍內。作為實驗平台,專案會頻繁變化,功能將持續演進,並且在我們推進 AI 輔助音樂製作邊界的過程中,偶爾出現不穩定情況也是可以預期的。
K.G.Studio 不提供也不託管任何 LLM 模型,也不隸屬於任何模型提供方。所有資料都儲存在您的本地裝置中;K.G.Studio 不會蒐集或傳輸您的資料。若您向第三方模型提供方傳送任何資料,相關責任由您自行承擔。
## 授權條款
本專案基於 Apache License, Version 2.0 授權,並附帶額外條款(參見 `LICENSE`):
- 不得使用本軟體或相關素材申請專利
- 當用於公開或商業產品時需要署名(「Powered by K.G.Studio」)
第三方聲明(FluidR3_GM SoundFont、midi-js-soundfonts、VexFlow、prompt structure notes、Gemma 4 E4B、UVR-MDX-NET-Inst_HQ_3、MediaPipe、Meyda、web-audio-beat-detector、tonal、htdemucs_4s、onnxruntime-web 和 demucs-web)已包含在 `LICENSE` 中。