By Arnon Puitrakul - 24 พฤษภาคม 2021
เมื่อไม่กี่วันก่อน Apple ประกาศว่าใน Apple Music เอง ก็จะรองรับไฟล์เพลงแบบ Lossless แล้ว ที่สำคัญ ไม่เพิ่มราคาด้วย เมื่อเทียบกับ Platform อื่น ๆ อย่าง Tidal ที่ราคาต่อเดือนแพงกว่า แต่ก็ได้ไฟล์ Lossless เหมือนกัน หลาย ๆ คนอาจจะ งง ว่า แล้วไฟล์แบบ Lossy และ Lossless คืออะไร มันต่างกันยังไง วันนี้เรามาหาคำตอบกัน
ก่อนที่เราจะไปเข้าใจว่า การทำงานของ Lossy และ Lossless มันคืออะไร เรามาทำความเข้าใจเรื่องของ เสียง กันก่อน ถ้าเราเรียนในฟิสิกส์มา เราจะรู้ว่า เสียง มันก็คือคลื่นนั่นเอง โดยที่มันก็จะเข้าไปสั่นในกระดูกในหูของเรา ทำให้เราได้ยินเสียง เหมือนที่เราได้ยินนั่นเอง เมื่อเราเอา ความถี่ และ เวลามา Plot เราก็จะเห็นเป็น Graph เหมือนที่เราน่าจะเคยเห็นในโปรแกรมสำหรับทำงานกับไฟล์เสียงนั่นเอง
แต่มนุษย์เราก็มีข้อจำกัดในเรื่องของการฟังเสียงอยู่เช่นกันคือ มนุษย์เราจะได้ยินเสียงที่แค่ 20 Hz จนไปถึง 20 kHz เท่านั้น ทำให้ ไม่ว่าเราจะอัดเสียงที่อยู่นอกความถี่ที่เราได้ยินมาเท่าไหร่ เอามาฟัง เราก็จะไม่ได้ยินแน่นอน
ในการอัดเสียงเข้ามา สมัยก่อน เราก็จะใช้ในระบบ Analog เลย ตัวอย่างเช่นแผ่นเสียง ที่เราจะใช้หลักการของการใช้หัวเพชร สร้างร่องในแผ่นไวนิล ขึ้นลงซ้ายขวา เพื่อแทนการเก็บความถี่ของเสียงนั่นเอง ทำให้ การเก็บข้อมูลแบบนี้ มันสามารถเก็บได้ทุกความถี่เลยจริง ๆ แต่ปัญหามันคือการ Copy ที่ทำได้ยากมาก ๆ ไหนจะเรื่องการดูแลรักษาอีก ที่ฝุ่นเข้าไปตามร่องได้ ก็ทำให้เสียงเปลี่ยนไปอีก ไม่ค่อยน่ารักเท่าไหร่
พอมาในยุคที่ระบบ Digital เฟื่องฟูแล้ว เสียง จากเดิมที่เราอัด และ Distribute แบบ Analog ก็เปลี่ยนผ่านมาสู่ระบบ Digital นั่นเอง จนตอนนี้ น้อยมาก ๆ แล้วนะ ที่เราจะฟังเพลงในแบบ Analog ยกเว้น เราไปฟังดนตรีสด ซึ่งพวกนั้นเสียงจากเครื่องดนตรี เข้าหูเราเต็ม ๆ ได้ทุกย่านแน่นอน
อ่านมาถึงตรงนี้ อาจจะ งง ว่าแล้วคำว่า Analog และ Digtial มันต่างกันยังไง ถ้าทำความเข้าใจง่าย ๆ คือ ระบบ Analog เป็นข้อมูลสัญญาณแบบต่อเนื่อง ถ้าเราลองเอามา Plot เป็นกราฟดู เราจะเห็นว่า มันเป็นเส้นต่อเนื่องกันตลอดทั้งข้อมูล ตัวอย่างของการใช้ระบบ Analog ก็คือ พวกแผ่นเสียง หรือเสียงสัญญาณในโทรศัพท์ ล้วนเป็นระบบ Analog ทั้งนั้น
แต่กลับกันระบบ Digital เราแทนข้อมูลสัญญาณด้วยค่า จำนวนสองค่าด้วยกัน คือ 0 และ 1 แทนค่าไปเรื่อย ๆ เทียบง่าย ๆ ให้เห็นภาพก็คือ การปิด และ เปิด อุปกรณ์สร้างสัญญาณนั่นเอง ถ้าเราต้องการจะส่ง 1 ไป เราก็อาจจะเป็นการเปิดเครื่องสร้างสัญญาณ แล้วพอจะส่ง 0 เราก็ปิดมันในช่วงเวลานิด ทำให้กราฟที่ออกมา เป็นลักษณะเหมือนด้านบนนั่นเอง
ปัญหาของระบบ Analog คือ ด้วยความที่สัญญาณในทุก ๆ ช่วงมีเวลา มีความหมายเหมือนกันหมด ดังนั้น โอกาสที่มันจะโดนรบกวนนั้นเป็นไปได้ง่ายมาก ๆ เหมือนกับเวลาเราดูทีวีสมัยก่อนเลย ตอนสัญญาณดี ๆ มันก็จะภาพชัดโอเคเลย แต่พอเริ่มมีคลื่นรบกวนหน่อย มันก็จะเจออาการซ่า ๆ เห็นภาพบ้าง ไม่เห็นบ้างนั่นเอง
แต่แน่นอนว่า เราสามารถแปลงทั้ง 2 ระบบนี้กลับไปกลับมาได้อยู่เหมือนกัน อุปกรณ์นึงที่นักฟังเพลงน่าจะเคยได้ยินก็คือ DAC (Digital-to-Analog Converter) ตามชื่อเลย ก็คือ เป็นอุปกรณ์ที่แปลงข้อมูลจากระบบ Digital เป็น Analog นั่นเอง กลับกัน ก็จะมี ADC (Analog-to-Digital Converter) เช่นกัน
เคยสังเกตมั้ยว่า ทำไมเสียงที่เราฟังจากไฟล์ต่าง ๆ ทำไมมันไม่เหมือนกับเสียงเวลาเราไปฟังดนตรีสด สาเหตุส่วนหนึ่งมันเป็นเพราะ ขั้นตอนการแปลงเสียงจากระบบ Analog เป็น Digital นั่นเอง ซึ่งขั้นตอน เราก็จะเริ่มจาก เรามีสัญญาณที่เป็นแบบ Analog มา ทีนี้ สิ่งที่เราต้องการคือ เราต้องการเก็บข้อมูลที่ต่อเนื่อง ด้วยวิธีที่ไม่ต่อเนื่อง ถ้าเราคิดเร็ว ๆ เราควรจะทำยังไงดี
วิธีคือ เราจะตัดเลือกเป็นช่วง ๆ เวลาไป เช่นใน 1 วินาทีเราอาจจะซอยออกมาสัก 100 ชิ้น แปลว่า ส่วนที่เหลือ ที่ไม่ได้เลือกมา เท่ากับว่า ข้อมูลส่วนนั้น ก็จะหายไปเป็น Loss Data ใน Process นั่นเอง โดยที่เราเรียกว่า Sampling Rate นั่นเอง เราอาจจะเคยได้ยินในยิน เช่นไฟล์เพลง 44.1 kHz จากไฟล์ MP3 หรือก็คือ ใน 1 วินาที จะมีการเลือกมา 44,100 ชิ้นนั่นเอง
เพื่อลด Data Loss จากการซอยช่วงเวลาให้น้อยเราลง เราจำเป็นที่จะต้องใช้ Sampling Rate ที่มากขึ้น เช่นพวกเสียงแบบความละเอียดสูงที่เขานิยามว่า มันจะต้องมากกว่า 44.1 kHz เช่น 192 kHz หรือก็คือ 192,000 ชิ้นใน 1 วินาที ซึ่งมากกว่าไฟล์เสียงที่ใช้ Samping Rate 44.1 kHz ถึง 4 เท่ากว่า ๆ เลย ทำให้เสียงที่เราได้มันสมบูรณ์ขึ้นนั่นเอง แน่นอนว่า การที่เราใช้ Sampling Rate สูงขึ้น หมายถึงขนาดของไฟล์ที่ใหญ่ขึ้นด้วยเช่นกัน
อีกแกนที่ต้องเลือกคือแกน Y หรือก็คือความถี่นั่นเอง จริง ๆ มันก็เหมือนกับ เราเก็บข้อมูลทั่ว ๆ ไปในคอมพิวเตอร์เลย ถ้ามันเป็นตัวเลข เช่น 30 เราก็สามารถแทนมันให้เป็นเลขฐาน 2 ได้ 11110 นั่นเอง หรือก็คือ เราจะต้องใช้ 5 Bits ในการเก็บนั่นเอง ซึ่ง 5 Bits นี้ ถ้าเราใช้เต็มหมด หรือก็คือ 11111 เราจะเก็บได้ทั้งหมด 2 ยกกำลัง 5 แบบ ด้วยกัน ซึ่งจำนวน Bit พวกนี้ เราจะเรียกว่า Bit Depth
กลับไปที่เรื่องของความถี่แปลว่า ถ้าเรายิ่งใช้จำนวน Bit เยอะขึ้นเรื่อย ๆ แปลว่า เราจะซอยแกน Y ได้มากขึ้นเรื่อย ๆ ด้วยเช่นกัน ทำให้ไฟล์เสียงที่ได้มีความละเอียดมากขึ้นนั่นเอง เช่นในไฟล์ MP3 เราก็จะเก็บอยู่ที่ 16 Bits แต่ในไฟล์ที่บอกว่าเป็น Hi-Res หรือความละเอียดสูง อาจจะเก็บอยู่ที่ 24 Bits หรือมากกว่านั้นอีก
ดังนั้นเวลาเราคุยกันว่า ไฟล์เสียงนี้ ความละเอียดเท่าไหร่ เราจะคุยกันด้วยค่า 2 ตัวคือ Sampling Rate และ Bit Depth นั่นเอง หรืออีกค่า คือ Bitrate
Bitrate ความหมายของมันก็ตามชื่อเลยคือ จำนวน Bit ต่อหน่วยเวลา ซึ่งหน่วยเวลาที่เราคุยกันคือ kbps หรือ 1000 Bit ต่อ วินาที (kb/s) การคำนวณง่าย ๆ ก็คือ เราก็เอา Bit Depth คูณด้วย Sampling Rate และคูณด้วยจำนวน Channel
จำนวน Channel ก็จะมาจากว่า เสียงของเราเป็นไฟล์แบบ Mono, Stereo หรือมากกว่านั้น ถ้าเป็น Mono ก็คือช่องเดียว คูณ 1 ไป หรือถ้าเป็น Stereo เราก็จับคูณ 2 เพราะมี 2 ช่องสัญญาณ เราก็จะได้ออกมาเป็น Bitrate นั่นเอง
จาก Bitrate ก็ทำให้เราสามารถคำนวณออกมาเป็นขนาดของไฟล์ได้เช่นกัน เช่น เพลงนี้อาจจะความยาวประมาณ 4 นาที หรือ 240 วินาที และเราเลือกใช้ Sampling Rate 44.1 kHz พร้อมกับ Bit Depth อีก 16 Bits เป็นไฟล์ Stereo
เมื่อคำนวณ Bitrate ออกมา มันก็จะอยู่ที่ 1,411,200 Bit/s และเราบอกว่า 240 วินาที ก็คูณกันออกมาได้ 388,688,000 Bits แล้วก็คำนวณกลับมาเป็น MB เราก็จะอยู่ที่ประมาณ 41.3 MB
แล้วลองนึกถึงสมัยก่อนดูว่า Internet ความเร็วยังไม่ถึง Mbps ถ้าจะ Stream ก็น่าจะเละอยู่เหมือนกัน ดังนั้น เราต้องทำอะไรบางอย่างเพื่อให้ขนาดมันเล็กลง สิ่งที่เราทำได้ ก็น่าจะเป็นเรื่องของการบีบอัดนั่นเอง ซึ่งไฟล์เสียงที่ไม่ได้รับการบีบอัด เราก็เลยเรียกไฟล์พวกนี้ว่า Uncompressed Audio Format ตัวอย่างเช่น WAV และ AIFF
ในโลกของการบีบอัด เราสามารถแบ่งมันออกมาได้เป็น 2 แบบใหญ่ ๆ ด้วยกันคือ Lossless Compression และ Lossy Compression
Lossless Compression เป็นการบีบอัดข้อมูลแบบที่เมื่อเราขยายข้อมูลกลับมา เราก็จะได้ข้อมูลเดิมเหมือนก่อนจะบีบอัดนั่นเอง ในกรณีของไฟล์เสียงก็คือ ทำให้เราได้ไฟล์เดิม ๆ มาเลย แต่ แน่นอนว่า นั่นก็มากับขนาดที่ค่อนข้างใหญ่ แต่ก็ยังเล็กกว่าตัวที่ไม่ได้ผ่านการบีบอัด ตัวอย่างของไฟล์ที่ใช้แบบ Lossless คือ FLAC (Free Lossless Audio Codec) หรือจะเป็น ALAC (Apple Lossless Audio Codec) ที่เป็นของ Apple
ส่วน Lossy Compression จะตรงกันข้ามกับ Lossless เลยคือ เป็นการบีบอัด แบบมีการสูญเสียข้อมูลบางอย่างออกไป เพื่อให้ได้ขนาดที่เล็กมาก ๆ ซึ่งแต่ละสกุลไฟล์ มันก็จะใช้วิธีที่แตกต่างกันออกไป ตัวอย่างเช่น MP3 เขาใช้วิธีที่เรียกว่า Perception Coding
หลักการก็คือ มนุษย์เราได้ยินเสียงในช่วงย่านความถี่หนึ่งเท่านั้น ทำให้เสียงที่อยู่บนความถี่ที่สูง หรือต่ำเกินไปกว่าที่มนุษย์จะได้ยิน เราก็น่าจะตัดออกได้ เพราะเราไม่ได้ยินอยู่แล้ว ทำให้ขนาดไฟล์มันเล็กลงได้เยอะมาก ๆ เช่นจาก 33 MB อาจจะเหลือแค่ 3.3 MB เลยก็ได้ ซึ่งเป็นขนาดไฟล์ที่ค่อนข้างเล็กมากพอที่จะ Stream หรือส่งกันไปมาได้ง่ายใน Internet
ทำให้มันเป็นรูปแบบที่นิยมในปัจจุบันสูงมาก ๆ โดยเฉพาะ บน Music Streaming Platform ต่าง ๆ อย่าง Apple Music และ Spotify ที่เลือกใช้ Format อย่าง AAC ในการ Stream กันแล้ว
หลาย ๆ คนอาจจะถามว่า แล้วการที่เราฟังเพลง Hi-Res มันจำเป็นมั้ย จริง ๆ ก็จำเป็นนะ เพราะ Recording Industry Association of America (RIAA) ได้ระบุไว้ว่า การจะเป็น Hi-Res ต้องมีคุณภาพที่สูงกว่า CD Quality คือ 44.1 kHz/16 Bits พร้อมกับเป็น Lossless ที่ทำให้ทุกย่านความถี่ยังคงอยู่เหมือนที่ Sound Engineer ต้องการ
กลับกัน ถามว่า Lossless จำเป็นต้องเป็น Hi-Res มั้ย คำตอบคือ ไม่เสมอไปนะ สมมุตินะว่า เราเอาไฟล์เพลงที่ผ่านการบีบอัดแบบ Lossy มาแล้ว เช่นไฟล์ MP3 มาแปลงสกุลเป็น Lossless Format อย่าง FLAC สุดท้าย เรามานั่งดู เออ มันก็ดูจะเป็น Lossless เราเลยเรียกไฟล์พวกนี้ว่า Lossless ทิพย์ ดังนั้น เวลาเราจะโหลดไฟล์พวก Lossless มาฟัง ควรหาแหล่งที่น่าเชื่อถือได้ ไม่งั้นจะเจอพวกนี้แหละ ไฟล์ทิพย์
ดังนั้น สุดท้ายแล้ว คำว่า Lossy และ Lossless เป็นเรื่องของการบีบอัด เพื่อให้ขนาดของไฟล์เล็กลง เพื่อให้ Stream และขนส่งไฟล์ได้ง่ายขึ้นนั่นเอง ส่วน Hi-Res เป็นลักษณะของไฟล์เสียงที่มีความละเอียดสูง มองภาพง่าย ๆ เหมือนกับเราดูหนังความละเอียด 1080p เป็นความละเอียดปกติ กับ 4K ก็คือไฟล์ความละเอียดสูงเลย แน่นอนว่า เราก็ย่อมอยากจะดูหนังที่ชัดกว่าแน่ ๆ เสียงก็เหมือนกัน แต่ การที่จะใช้งานไฟล์เสียงแบบ Hi-Res ได้เต็ม ๆ ก็ต้องอาศัยทั้งไฟล์เพลง (ที่ ณ วันนี้สามารถ Stream ผ่าน Tidal ได้เลย) และ Hardware ของเราด้วย เช่น DAC และหูฟังของเรา
หลังจากเมื่อหลายอาทิตย์ก่อน Apple ออก Mac รัว ๆ ตั้งแต่ Mac Mini, iMac และ Macbook Pro ที่ใช้ M4 กันไปแล้ว มีหลายคนถามเราเข้ามาว่า เราควรจะเลือก M4 ตัวไหนดีถึงจะเหมาะกับเรา...
จากตอนก่อน เราเล่าเรื่องการ Host Website จากบ้านของเราอย่างปลอดภัยด้วย Cloudflare Tunnel ไปแล้ว แต่ Product ด้าน Zero-Trust ของนางยังไม่หมด วันนี้เราจะมาเล่าอีกหนึ่งขาที่จะช่วยปกป้อง Infrastructure และ Application ต่าง ๆ ของเราด้วย Cloudflare Access กัน...
ทุกคนเคยได้ยินคำว่า Mainframe Computer กันมั้ย เคยสงสัยกันมั้ยว่า มันต่างจากเครื่องคอมพิวเตอร์ที่เราใช้งานกันทั่ว ๆ ไปอย่างไรละ และ Mainframe ยังจำเป็นอยู่มั้ย มันได้ตายจากโลกนี้ไปหรือยัง วันนี้เรามาหาคำตอบไปด้วยกันเลย...
เคยมั้ยเวลา Deploy โปรแกรมสักตัว เราจะต้องมานั่ง Provision Infrastructure ไหนจะ VM และ Settings อื่น ๆ อีกมากมาย มันจะดีกว่ามั้ยถ้าเรามีเครื่องมือบางอย่างที่จะ Automate งานที่น่าเบื่อเหล่านี้ออกไป และลดความผิดพลาดที่อาจจะเกิดขึ้น วันนี้เราจะพาทุกคนมาทำความรู้จักกับ Infrastructure as Code กัน...