Skip to content

คู่มือ AI Voice Cloning ฉบับสมบูรณ์สำหรับสตูดิโออิสระ

— หลุดพ้นจากการพึ่งพาแพลตฟอร์ม พูดด้วยเสียงของตัวเอง

บันทึกการสร้างระบบโคลนเสียงในเครื่องตั้งแต่ต้น รวมทุกปัญหาที่เจอ


ทำไมต้องทำแบบนี้?

แพลตฟอร์มสังเคราะห์เสียงในปัจจุบันมีอยู่สองแบบ

ฟรี — เสียงซ้ำกันทุกที่ วิดีโอของคุณฟังเหมือนวิดีโอคนอื่นทุกประการ ไม่มีเอกลักษณ์ ผู้ฟังแค่สามวินาทีก็รู้ว่าคุณใช้แพลตฟอร์มไหน จะหาจุดเด่นได้จากที่ไหน?

เสียเงิน — คิดตามจำนวนตัวอักษร ทุกครั้งที่สร้างเสียงต้องนับในใจว่าประโยคนี้ราคาเท่าไหร่ กำลังบันทึกอยู่ยังลังเลว่าจะอัดใหม่ไหม พอสเกลขึ้น ค่าใช้จ่ายรายเดือนกลายเป็นตัวเลขที่ทำให้ขมวดคิ้ว

มีทางที่สามไหม?

มี สร้างเอง

ใช้โมเดล AI โอเพนซอร์ส สร้างบริการสังเคราะห์เสียงในเครื่องบนคอมพิวเตอร์ของตัวเอง ใช้เสียงของตัวเอง สร้างเนื้อหาของตัวเอง ไม่จำกัดตัวอักษร ไม่มีค่าบริการ เสียงเป็นของคุณ สไตล์เป็นของคุณ นี่คือสิ่งที่สตูดิโออิสระควรเป็น


ระบบนี้คืออะไร?

หลายคนพอได้ยินว่า "สร้าง TTS เอง" ก็นึกว่าต้องเขียนโปรแกรมสังเคราะห์เสียงตั้งแต่ต้น

ไม่ใช่แบบนั้น

แนวคิดใกล้เคียงกับการ "ตั้ง server เอง" มากกว่า:

ชั้นคืออะไรคุณต้องทำอะไร
โมเดล AIสมองของการสังเคราะห์เสียง ที่คนอื่นเทรนมาแล้วดาวน์โหลดมาใช้
Frameworkสภาพแวดล้อมที่ทำให้โมเดลรันได้ติดตั้งและตั้งค่า
เสียงของคุณตัวอย่างอ้างอิงสำหรับโมเดลอัดเสียง 4–6 วินาที
โค้ดของคุณส่วนเชื่อมต่อ input และ outputนี่คือส่วนที่คุณเขียน

เมื่อตั้งค่าเสร็จแล้ว คอมพิวเตอร์ของคุณจะรัน local service ที่มี Web interface ได้ทั้งใช้งานผ่านเบราว์เซอร์ หรือเรียก API จากโปรแกรม ทำให้มันเป็นส่วนหนึ่งของ pipeline อัตโนมัติของคุณ

โมเดลที่ใช้ในบทความนี้คือ GPT-SoVITS เหตุผลง่ายๆ: ผลลัพธ์ภาษาจีนเยี่ยมยอด อินเทอร์เฟซเป็นภาษาจีนทั้งหมด Voice Cloning ต้องการแค่ 4–6 วินาที โอเพนซอร์สและใช้เชิงพาณิชย์ได้ฟรี


คุณต้องมีอะไร?

ฮาร์ดแวร์

ระบบนี้ไม่ต้องการฮาร์ดแวร์สูง สภาพแวดล้อมทดสอบของบทความนี้คือ แล็ปท็อปธรรมดาที่ไม่มี GPU รันบน CPU ล้วนๆ

การตั้งค่าเวลาสร้าง 100–200 ตัวอักษร
มี GPU NVIDIA (VRAM 6GB ขึ้นไป)~10–30 วินาที
CPU เท่านั้น~150–250 วินาที

ถ้าใช้งานไม่หนัก CPU ล้วนๆ ก็เพียงพอ บันทึกเสียงวิดีโอวันละไม่กี่ตอน รอไม่กี่นาทีได้ไฟล์เสียง อยู่ในระดับที่รับได้

