สร้าง AI Voice Assistant ด้วย ElevenLabs และ Node.js
เรียนรู้วิธีสร้างผู้ช่วยเสียง AI บน Node.js เชื่อมต่อ ElevenLabs API สำหรับสังเคราะห์เสียงพูดสมจริงและโคลนเสียง พร้อมใช้คำสั่งง่ายๆ

ภาพประกอบจากคลังภาพสต็อก ไม่ใช่ภาพจากเหตุการณ์จริง
- ใช้ ElevenLabs API และ Node.js สร้าง AI Voice Assistant
- ตั้งค่าระบบง่ายๆ ด้วย native fetch ไม่ต้องลงไลบรารี HTTP เพิ่ม
- รองรับการโคลนเสียงด้วยตัวอย่างไฟล์เสียงเพียง 10 วินาที
- เพิ่มความสามารถตอบคำถามด้วย OpenAI ร่วมด้วยได้
หากคุณกำลังมองหาวิธีเพิ่มเสียงพูดที่มีความธรรมชาติ แสดงอารมณ์ได้ และสามารถเลียนแบบเสียงเฉพาะบุคคลให้กับแอปพลิเคชันของคุณ ElevenLabs ถือเป็นบริการ Text-to-Speech (TTS) และการโคลนเสียงที่ได้รับความนิยมสูงในปัจจุบัน ด้วย API ที่เรียกใช้งานผ่าน HTTP เพียงไม่กี่คำสั่ง พร้อมแพ็กเกจฟรีสำหรับนักพัฒนาที่เพียงพอต่อโปรเจกต์งานอดิเรกและงานต้นแบบ
ในบทความนี้เราจะพาไปขั้นตอนการสร้าง AI Voice Assistant อย่างง่ายโดยใช้ Node.js และ ElevenLabs API ซึ่งจะช่วยให้คุณได้เครื่องมือบรรทัดคำสั่ง (Command-line tool) ที่พร้อมทำงาน เริ่มต้นด้วยการเตรียมความพร้อมของระบบโดยตรวจสอบเวอร์ชัน Node ผ่านคำสั่ง node -v และติดตั้ง ffmpeg ผ่านตัวจัดการแพ็กเกจของระบบ เช่น brew install ffmpeg หรือ apt-get install ffmpeg

ภาพประกอบจากคลังภาพสต็อก ไม่ใช่ภาพจากเหตุการณ์จริง
โครงสร้างไดเรกทอรีของโปรเจกต์ voice-assistant/ จะประกอบด้วยไฟล์สำคัญดังนี้:
.envสำหรับเก็บ API keysindex.jsเป็นจุดเริ่มต้นหลักของโปรแกรมtts.jsเป็น wrapper ขนาดเล็กสำหรับเรียกใช้งาน ElevenLabspackage.jsonสำหรับจัดการแพ็กเกจ
คุณสามารถสร้างโฟลเดอร์และเริ่มต้นใช้งาน npm ได้ด้วยคำสั่ง mkdir voice-assistant && cd voice-assistant ตามด้วย npm init -y และ npm install dotenv openai โดยโค้ดของเราจะมีความเบาและหลีกเลี่ยงการพึ่งพาไลบรารีภ J การเรียก HTTP เพิ่มเติมเนื่องจากเราใช้ native fetch ที่มีมาให้อยู่แล้ว
การใช้ native fetch ใน Node.js เวอร์ชันใหม่ๆ ช่วยลดภาระในการติดตั้งแพ็กเกจเสริมอย่าง axios ทำให้โปรเจกต์ขนาดเล็กอย่าง Voice Assistant มีความคล่องตัวสูงและบำรุงรักษาง่ายขึ้น เหมาะอย่างยิ่งสำหรับนักพัฒนาที่ต้องการต้นแบบที่รวดเร็ว
จากนั้นให้สร้างไฟล์ .env เพื่อเก็บค่าคีย์ความปลอดภัย:
ELEVENLABS_API_KEY=your_elevenlabs_key_hereOPENAI_API_KEY=your_openai_key_here(สำหรับกรณีต้องการเพิ่มความสามารถให้ผู้ช่วยตอบคำถาม)
เมื่อต้องการใช้งาน ให้โหลดค่าเหล่านี้ขณะรันไทม์ และหากต้องการให้ผู้ช่วยสามารถตอบคำถามได้แทนที่จะเป็นแค่การทวนสิ่งที่คุณพิมพ์ ให้เพิ่มตัวช่วยจาก OpenAI เล็กน้อย จากนั้นรันคำสั่ง node index.js คุณจะเห็นพรอมต์ ป้อนคำถาม ดู LLM ตอบกลับทางคอนโซล และได้ยินเสียงพูดผ่านลำโพงของคุณ
นอกจากนี้ ElevenLabs ยังเปิดให้คุณอัปโหลดตัวอย่างเสียงสั้นๆ ความยาวเพียง 10 วินาทีของเป้าหมายเพื่อสร้าง Voice ID เฉพาะตัวได้ ผ่านคำสั่ง curl ตัวอย่างเช่นการส่งคำขอ POST ไปยัง https://api.elevenlabs.io/v1/voices/add พร้อมแนบ xi-api-key, Content-Type: multipart/form-data, ชื่อเสียง name=MyClone และไฟล์ตัวอย่าง files=@/path/to/sample.wav
การตอบกลับจะส่งค่า voice_id กลับมา ซึ่งคุณสามารถนำไปแทนที่อาร์กิวเมนต์ voiceId ในฟังก์ชัน synthesize() เพื่อให้เสียงโคลนของคุณพูดคำตอบจาก LLM ออกมาได้
ที่มา: Dev.to
พบข้อมูลผิดพลาดในบทความนี้? แจ้งปัญหาบทความนี้
ความคิดเห็น
แสดงความคิดเห็น