分享程式代碼相關筆記
目前文章總數:247 篇
最後更新:2026年 08月 29日
上一篇已經完成 GPT-SoVITS v2 的資料前處理、訓練與推理
但真正要把生成聲音放進商業產品時,第一個問題不是模型參數,而是: 「我是否有權使用這些聲音?」
正確做法:我們應該從資料集的官方來源確認授權,並保存下載當下的授權文字與版本。
以下是公有領域、CC0、CC BY 4.0 的核心意義說明。
公有領域(Public Domain):
代表目前這個作品【沒有任何著作權保護,最終目的都是讓作品可以被任何人自由使用】
通常成為 Public Domain是因為以下幾種原因:
1. 著作權保護期滿:例如貝多芬的交響樂、莎士比亞的小說(作者死後已超過 50 或 70 年)。
2. 不適用著作權保護:例如法律條文、政府官方公報。
3. 歷史古老檔案:在近代著作權法誕生前就存在的文物。
CC0 :
Creative Commons 提供的法律工具,讓【權利人盡可能在全球範圍內拋棄著作權與相關權利,將作品貢獻給公眾使用。】
由於各國法律對權利拋棄的承認程度不同,CC0 還包含備援授權機制:若某地區無法完整拋棄權利,則在條款範圍內提供廣泛、免權利金的使用許可。
CC BY 4.0 :
CC BY 4.0 沒有「相同方式分享」的限制。它允許你自由重製、修改、散布,並允許完全的商業利用。唯一義務:你只【需要在模型發布頁面或產品說明中,明確標示原語音資料集的作者與出處(姓名標示)即可。】
以下是補充相關參考:
Public Domain 官方說明:Public Domain List
CC0 官方說明:CC0 1.0 Universal
CC BY 4.0 官方說明:Attribution 4.0 International
以下是整理合法使用查詢,基本上 CC0 1.0 可以任意使用 , Public Domain 要看地區與其他權力說明
有點麻煩的 CC BY 4.0 也可以商用,但要署名、授權、並明確標示有修改
| 名稱 | 性質 | 是否允許商用 | 是否要求署名 |
|---|---|---|---|
| Public Domain | 作品已不受著作權限制的狀態 | 通常可以 ,但要確認適用地區與其他權利 | 通常不要求 |
| Public Domain Mark | 標示作品已在全球公有領域的資訊工具 | 可以 但依作品實際法律狀態 | 工具本身不建立授權 |
| CC0 1.0 | 權利人盡可能將作品貢獻至公有領域的法律工具 | 可以 包含商業用途 | 不強制,但保留來源是良好做法 |
| CC BY 4.0 | 允許分享、修改與商用的授權 | 可以 | 必須適當署名、附授權連結並標示修改 |
| CC BY-NC | 僅限非商業使用 | 禁止 | |
| CC BY-ND | 不允許散布修改後版本 | 禁止 |
依照 Creative Commons 的 CC0 說明,在權利人有權處分的範圍內,使用者可以複製、修改、散布與演出作品
也可以用於商業目的,而不必另外取得許可或強制署名。
對資料工程而言,CC0 的優勢是減少以下不確定性:
| 動作 | 確定方向 |
|---|---|
| 下載與複製語料 | 原則上允許 |
| 重新切割與轉檔 | 原則上允許 |
| 修改標註與清理音訊 | 原則上允許 |
| 用於模型訓練 | 在 CC0 涵蓋的著作權及相關權利範圍內,原則上可進行 |
| 商業產品使用 | CC0 允許商業用途 |
| 散布原始或修改資料 | CC0 本身原則上允許,但仍要檢查下載平台是否另有約定 |
| 署名 | CC0 不強制,仍建議留下來源與版本 |
不過,這裡的關鍵詞一直都是「CC0 涵蓋的權利範圍內」,不是「世界上所有法律風險自動消失」。
Creative Commons 明確提醒,CC0 不影響專利、商標,以及其他人可能擁有的公開形象、隱私或類似人格權
CC0 也不保證套用授權的人真的擁有所有必要權利。
聲音模型特別容易遇到這個落差:
音訊檔案的著作權可以是 CC0
- 說話者同意你以他的身份代言
- 可以暗示說話者支持你的產品
- 可以拿聲音進行詐騙或身分冒充
- 每一個國家都不保護聲音、姓名與人格利益
因此,用 CC0 音檔訓練模型 與 用可辨識人物的聲音建立商業角色 是兩個不同層級的決策。
若模型輸出會讓一般人辨識出特定真人,或產品刻意使用該人物姓名、照片、故事與聲音形象,應另行確認 人格權、公開權、消費者保護、廣告與不實代言等問題
即使資料採 CC0,也不要只下載音檔後就刪掉所有來源資訊。資料集頁面可能更新、搬家或改版,數月後很難重新證明當時看到的條款。
建議每一個訓練資料集都建立一份授權證據包,例如後續用 ljspeech_v1.1 建立聲音模型,可以這樣建立 licenses:
licenses/
└── ljspeech_v1.1/
├── SOURCE_URL.txt
├── LICENSE.html
├── DATASET_PAGE.pdf
├── DOWNLOAD_DATE.txt
├── CHECKSUMS.txt
├── PROCESSING_LOG.md
└── MODEL_CARD.md
上述的目錄對應的檔案內容說明(參考):
| 檔案 | 建議內容 |
|---|---|
| SOURCE_URL.txt | 官方資料集頁面與實際下載網址 |
| LICENSE.html | 下載當天看到的完整授權內容 |
| DATASET_PAGE.pdf | 官方說明頁快照 |
| DOWNLOAD_DATE.txt | 日期、資料版本與下載帳號 |
| CHECKSUMS.txt | 原始壓縮檔雜湊值,證明使用哪一版資料 |
| PROCESSING_LOG.md | 切割、轉檔、清理與移除資料的紀錄 |
| MODEL_CARD.md | 模型用途、限制、資料來源、測試與禁止用途 |
這些紀錄不能取代法律審查,但能讓授權來源、模型血緣與後續刪除流程更容易追蹤。
資料集頁面上雖有 licenses:CC0,但商用前建議還是先檢查以下:
| 層級 | 要確認的問題 |
|---|---|
| 1. 資料授權 | 音訊、文字、標註與中繼資料是否採相同授權? |
| 2. 平台條款 | 是否禁止重新託管、重新辨識說話者或特定用途? |
| 3. 人格與隱私 | 生成結果是否可識別特定真人,或暗示真人代言? |
| 4. 產品用途 | 使用地區、廣告內容、風險產業與目標使用者是否需要額外審查? |
只要其中一層不清楚,就建議先不使用,可能 CC0 來源出處有異動未完整。
LJSpeech 是最常見的單一說話者英文 TTS 資料集之一,由同一位女性說話者朗讀七本非小說類作品的段落,並提供每一段音訊對應的文字。
注意 Licenses:Public Domain (因為區域確定是美國,可以任意商用,製成聲音模型也無問題)
依照官方 v1.1 頁面,資料集包含以下內容:
| 項目 | LJSpeech v1.1 |
|---|---|
| 說話者 | 單一女性說話者 |
| 語言 | 英文 |
| 音訊數量 | 13,100 |
| 總長度 | 約 24 小時 |
| 單段長度 | 約 1~10 秒 |
| 格式 | Mono、16-bit PCM WAV、22,050 Hz |
| 標註 | 原始文字 + 正規化文字 |
| 官方標示 | 美國境內為 Public Domain,官方頁面表示音訊、文字與標註皆為公有領域 |
官方資料集:The LJ Speech Dataset
可以從中間的 Download 下載上述完整資料 (2.6 GB)
GPT-SoVITS 最好是用一個個人且乾淨的聲音來訓練模型
而 LJSpeech 本身就是單一說話者資料,音訊長度也已切成句子或子句,因此比大型多人 ASR 語料更容易整理。
以下是其優點:
| 優點 | 對 GPT-SoVITS 的幫助 |
|---|---|
| 單一說話者 | 不必先從數千個 Speaker 中分離目標人物 |
| 已切割短句 | 能減少音訊切割工作 |
| 提供逐句標註 | 不必從零執行 ASR |
| 有正規化文字 | 數字、序數與貨幣等形式已展開,較適合 TTS |
| 規模充足 | 可自由抽取幾分鐘到數小時進行不同實驗 |
| 資料格式一致 | 容易批次轉換成 GPT-SoVITS .list |
以下是其應用場景:
LJSpeech 是朗讀語料,語氣較接近有聲書旁白;若目標是自然聊天、遊戲吶喊或廣告情緒,
它只能提供穩定的英文旁白基礎,不會憑空產生資料中不存在的表演風格。
因此若是做為 有聲故事書 是很好的聲音模型
解壓縮後,主要內容通常如下:
LJSpeech-1.1/
├── metadata.csv
└── wavs/
├── LJ001-0001.wav
├── LJ001-0002.wav
└── ...
所有英文朗讀的音訊皆在 wavs 資料夾下
文字的集料集在 metadata.csv 中,使用半形 | 分隔三個欄位:
ID|原始逐字稿|正規化逐字稿
建立 GPT-SoVITS 資料時,通常可優先使用第三欄正規化文字:
※實際轉換完成後,仍要試聽比對文字。官方也說明原始錄音來自 128 kbps MP3,因此部分片段可能保留有損壓縮產生的音質瑕疵。
LJSpeech 官方頁面表示資料在 美國屬於公有領域 ,且不要求署名
頁面同時使用「most likely other countries」描述其他國家,這 不等於對全球所有司法管轄區提供保證
若產品會跨國發行,建議保留以下紀錄並由法律專業人員確認,若是美國可以安心使用:
資料集:LJSpeech v1.1
官方來源:https://keithito.com/LJ-Speech-Dataset/
說話者:Linda Johnson
整理者:Keith Ito
來源作品:官方頁面所列七本作品
下載日期:XXXX-XX-XX
使用資料範圍:XXXX
模型用途:XXXX
生成聲音揭露方式:XXXX
※即使不強制署名,也不要把模型命名成真人姓名並暗示對方提供商業代言。較安全的做法是建立獨立的虛構角色名稱,對外標示聲音由 AI 合成,並避免使用說話者照片或身分包裝產品。
基於上一篇 GPT-SoVITS 訓練模型的方式來成生聲音
英文朗讀者的腔調來唸颱風新聞稿的內容,新聞來源:
強烈颱風白海豚來勢洶洶,目前正進行眼牆置換,不排除再增強,路徑方面則略為北轉,
可能一路向西進入中國,不過,氣象粉專「台灣颱風論壇|天氣特急」提醒,
菲律賓東方海域還有熱帶擾動發展,預估未來路徑將180度大迴轉,最後被白海豚吞併。
若無法從網頁撥放可以點擊下載
OpenSLR 主旨是一個託管語音 + 語言資源的網站,來自官方的 About OpenSLR:
優點是有多個國家的語言,包含印度、中國、葡萄牙等等…
缺點是大多是CC BY 4.0 (標註出處等相關資訊)
OpenSLR is a site devoted to hosting speech and language resources,
such as training corpora for speech recognition,
and software related to speech recognition.
We intend to be a convenient place for anyone to put resources that they have created,
so that they can be downloaded publicly.
OpenSLR 提供多個子集,進入 Resources 頁面:
有分成多種類的資源,如果要訓練語音模型會以 Speech 為目標,取得演講者的聲訊:
| 欄目 | 說明 |
|---|---|
| Resoucre | 下載來源的頁面 |
| Name | 此資源的定義名稱 |
| Category | 種類,包含軟體、演講聲音稿等等 |
| Summary | 關於資源的描述與介紹 |
OpenSLR 所有子集並非都是 Public Domain、CC0,大多是CC BY 4.0
我們以 SLR60 為例,進入該頁面後,有多個子集合可以選擇下載:
但要注意 Licenses:CC BY 4.0 (商用需標註相關資訊)
| 子集 | 官方壓縮檔大小 | 適合用途 |
|---|---|---|
| dev-clean | 約 1.2 GB | 快速研究資料結構與挑選說話者 |
| dev-other | 約 924 MB | 測試較具挑戰性的語音 |
| test-clean | 約 1.2 GB | 品質抽查與流程驗證 |
| test-other | 約 964 MB | 測試音質容錯 |
| train-clean-100 | 約 7.7 GB | 中型乾淨訓練來源 |
| train-clean-360 | 約 27 GB | 大型乾淨訓練來源 |
| train-other-500 | 約 44 GB | 規模最大但品質差異也需要更多篩選 |
要做單一 GPT-SoVITS 聲線時,可以先下載 dev-clean 研究 Speaker 結構
再決定是否需要取得較大的其他 Train 子集
LibriTTS 的資料夾會依 Speaker ID、Chapter ID 分層。
因為資料集已經將說話者的聲音分類,因此訓練單一 GPT-SoVITS 模型時,可以輕鬆鎖定一個 Speaker ID
LibriTTS/
└── dev-clean/
└── Speaker_ID/
└── CHAPTERS/
├── XXXX_XXXX_XXXX.wav
├── XXXX_XXXX.book.tsv
├── XXXX_XXXX.trans.tsv
├── XXXX_XXXX.trans.original.txt
└── XXXX_XXXX.trans.normalized.txt
LibriTTS 不是 CC0,而是 CC BY 4.0。
※因為 CC BY 4.0 也並未需要商用的關係,因此 跳過 OpenSLR 聲音演示
該授權允許複製、修改與商業使用,但必須提供適當署名、附上授權連結。
並指出是否進行修改;也不能用署名方式暗示原作者或資料提供者替你的產品背書。
實際署名內容仍應依 CC BY 4.0 條款、官方資料集頁面提供的引用資訊與產品呈現方式調整。
可在模型卡、產品授權頁或專案 About 頁加入類似下圖內容,Template 參考來源:wikimedia Template:Cc-by-4.0
Mozilla Data Collective 是資料平台,不是「平台上的所有檔案都是 CC0」的同義詞。
資料提供者可以設定開源、社群治理、付費或其他條款,
因此每一個 Dataset 都要單獨閱讀 License、Restrictions、Forbidden Usage 與 Intended Use。
平台首頁:Mozilla Data Collective
進入後可以選擇 All Datasets 瀏覽所有可下載的資料集
Common Voice 是大型群眾協作語音資料計畫,涵蓋多種語言、口音與說話者。
以 2026 年 6 月發布的 Common Voice Scripted Speech 26.0 - Chinese (Taiwan) 為例,官方資料頁標示為 CC0-1.0,內容包含大量台灣人口語語音。
該版本資料頁:Common Voice Scripted Speech 26.0 - Chinese (Taiwan)
資料中常見欄位如下:
| 欄位 | 說明 |
|---|---|
| client_id | 說話者的雜湊 UUID |
| path | 音訊檔相對路徑 |
| sentence | 實際朗讀文字 |
| up_votes | 認為聲音符合文字的票數 |
| down_votes | 認為聲音不符合文字的票數 |
| age | 說話者自願提供的年齡資訊 |
| gender | 說話者自願提供的性別資訊 |
| accents | 說話者自願提供的口音資訊 |
| locale | 語言地區代碼 |
Common Voice 是多人、多設備、多環境的 ASR 語料。強項是語言與口音多樣性,不是每位說話者都有足夠且錄音一致的片段可訓練高品質單一 TTS 聲線。
Common Voice 26.0 English 資料頁雖然標示 CC0-1.0,但同一頁也列出 Forbidden Usage:禁止嘗試判定資料集中說話者的身分,也禁止重新託管或重新分享該資料集。
因此使用時應同時遵守兩個層次:
資料授權:CC0-1.0
平台 / 下載條件:不得嘗試辨識說話者身分、不得重新託管或重新分享資料集
不能因為看到 CC0,就忽略下載時同意的其他條件。模型與產品文件也不應以任何方式推測 client_id 背後的真實人物。
解壓縮後,主要資料夾內容通常如下:
cv-corpus-26.0-2026-06-12/
├── clip_durations.tsv
├── dev.tsv
├── invalidated.tsv
├── other.tsv
├── reported.tsv
├── test.tsv
├── train.tsv
├── unvalidated_sentences.tsv
├── validated.tsv
├── validated_sentences.tsv
└── zh-TW/
└── clips
├── common_voice_zh-TW_XXXXXXXX.mp3
├── common_voice_zh-TW_XXXXXXXX.mp3
└── ...
每個聲音檔都在同一個資料夾下,必須要有個機制分類出 相同的說話者聲音,否則無法用於 GPT-SoVITS 訓練
| 欄位 | 用途 |
|---|---|
| client_id | 匿名說話者 ID;相同 ID 原則上視為同一人聲 |
| path | 對應 clips 內的 MP3 檔名 |
| gender | 錄音者自願填寫的性別 |
| age | 錄音者自願填寫的年齡層 |
| accents | 自願填寫的出生地、腔調或自由文字描述 |
| sentence | 音檔朗讀內容 |
| up_votes/down_votes | 錄音與文字是否相符的投票,不代表音質 |
| 所屬 TSV | 音檔的驗證狀態 |
實際上在 dev.tsv 中,有清楚表描述每個 client_id 對應的 .mp3 檔案,可以用此方式找出同批說話者
可以找出心儀的聲音,然後用 client_id 逐一找出
或者使用 AI Agent 將解壓縮後的資料夾提供給 AI,並授予權限,請求協助分類
最終 ChatGPT AI Agent 的 CodeX 協助分類完成,每個人都在 Speaker_by 資料夾下歸檔,便於日後使用
cv-corpus-26.0-2026-06-12/
├── clip_durations.tsv
├── dev.tsv
├── invalidated.tsv
├── other.tsv
├── reported.tsv
├── test.tsv
├── train.tsv
├── unvalidated_sentences.tsv
├── validated.tsv
├── validated_sentences.tsv
└── zh-TW/
└── clips
└── by_speaker
├── 00a80d3d246b8f...
├── common_voice_zh-TW_XXXXXXXX.mp3
├── common_voice_zh-TW_XXXXXXXX.mp3
└── ...
├── 00a90505453fec...
├── common_voice_zh-TW_XXXXXXXX.mp3
├── common_voice_zh-TW_XXXXXXXX.mp3
└── ...
└── ...
基於上一篇 GPT-SoVITS 訓練模型的方式來成生聲音
英文朗讀者的腔調來唸颱風新聞稿的內容,新聞來源:
強烈颱風白海豚來勢洶洶,目前正進行眼牆置換,不排除再增強,路徑方面則略為北轉,
可能一路向西進入中國,不過,氣象粉專「台灣颱風論壇|天氣特急」提醒,
菲律賓東方海域還有熱帶擾動發展,預估未來路徑將180度大迴轉,最後被白海豚吞併。
此為 台灣人的聲音,因此會比用英語系國家口音,聽起來更為自然
若無法從網頁撥放可以點擊下載