ซอฟต์แวร์

  • Windows 10 / 11
  • Python (บทความนี้ใช้ 3.11 — อธิบายเหตุผลด้านล่าง)
  • Miniconda (เครื่องมือจัดการเวอร์ชัน Python)
  • VS Code (สภาพแวดล้อมการพัฒนา)
  • Git

แนวคิดที่คุณต้องเข้าใจก่อน: Python virtual environment

ก่อนเริ่มติดตั้ง มีแนวคิดหนึ่งที่คุณต้องเข้าใจให้ชัด — ไม่เช่นนั้นจะสะดุดปัญหาซ้ำซาก

การจัดการแพ็กเกจของ Python มีแนวคิด "สภาพแวดล้อม"

ลองนึกภาพว่าคอมพิวเตอร์มีคลังสินค้าอิสระหลายแห่ง:

คอมพิวเตอร์ของคุณ
├── Python 3.14 ระดับระบบ (ค่าเริ่มต้น)
├── conda environment tts (Python 3.11 ที่เราสร้าง)
└── .venv (VS Code บางครั้งสร้างอัตโนมัติ)

แพ็กเกจในแต่ละคลัง แยกกันอย่างสมบูรณ์ สิ่งที่ติดตั้งในคลัง A มองไม่เห็นจากคลัง B

นี่คือเหตุผลที่หลายคนติดตั้งแพ็กเกจแล้วยังบ่นว่าหาไม่เจอ ติดตั้งแล้วแต่รันแล้วบอกไม่พบ สาเหตุมักมีอย่างเดียว — ติดตั้งผิดคลัง

GPT-SoVITS ต้องการ Python 3.11 แต่เครื่องคุณอาจมีเวอร์ชันใหม่กว่าอยู่แล้ว (สภาพแวดล้อมทดสอบของบทความนี้คือ 3.14) วิธีแก้คือใช้ Miniconda สร้าง environment Python 3.11 ที่แยกออกมาอย่างสมบูรณ์ ไม่กระทบกันกับ Python ของระบบ

เข้าใจแนวคิดนี้แล้ว ขั้นตอนติดตั้งด้านล่างจะไม่รู้สึกแปลก


ขั้นตอนการติดตั้ง

ขั้นที่ 1: ติดตั้ง Miniconda

รันคำสั่งใน VS Code terminal:

bash
winget install Anaconda.Miniconda3

หลังติดตั้งเสร็จ ปิด VS Code และเปิดใหม่ เพื่อให้ environment variable มีผล (ผู้เขียนบทความนี้ทำทุกอย่างใน VS Code terminal คุณก็ใช้ terminal ของระบบแยกได้ — ผลลัพธ์เหมือนกัน)

หลังเปิดใหม่ อนุญาตให้ PowerShell รัน script:

bash
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser

ยืนยันว่า conda ติดตั้งสำเร็จ:

bash
conda --version

เห็นเลขเวอร์ชันแสดงว่าสำเร็จ


ขั้นที่ 2: สร้าง environment Python 3.11

ยอมรับข้อกำหนดการให้บริการของ Anaconda (รันทีละบรรทัด แต่ละบรรทัดจะถามยืนยัน — พิมพ์ Y แล้วกด Enter):

bash
conda tos accept --override-channels --channel https://repo.anaconda.com/pkgs/main
conda tos accept --override-channels --channel https://repo.anaconda.com/pkgs/r
conda tos accept --override-channels --channel https://repo.anaconda.com/pkgs/msys2

สร้าง environment เฉพาะ:

bash
conda create -n tts python=3.11 -y

เปิดใช้งาน environment (ต้องทำทุกครั้งก่อนใช้):

bash
conda activate tts

เมื่อ terminal เปลี่ยนจาก (base) เป็น (tts) แสดงว่าสำเร็จ


ขั้นที่ 3: ดาวน์โหลด GPT-SoVITS

ไปที่โฟลเดอร์ทำงานและ clone โปรเจกต์:

bash
cd D:\โฟลเดอร์-ทำงาน-ของคุณ
mkdir tts-service
cd tts-service
git clone https://github.com/RVC-Boss/GPT-SoVITS.git
cd GPT-SoVITS

