# เสียง ## ภาพรวม Neotask รองรับการโต้ตอบด้วยเสียงผ่านหลายระบบ: การตรวจจับ wake word, การสนทนาด้วยเสียงต่อเนื่อง (talk mode) และ text-to-speech สำหรับการตอบสนองด้วยเสียง ## Wake Word ### Swabble (macOS) Swabble คือ macOS daemon แบบ native ที่ให้การตรวจจับ wake word ด้วยเสียงแบบ always-on, **บนอุปกรณ์** โดยใช้ Apple Speech.framework **ฟีเจอร์:** - การประมวลผลในเครื่องเท่านั้น, ไม่มีเสียงออกจากอุปกรณ์ของคุณระหว่างการตรวจจับ wake word - Wake word ที่กำหนดได้ - การจับเสียงและการถอดเสียงอย่างต่อเนื่อง - การรัน hook, ทริกเกอร์คำสั่งเชลล์เมื่อตรวจพบ wake word - การถอดเสียงไฟล์, แปลงไฟล์เสียงเป็นข้อความ (รูปแบบ TXT หรือ SRT) - Cooldown, จำนวนตัวอักษรขั้นต่ำ และ timeout ที่กำหนดค่าได้ **วิธีทำงาน:** 1. Swabble รับฟังอย่างต่อเนื่องโดยใช้ system microphone 2. เมื่อตรวจพบ wake word ในข้อความพูด จะจับเสียงที่ตามมา 3. ข้อความที่จับได้ถูกส่งไปยังเอเจนต์ผ่านคำสั่ง hook ที่กำหนดค่า 4. เอเจนต์ประมวลผลคำสั่งเสียงและตอบสนอง ### Node Wake Word บนแอปคู่หู iOS และ Android เสียงปลุกถูกจัดการแบบ native: - การกำหนดค่า wake word เป็นของ Gateway - Node รับการกำหนดค่า wake word เมื่อเชื่อมต่อ - การตรวจจับใช้การจดจำเสียงพูดแบบ native ของแพลตฟอร์ม ## Talk Mode Talk mode เปิดใช้งานการสนทนาด้วยเสียงอย่างต่อเนื่อง, พูดตามธรรมชาติและฟังเอเจนต์ตอบสนอง ### วิธีทำงาน 1. **Speech-to-Text**, เสียงของคุณถูกถอดเสียงแบบ real-time (Deepgram streaming หรือ platform-native STT) 2. **Agent Processing**, ข้อความที่ถอดเสียงถูกส่งไปยังเอเจนต์ของคุณเป็นข้อความธรรมดา 3. **Text-to-Speech**, การตอบสนองของเอเจนต์ถูกพูดออกมาให้คุณ ### Voice State Machine Talk mode เปลี่ยนระหว่างสี่สถานะ: | สถานะ | คำอธิบาย | |-------|-------------| | **Idle** | ไม่ได้รับฟังอยู่ | | **Listening** | จับและถอดเสียงพูดของคุณ | | **Thinking** | เอเจนต์กำลังประมวลผลคำขอของคุณ | | **Speaking** | กำลังพูดการตอบสนองของเอเจนต์ | ### ผู้ให้บริการ Text-to-Speech | ผู้ให้บริการ | คำอธิบาย | |----------|-------------| | **ElevenLabs** | การสังเคราะห์เสียงคุณภาพสูงพร้อมการเลือกเสียง | | **OpenAI TTS** | OpenAI text-to-speech API | ### ค่ากำหนดเสียง - **การเลือกเสียง**, เลือกจากเสียง TTS ที่มี - **System prompt กำหนดเอง**, แทนที่บุคลิกภาพของเอเจนต์สำหรับโหมดเสียง - **รูปแบบการตอบสนองกำหนดเอง**, ควบคุมวิธีที่เอเจนต์จัดรูปแบบการตอบสนองด้วยเสียง - **การรองรับภาษา**, Voice string ที่แปลเป็นภาษาท้องถิ่นสำหรับ 18+ ภาษา ## คำสั่งเสียง ### การตรวจจับหลาย Intent เอเจนต์สามารถตรวจจับและรันคำสั่งเสียงหลายขั้นตอน: > "สร้างกิจกรรมปฏิทินสำหรับพรุ่งนี้เวลา 3 โมงบ่าย แล้วส่งอีเมลถึงทีมเกี่ยวกับมัน และโพสต์การเตือนความจำใน Slack" สิ่งนี้ถูกแยกวิเคราะห์โดยอัตโนมัติเป็นลำดับคำสั่ง แต่ละรายการถูกรันตามลำดับโดยผลลัพธ์ไหลไปยังขั้นตอนถัดไป ### การรันเครื่องมือ ระหว่างการสนทนาด้วยเสียง เอเจนต์สามารถรันเครื่องมือเหมือนกับในการสนทนาด้วยข้อความ, เรียกดูเว็บ รันโค้ด จัดการไฟล์ ควบคุมอุปกรณ์ และอื่น ๆ ผลลัพธ์ถูกสรุปและพูดออกมา ### Action Truth Enforcement โหมดเสียงรวมถึงการตรวจสอบว่าการอ้างสิทธิ์ของเอเจนต์ตรงกับผลลัพธ์เครื่องมือจริง หากเอเจนต์บอกว่า "ฉันส่งอีเมลแล้ว" แต่เครื่องมืออีเมลล้มเหลว ระบบจะตรวจจับความไม่สอดคล้องและรายงานผลจริง ## การโทรด้วยเสียง (Plugin) Voice Call plugin เพิ่มการรองรับ SIP telephony: - การจัดการสายเรียกเข้า - สายโทรออก (ขึ้นอยู่กับผู้ให้บริการ) - เสียงสองทิศทางแบบ real-time (PCM stream) - การสังเคราะห์ TTS ที่ฉีดเข้าใน call audio ## การจัดการโควต้า บริการเสียงอาจมีโควต้าการใช้งาน: - การจัดสรรนาทีรายเดือนสำหรับ TTS + STT - การติดตามต่อเซสชัน - การเตือนที่ 80% ของการใช้งาน - การตัดอัตโนมัติที่ขีดจำกัดโควต้า