google-sheet2Html

/*! * * Google Sheets To HTML v0.9a * * To use, simply replace the "tq?key=" value in the * URL below with your own unique Google document ID * * The Google document's sharing must be set to public * */ google.load('visualization', '1', { packages: ['table'] }); var visualization; function drawVisualization() { var query = new google.visualization.Query('https://spreadsheets.google.com/tq?key=https://docs.google.com/spreadsheets/d/1-vUEZ9tae5C_OXzSi0dQPWwUrO3H5S-gImB5afFgqDg/edit?usp=sharing'); query.setQuery('SELECT A, B, C, D label A "Duration", B "Song", C "Requested By", D "URL"'); query.send(handleQueryResponse); } function handleQueryResponse(response) { if (response.isError()) { alert('There was a problem with your query: ' + response.getMessage() + ' ' + response.getDetailedMessage()); return; } var data = response.getDataTable(); visualization = new google.visualization.Table(document.getElementById('table')); visualization.draw(data, { legend: 'bottom' }); } google.setOnLoadCallback(drawVisualization);
Showing posts with label sox. Show all posts
Showing posts with label sox. Show all posts

Saturday, June 18, 2016

ตัวช่วยทดสอบ Digital voice


คำสั่ง sleep ช่วยทดสอบ Digital voice


(นักวิทยุสมัครเล่นขั้นต้น ไม่อนุญาติให้ทำการทดสอบ นะครับ ผู้เขียนแค่ศึกษา ไม่ได้ทดสอบออกอากาศ เลย  จริง จริงงงงงง)

ในการศึกษา การเข้ารหัสและถอดรหัสสัญญาณ ผู้เขียน ได้ QSO ตามความถี่ช่องต่างๆ ที่สัญญาณ พอไปถึง เพื่อหาคนช่วยศึกษา หา คู่สถานนี ที่ รู้เรื่อง Linux พอจะฟังวิธีศึกษา จากผู้เขียนเข้าใจไม่ได้ สุดท้ายเลย ต้องทำคนเดียว เป็นปัญหาอย่างมาก ที่ต้องกด คีย์ออกอากาศ ที่ เครื่องหนี่ง และ ไป ฟังอีกเครื่องหนึ่ง

เพื่อแก้ปัญหานี้ ก็เลย ให้ คอมพวิเตอร์ กด ออกอากาศให้
ใน โพสทนี้ จะใช้ คำสั่ง ตั้งเวลา เหมือนการวางระเบิดเวลา ด้วย คำสั่ง sleep ใช้คำสั่งนี้ ก็มีเวลามากพอไปเตรียม ถอดรหัสสัญญาณ ได้

รู้จักคำสั่ง sleep
sleep เป็นคำสั่งใน bash ใช้เพื่อหยุดการทำงานชั่วคราว มีรูปแบบการใช้งานดังนี้
$ sleep ตัวเลขกำหนดเวลา [Suffix]
Suffix มีความหมายดังนี้

s คือ วินาที (เป็นค่าดีฟอล์ท จะพิมพ์อักษร s หรือไม่ก็ได้)
m คือ นาที
h คือ ชั่วโมง
d คือ วัน
ลองใช้คำสั่งดู
$ sleep 3 (หรือ $ sleep 3s) เป็นคำสั่งให้หยุด 3 วินาที
$ sleep 1m เป็นคำสั่งให้หยุด 1 นาที (สังเกตุ หมายเลขหนึ่งและอักษร mพิมพ์ติดกัน)

ใน bash หากต้องการให้คำสั่งที่ 1 ทำงานสำเร็จ แล้ว ทำงานในคำสั่งที่ 2 ทำงานต่อเนื่อง ทำได้โดยใช้เครื่องหมาย && (หากคำสั่งที่ 1 ทำงานไม่สำเร็จ จะไม่ทำงานคำสั่งที่ 2) ลองทำสอบการใช้งานให้พิมพ์คำสั่ง

$ sleep 2 && echo “Done”

คอมพิวเตอร์จะหยุด 2 วินาที จากนั้นจะพิมพ์ คำว่า Done ออกทางจอภาพ