ขั้นที่ 4: ติดตั้งแพ็กเกจ

bash
pip install -r requirements.txt

ขั้นนี้จะดาวน์โหลดแพ็กเกจจำนวนมาก ใช้เวลาไม่กี่นาที ให้รันจนเสร็จ

⚠️ ปัญหาที่เจอ: เวอร์ชันขัดแย้ง

หลังติดตั้ง requirements.txt เสร็จ บางแพ็กเกจเวอร์ชันขัดแย้งกัน ต้องแก้ด้วยตนเอง:

bash
# gradio เวอร์ชันใหม่เกินไป — ดาวน์เกรด
pip install gradio==4.44.0

# ปัญหาเวอร์ชัน starlette และ fastapi
pip install "fastapi==0.115.0" "starlette>=0.37.2,<0.39.0"

# ปัญหาเวอร์ชัน jinja2
pip install jinja2==3.1.4

# แพ็กเกจที่ขาดหายไป
pip install psutil pyyaml ffmpeg-python
conda install -c conda-forge editdistance

⚠️ ปัญหาที่เจอ: torchaudio บน Windows

torchaudio เวอร์ชันใหม่บน Windows ต้องพึ่ง torchcodec แต่ torchcodec ไม่รองรับ Windows ต้องติดตั้งเวอร์ชันที่เข้ากันได้:

bash
pip install torchaudio==2.9.0 torch==2.9.0

⚠️ ปัญหาที่เจอ: ทรัพยากรภาษา NLTK

ครั้งแรกที่สร้างข้อความผสมจีน-อังกฤษ ต้องดาวน์โหลดโมเดลภาษาอังกฤษของ NLTK:

bash
python -c "import nltk; nltk.download('averaged_perceptron_tagger_eng')"

ขั้นที่ 5: ดาวน์โหลดโมเดล pre-trained

GPT-SoVITS ต้องการโมเดล pre-trained หลายตัวเพื่อทำงาน รวมประมาณ 3GB ดาวน์โหลดจาก HuggingFace:

bash
python -c "from huggingface_hub import snapshot_download; snapshot_download('lj1995/GPT-SoVITS', local_dir='GPT_SoVITS/pretrained_models')"

เวลาดาวน์โหลดขึ้นกับความเร็วอินเทอร์เน็ต — ประมาณ 30 นาทีถึง 1 ชั่วโมง ถ้าค้างให้กด Ctrl+C แล้วรันใหม่ รองรับการดาวน์โหลดต่อจากจุดที่หยุด

ต้องสร้างโฟลเดอร์ cache สำหรับโมเดลตรวจจับภาษา:

bash
mkdir GPT_SoVITS\pretrained_models\fast_langdetect

ขั้นที่ 6: เริ่มต้นบริการ

คำสั่งเริ่มต้นมาตรฐานสำหรับแต่ละเซสชัน:

bash
conda activate tts
cd D:\โฟลเดอร์-ทำงาน-ของคุณ\tts-service\GPT-SoVITS
C:\Users\ชื่อผู้ใช้\miniconda3\envs\tts\python.exe webui.py

ทำไมต้องใช้ path Python แบบเต็ม? VS Code บางครั้ง auto-activate environment .venv ทับ environment tts ของเรา ใช้ path แบบเต็มรับประกันว่าจะรัน Python ที่ถูกต้องเสมอ ไม่ถูกรบกวน

เมื่อเริ่มต้นสำเร็จ terminal จะแสดง:

Running on local URL: http://0.0.0.0:9874

เบราว์เซอร์จะเปิดอัตโนมัติและโหลด http://localhost:9874 — local server ของคุณทำงานแล้ว ทั้งระบบรันบนคอมพิวเตอร์ของคุณเอง


สร้างเสียงของคุณครั้งแรก

เตรียมตัวอย่างเสียง

ก่อนเริ่ม คุณต้องมีเสียงบันทึกของตัวเองเป็น reference audio

คำแนะนำการบันทึก:

  • ความยาว: 5–10 วินาที
  • สภาพแวดล้อม: ห้องเงียบ ปิดพัดลมและแอร์
  • อุปกรณ์: โทรศัพท์ก็เพียงพอ ไมค์โทรศัพท์สมัยใหม่รองรับ Voice Cloning ได้ดี จริงๆ ผู้เขียนทดสอบครั้งแรกด้วยไมค์ในตัวแล็ปท็อป... แปลกดีที่ก็ได้ผล
  • เนื้อหา: พูดตามธรรมชาติ ไม่ต้องเตรียมบท
  • รูปแบบ: MP3 หรือ WAV ก็ได้

