
วิธีการพัฒนาแอพพลิเคชันด้วยภาษา PHP ร่วมกับการใช้งาน API ของ Google อย่าง Google Text to Speech API ในการแปลงประโยคเป็นไฟล์ MP3 นำมาออกเสียงผ่านหน้าเว็บไซต์
เป็น Tutorial สั้นๆ ที่เห็นไอเดียจากเว็บไซต์เมืองนอกหลายเว็บทำกัน ก็เลยหยิบมาลองให้ศึกษาทำตามดู
แนวทางการคิดคือ
- GET ค่าตัวแปรผ่าน Parameter (จะเป็น POST ก็ได้นะ)
- ทำการส่ง URL ผ่าน API ของ Google Text To Speech ของ Google Translate
- แปลง File ที่รับค่ามาเป็น MP3 ให้สร้างไฟล์เก็บไว้บน Server ของเว็บไซต์เรา
- หยิบ Code HTML5 มาแสดง Audio ไฟล์ของเว็บไซต์เราที่ทำการ Speech จากประโยคของเรา
ดังนั้น Code ที่ต้องทำก็คือ
<?php
$text = substr($_GET['words'], 0, 100);
$lang = "th";
$file = md5($lang."?".urlencode($text));
$file = "audio/" . $file .".mp3";
if(!is_dir("audio/"))
mkdir("audio/");
else
if(substr(sprintf('%o', fileperms('audio/')), -4)!="0777")
chmod("audio/", 0777);
if (!file_exists($file))
{
$mp3 = file_get_contents(
'http://translate.google.com/translate_tts?ie=UTF-8&q='. urlencode($text) .'&tl='. $lang .'&total=1&idx=0&textlen=5&prev=input');
file_put_contents($file, $mp3);
}
?>
<!DOCTYPE html>
<!--[if IE 7]>
<html class="ie ie7" lang="en-US">
<![endif]-->
<!--[if IE 8]>
<html class="ie ie8" lang="en-US">
<![endif]-->
<!--[if !(IE 7) | !(IE 8) ]><!-->
<html lang="en-US">
<!--<![endif]-->
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width">
<body>
<div align="center">
<audio controls="controls" autoplay="autoplay">
<source src="<?php echo $file; ?>" type="audio/mp3" />
</audio>
</div>
<div align="center"><a href="<?php echo $file; ?>">Download File MP3 ที่ทดสอบที่นี่</a><br/>คลิกขวา เลือก Save Target As</div>
</body>
</html>
สร้าง Directory ชื่อ audio ขึ้นมาเซ็ต CHMOD ให้เป็น 0777 เพื่อเก็บไฟล์ ที่นี้ก็ลองทดลองเล่นดูเลยครับ
ทดสอบได้ที่: https://www.daydev.com/apps/speech/index.php?words=%E0%B9%84%E0%B8%AD%E0%B9%89%E0%B8%AA%E0%B8%B2%E0%B8%94
Source Code: ให้ตายเถอะ Copy ไปก็ใช้ได้แล้ว อย่าได้ถามผมใน Facebook เลยนะครับ