จากบทความฉบับที่แล้ว เราได้ติดตั้ง ไมโครโฟน ทั้งได้ปรับแต่งตั้งค่าไมโครโฟนด้วย alsamixer จากนั้นได้รู้จักโปรแกรมsox แล้ว
ให้ทดสอบการบันทึกเสียง
คำสั่งคือ rec ตามด้วยชื่อ ไฟล์ ตัวอย่าง เช่น

$ rec rectest.wav

เราจะได้ ไฟล์ชื่อ rectest.wav ที่ไดเรคทอรี่ ที่เรียกใช้งานปัจจุบัน จากนั้นลองเล่นเสียงด้วยคำสั่ง play

$ play rectest.wav

จะได้ยินเสียงที่ทำการบันทึกไว้

ต่อไปเราจะทำให้โปรแกรม sox สามารถรองรับ ไฟล์ mp3 ได้ ต้องติดตั้ง ไลเบอรี libsox-fmt-mp3 เพิ่มเติมด้วยคำสั่ง
$ sudo apt-get install libsox-fmt-mp3

ผู้เขียนได้ทำการ สร้างไฟล์เข้ารหัสเสียง ชื่อ codecAudio.mp3 มาไว้ในโฟลเดอร์ ที่ใช้งานปัจจุบัน เพื่อทำการทดสอบ
ต่อไปลองตั้งเวลาในตัวอย่าง ตั้งเวลา 1 นาที แล้วทำการเล่นเพลง codecAudio.mp3 ด้วยคำสั่งดังนี้

$ sleep 1m && play codecAudio.mp3

แล้วไปยัง เครื่องรับ เพื่อรับเสียง มาทำการทดสอบ ต่อไป
เออ คนเดียว ก็ทำได้วะ แต่ขาดเพื่อน ปรึกษา เวลา ติดปัญหา เนอะ




Saturday, June 11, 2016

แปลงไฟล์ เสียงให้เป็น GSM





เปลี่ยน ไฟล์ wav ให้เป็น gsm ด้วย sox (Sound eXchange)

แจ้งไว้ตรงนี้ก่อนสำหรับผู้ที่ใช้ windows ถ้าอยากจะแปลงไฟล์เสียงเป็น ไฟล์ GSM ให้ใช้โปรแกรม Audacity


ทำการดาโหลด ได้ที่ http://www.audacityteam.org/download/



SoX ได้ชื่อว่า เป็น Swiss Army knife of audio สามารถทำงานเกี่ยวกับ เสียง ทั้งบันทึก เสียง เล่นไฟล์ เสียง แปลงไฟล์ เสียง ได้หลากหลาย อ่านรายละเอียดได้ที่ http://sox.sourceforge.net/soxformat.html

ไฟล์ เสียง GSM ย่อมาจาก Global System for Mobile Communications นิยมใช้ในการส่งข้อมูลเสียงในระบบ โทรศัพท์ เคลื่อนที่ปรกติ digital GSM จะมี sample rate ที่ 8000 hz (8 kHz)

ในบทความนี้ จะแปลงเสียง  จาก ไมโครโฟน ไปเป็น ไฟล์ เสียง GSM

ขั้นตอน ติดตั้ง SoX ด้วยเหตุที่ เราต้องการ แปลงเสียงเป็น gsm ทำให้ ต้องทำการติดตั้ง libraries libsox-fmt-all เพิ่มเพื่อทำการแปลงไฟล์ gsm ทำการติดตั้งด้วย

$ sudo apt-get install sox libsox-fmt-all
กดตอบ Y เพื่อเริ่มติดตั้ง




ลองทดสอบการ บันทึกเสียงด้วยคำสั่ง rec
 
$ rec -r 8000 -c 1 record_voice.gsm

-r 8000 คือค่า sample rate ที่ 8000 hz (8 kHz)
- c 1 คือ บันทึกเสียง แบบ mono
จะได้ไฟล์เสียง ชื่อ record_voice.gsm


เล่น ไฟล์เสียง gsm ด้วย คำสั่ง play