โอนไฟล์บันทึกไปเก็บในตำแหน่งที่แน่นอน (เช่น D:\tts-service\my_voice.wav) ทุกเซสชันใช้ไฟล์เดิมนี้ ไม่ต้องบันทึกใหม่


เปิด inference interface

  1. เปิด http://localhost:9874 ในเบราว์เซอร์
  2. คลิกแท็บ 1-GPT-SoVITS-TTS
  3. คลิก sub-tab 1C-Inference
  4. กดปุ่มสีส้ม "Open TTS Inference WebUI"
  5. ⚠️ ปุ่มอาจไม่ตอบสนองนานกว่า 30 วินาที — นี่เป็นเรื่องปกติ (บทความนี้ใช้แล็ปท็อปรุ่นเก่าไม่มี GPU ความเร็วช้ากว่าปกติ) รอด้วยความอดทน อย่ากดซ้ำ
  6. เมื่อเริ่มต้นแล้ว แท็บเบราว์เซอร์ใหม่จะเปิดและโหลด http://localhost:9872 — นี่คือ interface สร้างเสียงจริง

การตั้งค่าพารามิเตอร์

พารามิเตอร์แนะนำสำหรับสไตล์นำเสนอการเงินที่สงบนิ่ง:

พารามิเตอร์ค่าแนะนำหมายเหตุ
ความเร็วพูด1.1เร็วกว่าธรรมชาติเล็กน้อย ฟังดูมีจังหวะมากขึ้น
หยุดระหว่างประโยค0.2 วินาทีการหยุดตามธรรมชาติระหว่างประโยค
top_k5ยิ่งน้อยยิ่งเสถียร เหมาะกับเนื้อหาทางการ
top_p0.8โหมดระมัดระวัง ลดการออกเสียงผิดธรรมชาติ
temperature0.7–1.0ยิ่งน้อยยิ่งแบน ยิ่งมากยิ่งมีอารมณ์
ตัดตามเครื่องหมายวรรคตอนเปิดสำคัญมาก ทำให้น้ำเสียงเป็นธรรมชาติมากขึ้น

"ตัดตามเครื่องหมายวรรคตอน" คือการตั้งค่าที่ส่งผลต่อความเป็นธรรมชาติมากที่สุด เมื่อเปิด โมเดลจะหยุดตามธรรมชาติที่จุดและลูกน้ำ ฟังดูเหมือนคนพูดมากกว่าเครื่องอ่านข้อความ


หมายเหตุสำหรับข้อความผสมจีน-อังกฤษ

การผสมจีน-อังกฤษยากที่สุดสำหรับ TTS — จุดเปลี่ยนภาษาทำให้มีความลังเลเล็กน้อย

การปรับปรุง: เพิ่มลูกน้ำก่อนคำนามเฉพาะภาษาอังกฤษเพื่อให้โมเดลมีช่วงเปลี่ยนภาษา นอกจากนี้ถ้าไม่อยากให้เสียง "มั่ว" เหมือนผู้เขียนตอนแรก ให้แยกชื่อแบรนด์ภาษาอังกฤษด้วยช่องว่าง เช่น Space X เพื่อให้โมเดลออกเสียงเป็นธรรมชาติแทนที่จะอ่านรวมกัน:

# เดิม
SpaceX จดทะเบียนในตลาดหลักทรัพย์

# ปรับปรุงแล้ว
,SpaceX จดทะเบียนในตลาดหลักทรัพย์

เทคนิคเล็กๆ นี้ปรับปรุงความลังเลตอนเปลี่ยนภาษาได้ชัดเจน


เวลาสร้างอ้างอิง (โหมด CPU)

ความยาวข้อความเวลาโดยประมาณ
น้อยกว่า 50 ตัวอักษร~50–80 วินาที
100–200 ตัวอักษร~150–250 วินาที
500+ ตัวอักษร~10–15 นาที

