AGI google TTS

บทความเกี่ยวกับ PHPAGI ซึ่งจะทำให้เราเขียน PHP สั่งงาน Asterisk ได้ตามปรารถนา

Moderator: jubjang

AGI google TTS

โพสต์โดย sitt01 » 14 ก.พ. 2017 14:29

ตัวนี้ไม่ต้องทำfile เป็น mp3 แล้วมาเล่นใน asterisk อีกแล้วครับ และสามารถทำงานกับภาษาไทยและภาษาอื่นๆที่ google รองรับ
เครื่องที่จะใช้งานต้องต่อ อินเตอร์ฺเน็ตได้
วิธีการลงโปรแกรม

โปรแกรมที่เกี่ยวข้อง
1.
โค้ด: เลือกทั้งหมด
yum install perl-Crypt-SSLeay.x86_64

2.โปรแกม googletts
โค้ด: เลือกทั้งหมด
cd /var/lib/asterisk/agi-bin/
wget --no-check-certificate https://raw.githubusercontent.com/zaf/a ... gletts.agi
amportal chown

3 format สำหรับการใช้งานใน dailplan เพิ่มคำสั่งใน /etc/asterisk/extensions.conf หรือ vi /etc/asterisk/extensions_custom.conf
โค้ด: เลือกทั้งหมด
exten => 1234,1,agi(googletranslate.agi,"ทดสอบการออกเสียงภาษาไทย",th)

ถ้าจะใช้กับค่าตัวแปร
โค้ด: เลือกทั้งหมด
exten => 1235,n,agi(googletranslate.agi,"${ตัวประที่ต้องการ}",th)

th แทนภาษาไทย ถ้าต้องการ เป็นภาษาอังกฤษให้ใช้ en

หมายเหตุ ถ้าต้องการให้อ่านตัวเลขต้องใช้ตัวอักษรนำก่อนแล้วค่อยใส่ตัวเลข ไม่อย่างนั้นไม่จะไม่อ่าน และ จะอ่านตัวเลขเป็นตัวนะครับ เช่น 1234 มันจะออกเสียง หนึ่งสองสามสี่ ไม่ออกเสียง หนึ่งพันสองร้อยสามสิบสี่
เช่น
exten => 1234,1,agi(googletranslate.agi,"1234 ",th) //จะไม่มีเสียง
exten => 1234,1,agi(googletranslate.agi,"อ่านว่า 1234 ",th)// ..จะออกเสียง อ่านว่าหนึ่งสองสามสี่ ไม่ออกเสียง อ่านว่าหนึ่งพันสองร้อยสามสิบสี่


credit : http://zaf.github.io/asterisk-googletranslate/
http://forums.asterisk.org/viewtopic.php?t=66357
http://www.klaverstyn.com.au/david/wiki ... r_asterisk

ผิดพลาดอย่างไรก็ขออภัยนะครับ ลงไว้กันลืมเช่นเคย
ข้อดีของการเป็นคนทำคอมพิวเตอร์ คือ ทำยังไงคอมพิวเตอร์ก็จะไม่เจ๊ง ถ้าไม่ไปยุ่งกับ Hardware อย่างมากก็แค่เสียเวลาลง โปรแกรมใหม่ แต่อย่างว่ายิ่งลงบ่อยเท่าไรก็ยิ่งขำนาญเท่านี้น
sitt01
Gold Member
 
โพสต์: 261
ลงทะเบียนเมื่อ: 17 ม.ค. 2011 14:19

Re: AGI google TTS

โพสต์โดย sitt01 » 14 ก.พ. 2017 14:43

การ ใช้ google TTS ใน PHP

โค้ด: เลือกทั้งหมด
$agi->exec("AGI","googletts.agi,\"ทดสอบ \",th");


หรือ
โค้ด: เลือกทั้งหมด
$agi->exec("AGI","googletts.agi|\"ทดสอบ \"|th"); //สำหรับversion ใหม่ๆ


ใช้กับตัวแปร
โค้ด: เลือกทั้งหมด
$agi->exec("AGI","googletts.agi,\"คำพูดที่ต้องการ ${ตัวแปรที่กำหนด} \",th");

หรือ
โค้ด: เลือกทั้งหมด
$agi->exec("AGI","googletts.agi|\"คำพูดที่ต้องการ ${ตัวแปรที่กำหนด} \"|th"); //สำหรับversion ใหม่ๆ


ของผม elastix 2.5 ใช้ดำสั่งที่เป็น , ครับ ถ้าไม่ทำงานก็เปลี่ยนจก , เป็น |
ข้อดีของการเป็นคนทำคอมพิวเตอร์ คือ ทำยังไงคอมพิวเตอร์ก็จะไม่เจ๊ง ถ้าไม่ไปยุ่งกับ Hardware อย่างมากก็แค่เสียเวลาลง โปรแกรมใหม่ แต่อย่างว่ายิ่งลงบ่อยเท่าไรก็ยิ่งขำนาญเท่านี้น
sitt01
Gold Member
 
โพสต์: 261
ลงทะเบียนเมื่อ: 17 ม.ค. 2011 14:19

Re: AGI google TTS

โพสต์โดย sitt01 » 14 ก.พ. 2017 14:50

ขออภัย คำสั่งใน หัวข้อแรกผิดนะครับ
ต้องใช googletts.agi แทน googletrasnlate.agi
format สำหรับการใช้งานใน dailplan เพิ่มคำสั่งใน /etc/asterisk/extensions.conf หรือ vi /etc/asterisk/extensions_custom.conf
โค้ด: เลือกทั้งหมด
exten => 1234,1,agi(googletts.agi,"ทดสอบการออกเสียงภาษาไทย",th)

ถ้าจะใช้กับค่าตัวแปร
โค้ด: เลือกทั้งหมด
exten => 1235,n,agi(googletts.agi,"${ตัวประที่ต้องการ}",th)

th แทนภาษาไทย ถ้าต้องการ เป็นภาษาอังกฤษให้ใช้ en

หมายเหตุ ถ้าต้องการให้อ่านตัวเลขต้องใช้ตัวอักษรนำก่อนแล้วค่อยใส่ตัวเลข ไม่อย่างนั้นไม่จะไม่อ่าน และ จะอ่านตัวเลขเป็นตัวนะครับ เช่น 1234 มันจะออกเสียง หนึ่งสองสามสี่ ไม่ออกเสียง หนึ่งพันสองร้อยสามสิบสี่
เช่น
exten => 1234,1,agi(googletts.agi,"1234 ",th) //จะไม่มีเสียง
exten => 1234,1,agi(googletts.agi,"อ่านว่า 1234 ",th)// ..จะออกเสียง อ่านว่าหนึ่งสองสามสี่ ไม่ออกเสียง อ่านว่าหนึ่งพันสองร้อยสามสิบสี่


credit : http://zaf.github.io/asterisk-googletranslate/
http://forums.asterisk.org/viewtopic.php?t=66357
http://www.klaverstyn.com.au/david/wiki ... r_asterisk

ผิดพลาดอย่างไรก็ขออภัยนะครับ ลงไว้กันลืมเช่นเคย
ข้อดีของการเป็นคนทำคอมพิวเตอร์ คือ ทำยังไงคอมพิวเตอร์ก็จะไม่เจ๊ง ถ้าไม่ไปยุ่งกับ Hardware อย่างมากก็แค่เสียเวลาลง โปรแกรมใหม่ แต่อย่างว่ายิ่งลงบ่อยเท่าไรก็ยิ่งขำนาญเท่านี้น
sitt01
Gold Member
 
โพสต์: 261
ลงทะเบียนเมื่อ: 17 ม.ค. 2011 14:19

Re: AGI google TTS

โพสต์โดย sitt01 » 16 ก.พ. 2017 13:11

คำสั่งแปลง code ให้อ่านภาษาไทยได้ เพื่อบางคนดึงข้อมูลมาจากdatabase แล้วไม่เป็นภาษาไทย

โค้ด: เลือกทั้งหมด
str_replace(",","",iconv("tis-620", "utf-8", $ตัวแปรที่ต้องการ));
ข้อดีของการเป็นคนทำคอมพิวเตอร์ คือ ทำยังไงคอมพิวเตอร์ก็จะไม่เจ๊ง ถ้าไม่ไปยุ่งกับ Hardware อย่างมากก็แค่เสียเวลาลง โปรแกรมใหม่ แต่อย่างว่ายิ่งลงบ่อยเท่าไรก็ยิ่งขำนาญเท่านี้น
sitt01
Gold Member
 
โพสต์: 261
ลงทะเบียนเมื่อ: 17 ม.ค. 2011 14:19


ย้อนกลับไปยัง PHPAGI - Where PHP Connects To Asterisk

ผู้ใช้งานขณะนี้

กำลังดูบอร์ดนี้: ไม่มีสมาชิกใหม่ และ บุคคลทั่วไป 0 ท่าน

cron