⚠️ สำคัญ: อย่าใช้เบราว์เซอร์ขณะกำลังสร้างเสียง เมื่อ CPU ประมวล TTS ทรัพยากรทั้งหมดโฟกัสที่การคำนวณ การเลื่อนหน้าจะแย่งทรัพยากรและทำให้เสียงที่ออกมากระตุก

วิธีทำงานที่แนะนำ: กดสร้าง แล้วไปทำอย่างอื่น กลับมาฟังผลลัพธ์


ส่งออกและบันทึก

เมื่อสร้างเสร็จ interface จะแสดง player และปุ่มดาวน์โหลด

  • คลิกดาวน์โหลด ชื่อไฟล์คือ audio.wav
  • บันทึกในโฟลเดอร์ดาวน์โหลดเริ่มต้นของเบราว์เซอร์
  • ⚠️ ทุกครั้งที่ดาวน์โหลดจะทับไฟล์เดิม — เปลี่ยนชื่อเวอร์ชันที่ถูกใจทันที

รวมเข้า pipeline อัตโนมัติ

GPT-SoVITS มี API ให้เรียกจากโปรแกรมได้โดยตรง ไม่ต้องใช้ Web interface ทุกครั้ง

การเรียกพื้นฐาน:

python
import requests

response = requests.get("http://localhost:9880", params={
    "text": "วันนี้เราจะพูดถึง...",
    "text_lang": "zh",
    "ref_audio_path": "D:/tts-service/my_voice.wav",
    "prompt_text": "เนื้อหาที่ reference audio พูด",
    "prompt_lang": "zh"
})

with open("output.wav", "wb") as f:
    f.write(response.content)

แบบนี้ pipeline ผลิตวิดีโอทั้งสายสามารถทำงานอัตโนมัติได้ (ส่วนสร้างข้อความใช้ Claude หรือ AI แพลตฟอร์มอื่นก็ได้ แล้วแต่ความถนัด):

Claude สร้างบทพูด

GPT-SoVITS API สร้างเสียง

FFmpeg รวมวิดีโอ

ผลลัพธ์สุดท้าย

แผนอนาคต

  • นำขึ้น cloud / MCP: นำบริการ TTS ในเครื่องไปไว้บน cloud server หรือห่อเป็น MCP tool ให้ AI เรียกตรงๆ ทั้งสองแนวทางมีสาระเหมือนกัน — ทำให้บริการนี้กลายเป็น API ที่เรียกจากระยะไกลได้ตลอดเวลา ไม่ต้องพึ่งแล็ปท็อปในเครื่อง
  • Fine-tune เสียง: ใช้การบันทึกเสียงของตัวเองมากขึ้นเพื่อเทรนโมเดลเฉพาะ เพิ่มความคล้ายและความเป็นธรรมชาติของเสียง

บทสรุป

จาก "จ่ายเงินค่าแพลตฟอร์มจนเจ็บปวด" ถึง "รันบริการโคลนเสียงบนคอมพิวเตอร์ของตัวเอง" — ระยะทางนั้นแค่บ่ายวันเดียว (หรือนอนหลับแล้วสู้ต่ออีกครึ่งวัน) และความอดทนผ่านปัญหา

ปัญหามีจริง เวอร์ชันขัดแย้ง สภาพแวดล้อมยุ่งเหยิง ปัญหา Windows compatibility — ทั้งหมดนี้เป็นส่วนหนึ่งของกระบวนการ และนั่นคือเหตุผลที่บทความนี้บันทึกทุกข้อผิดพลาดไว้

คุณไม่จำเป็นต้องเป็นวิศวกรเพื่อทำสิ่งนี้ คุณแค่ต้องยินดีทำทีละขั้น — และเมื่อเจอข้อผิดพลาด อย่าตื่นตระหนก คัดลอกข้อความแจ้งข้อผิดพลาดไปถาม AI

เสียงเป็นของคุณ ระบบเป็นของคุณ เนื้อหาเป็นของคุณ

นั่นคือสิ่งที่สตูดิโออิสระควรเป็น


อ่านเพิ่มเติม


สภาพแวดล้อมทดสอบ: Windows 11, แล็ปท็อปไม่มี GPU, Python 3.11, GPT-SoVITS เวอร์ชันล่าสุด
วันที่สร้าง: มิถุนายน 2026

คลังความรู้ดิจิทัล Ascentek