วันศุกร์ที่ 1 มกราคม พ.ศ. 2553

Sound Card ทำงานอย่างไร

ทุกวันนี้เสียงกับเครื่องคอมพิวเตอร์ กลายเป็นสิ่งที่แยกออกจากกันไม่ได้เสียแล้ว ดังจะเห็นได้จากการซื้อเครื่องคอมพิวเตอร์ในแต่ละครั้ง จะต้องมี Sound Card หรือ Chip ประมวลผลด้านเสียง พร้อมด้วยลำโพงประกอบมาด้วย ทั้งนี้ก็เพื่อเพิ่มบรรยาการในการทำงาน หน้าเครื่อง เช่นฟังเพลง MP3 หรือช่วยเพิ่มรสชาติในการเล่นเกมส์ หรือเพื่อความบรรเทิงในการ พักผ่อน กับการชมภาพยนตร์จากแผ่น VCD/DVD










ก่อนหน้าที่จะมี Sound Card หรือ Chip ประมวลผลด้านเสียงนั้น คอมพิวเตอร์มีเสียงหรือไม่ คำตอบคือมี แต่หลักๆ แล้วก็เป็นเพียง เสียงปิ๊บ จาก Speaker ที่ต่อสายตรงออกจาก Mainboard นั่นละครับ แม้ต่อมาจะปรับปรุงขึ้นมาบ้าง ทำให้เล่นเสียงที่บันทึกลง เป็นแบบ Wave File ได้ แต่คุณภาพที่ได้ ก็ถูกจำกัดด้วยความสามารถในการประมวลผลด้านเสียงอยู่ดี ถ้าเพื่อนๆ นึกไม่ออกว่าเสียง ที่ได้จาก Mainboard โดยปราศจากการประมวลผลช่วยของ Sound Card / Chip ประมวลผลด้านเสียงเป็นอย่างไรก็ลองนึกถึง เสียงเรียกเข้าของโทรศัพท์มือถือที่ไม่ใช่รุ่นใหม่ๆ สิครับ แม้ว่าจะแต่งเป็นเพลงได้ แต่ก็ยังได้แค่เสียงช่องเดียว มีลูกเล่นอะไรไม่ได้มาก แต่พอมี Sound Card / Chip ประมวลผลด้านเสียงช่วยแล้ว ก็คงไม่ต่างกับเสียงเรียกเข้าของโทรศัพท์มือถือรุ่นใหม่ๆ ที่เรียกว่า Polyphonics Sound เช่นในรุ่น Samsung T100, Nokia 7650, 3315, 3510 เป็นต้นเมื่อ Sound Card ( ในสมัยนั้นเรียก Sound Board ) เริ่มปรากฏกายขึ้นในช่วงปลายๆ ทศวรรษที่ 80 ก็ทำให้โลกของคอมพิวเตอร์ เปลี่ยนไป ทำให้คำว่า Multimedia ถือกำเนิดขึ้นบนเครื่อง PC ทำให้อรรถรสในการเล่นเกมส์บนเครื่องคอมพิวเตอร์ขยายขอบเขตมาก ยิ่งขึ้น โดยรายแรกที่ประสบความสำเร็จ และได้สร้างมาตรฐานของ Sound Card ขึ้นเป็นรายแรกคือ Ad Lib ต่อมา ในปี ค.ศ. 1989 ทาง Creative Labs ได้เปิดตัว SoundCard ของตนขึ้น เป็นต้นตระกูลของ SoundBlaster โดยมีพื้นฐานมาจาก Sound Card ของ Ad Lib นั่นเอง แต่ได้เพิ่มขีดความสามารถให้เหนือกว่าของทาง Ad Lib ซึ่งก็สร้างชื่อเสียง และ เป็นที่รู้จักกันในวงการจนกลายเป็น มาตรฐานของ Sound Card แทน Adlib และแทบจะเรียก Sound Card ของเจ้าอื่นๆ ที่ออกมาตามหลังต่างๆ ว่า SoundBlaster กันเลยทีเดียว ( คล้ายๆ กับที่เราเรียก ผงซักฟอกกันว่า แฟ้บ หรือ บรีส นั่นละครับ ) และเจ้าอื่นๆ ก็ผลิต Soundcard ออกมาแข่งขัน มากมาย ซึ่งทาง Creative ก็ไม่ได้หยุดนิ่ง ยังคงพัฒนา และได้ส่ง Soundcard ในตระกูล SoundBlaster ออกมาสู่ตลาดอยู่เรื่อยๆ



*ส่วนประกอบหลักของ Sound Card

โดยปกติแล้ว Sound Card จะประกอบด้วยองค์ประกอบหลักๆ ดังนี้


-ส่วนประมวลผลสัญญาณดิจิตอล ( Digital Signal Processor , DSP ) ซึ่งทำหน้าที่ในการประมวลผลหลักๆ แทบทั้งหมด
-ส่วนแปลงสัญญาณดิจิตอล เป็น สัญญาณอนาล็อก ( Digital-to-Analog Converter, DAC ) เพื่อช่วยแปลงสัญญาณส่งออก ไปยังลำโพง หรือ Speaker
-ส่วนแปลงสัญญาณอนาล็อก เป็น สัญญาณดิจิตอล ( Analog-to-Digital Converter, ADC ) เพื่อช่วยแปลงสัญญาณที่รับเข้ามา เช่นจากทาง Line-In หรือ Microphone
-ROM ( Read-Only Memory ) หรือ Flash Memory สำหรับบันทึกข้อมูล
-Musical Instrument Digital Interface ( MIDI ) สำหรับต่อกับอุปกรณ์ดนตรีภายนอก เช่น Keyboard หรือ Electone ซึ่งโดยทั่วไปแล้ว Sound Card จะใช้ Game Port เป็นช่องต่อกับอุปกรณ์ MIDI ด้วย
-Jack สำหรับต่อกับลำโพง หรือ Microphone ต่างๆ เช่นช่อง Line-In และ Line-Out
-Game Port สำหรับต่อกับ JoyStick หรือ GamePad

จากที่ได้กล่าวไปแล้ว ในตอนแรกว่าทาง Creative Labs นั้น เป็นเสมือนผู้วางมาตรฐานให้กับ Sound Card ในรุ่นปัจจุบัน และรุ่นที่ เป็นมาตรฐานดังกล่าว ก็คือรุ่น SoundBlaster Pro ( 16 Bit ) ซึ่ง Sound Card ในปัจจุบันนั้น แม้จะมีความสามารถมากน้อยอย่างไร ก็จะต้องมีความสามารถในการทำงานที่รองรับหรือเข้ากันได้ กับ SoundBlaster Pro ด้วย ที่เรียกว่า SoundBlaster Pro Compatible
และแม้ว่าในปัจจุบัน จะมี Sound Card ออกมาหลากหลายยี่ห้อก็ตาม แต่หลายๆ ยี่ห้อนั้น บางที ก็ใช้ Chip ประมวลผลด้านเสียงตัวเดียว กัน เช่น จากทาง Yamaha เป็นต้น ดังนั้น เพื่อให้เกิดความแตกต่าง และเป็นจุดขายของแต่ละยี่ห้อ ทางผู้ผลิต Card ก็จะออกแบบและ ปรับแต่งคุณสมบัติเพิ่มเติม รวมถึงพยายามหา Software ต่างๆ มาแถมให้ด้วย ทาง Creative Labs SoundBlaster ในรุ่นแรกๆ ก็ใช้ Chip ของ Yamaha ด้วยเช่นกัน คือ Yamaha YM3812 ซึ่งทำหน้าที่สังเคราะห์เสียงนั่นเอง

Sound Card จะมีช่องต่อกับอุปกรณ์ภายนอกต่างๆ คือ


-ช่องต่อเข้ากับหูฟัง ( ช่อง HeadPhone )
-ช่องต่อกับลำโพง ซึ่งมาพร้อมกับส่วนขยายสัญญาณ ( Amplified Speakers )
-ช่องต่อรับสัญญาณเข้า ที่เป็น Analog ( ช่อง Line-In ) ซึ่งอาจจะเป็นช่องที่รับสัญญาณข้อมูลเสียงมาจาก Microphone, เครื่องเล่นเทป หรือ จากเครื่องเล่น CD เป็นต้น
-ช่องต่อกับสัญญาณเข้า ที่เป็น Digital ( Digital-In ) ซึ่งโดยปกติ จะอยู่บนตัว Card เลย ไม่ได้เป็นช่องต่อที่อยู่บนแผงช่อง สัญญาณที่โผล่ออกมาด้านนอกตัวเครื่องคอมพิวเตอร์ ซึ่งช่องสัญญาณดังกล่าวนี้ ก็จะใช้รับสัญญาณข้อมูลจาก Digital Audiotape ( DAT ) หรือ CD-ROM Drive เป็นต้น
-ช่อง Line-Out ที่ส่งสัญญาณ Analog ออกไปยังอุปกรณ์ หรือ สื่อบันทึกข้อมูล เช่น เครื่องเล่นเทป
-ช่อง Digital-Out ที่ส่งสัญญาณ Digital ออกไปยังอุปกรณ์ หรือ สื่อบันทึกข้อมูล เช่น Digital Audiotape หรือ เครื่องเขียน CD

Sound Card รุ่นใหม่ๆ ในระดับ High-End ก็จะรองรับการต่อออกกับลำโพง 4 ชิ้น หรือมากกว่า อีกทั้งยังมี Sound Card รุ่นใหม่ ที่เรียกว่า Digital Sound Card ที่สามารถส่งสัญญาณ Digital ออก หรือ รับสัญญาณ แบบ Digital ได้เลย โดยไม่จำเป็นต้องแปลง เป็นสัญญาณ Analog ก่อน ซึ่งช่วยลดขั้นตอนที่ทำให้คุณภาพของเสียงถูกทอนลง ทำให้คุณภาพของเสียงที่ได้นั้นชัดเจนมากยิ่งขึ้น

*การสังเคราะห์เสียง

โดยปกติแล้ว หน้าที่หลักๆ ของ Sound Card ก็คือ

-เล่นเสียงที่ได้บันทึกไว้แล้ว ทั้งจากแผ่น CD Audio หรือจากแฟ้มข้อมูล เช่นพวก WAV หรือ MP3 หรือ จาก format เฉพาะที่ผู้พัฒนาสร้างขึ้นมาเอง เพื่อใช้ในเกมส์ เป็นต้น
-บันทึกเสียงจากแหล่งบันทึกเสียงต่างๆ ลงสู่แฟ้มข้อมูลในเครื่องคอมพิวเตอร์
-สังเคราะห์เสียงเลียนแบบธรรมชาติ หรือ เสียงเครื่องดนตรี
-ต่อพ่วงกับอุปกรณ์แบบ MIDI เช่น Keyboard หรือ Electone เพื่อเล่นหรือบันทึกเสียงแบบ MIDI

หน้าที่หลักของ DAC ( Digital-to-Analog Converter ) และ ADC ( Analog-to-Digital Converter ) จะเกี่ยวข้องกับ การรับ หรือส่งสัญญาณ เข้า และ ออก จาก Sound Card ในขณะที่หน้าที่ในการประมวลผลข้อมูลด้านเสียงเกือบทั้งหมดนั้น จะตกอยู่กับ Chip DSP ( Digital Signal Processor ) ซึ่งจะรับหน้าที่เป็นสมองหลักของ Sound Card ในการประมวลผลด้านเสียงเหมือนๆ กับที่ CPU ทำหน้าที่เป็นมันสมองหลักในการประมวลผลของคอมพิวเตอร์นั่นละครับ ดังนั้น เมื่อมี Chip DSP มาช่วยงานในด้านนี้แล้ว CPU หลักของระบบ ก็จะได้ไปประมวลผลด้านอื่นแทน ทำให้ไม่เกิดอาการกระตุกของเสียง เพราะ CPU ต้องรับหน้าที่ทั้งทำงานหลัก แล้วยังต้องมาประมวลผลด้านเสียง หรือ ด้านอื่นๆ ด้วยนั่นเองละครับ

ในด้านของการเล่นเสียงที่ได้บันทึกไว้แล้วนั้น โดยทั่วไป ที่เรามักจะใช้งานกันจะเป็นข้อมูลเสียงที่ถูกบันทึกเข้าไว้ในรูปแบบที่แทบจะ สามารถนำมาส่งต่อให้กับภาค DAC ได้เลย เช่นพวก WAV File โดยไม่จำเป็นต้องทำการสังเคราะห์ข้อมูลเสียงแต่อย่างใด จะมีก็เพียง การบีบอัด หรือเข้ารหัสสัญญาณข้อมูล ซึ่งก็จะต้องคลายการบีบอัดข้อมูล หรือถอดรหัสเสียก่อน แล้วจึงส่งต่อให้กับภาค DAC ต่อไป

การเล่นเสียงอีกรูปแบบหนึ่ง ที่ต้องอาศัยการทำงานที่ซับซ้อนขึ้น ก็คือการสังเคราะห์เสียง ซึ่ง Sound Card ในสมัยก่อน จะใช้วิธีการที่ เรียกว่า FM Synthesis ในการสังเคราะห์เสียง โดยจะทำการสร้างโทนเสียงในหลากหลายคลื่นความถี่ เพื่อจำลองเสียงให้ใกล้เคียงกับ เสียงเครื่องดนตรีจริงๆ เช่น สังเคราะห์เสียงตุ้มๆ ของกลอง หรือ เสียง แตร ของทรัมเป็ต แต่แม้ว่าการสังเคราะห์เสียงจะทำได้ดีปานใด ก็ยังไม่อาจสมจริงได้เท่าๆ กับการสังเคราะห์เสียงโดยอาศัยเสียงจริง ที่เรียกว่า Wavetable Synthesis โดยวิธีนี้จะทำการเก็บข้อมูล ตัวอย่างของเสียงเครื่องดนตรีต่างๆ เก็บไว้ เมื่อมีการใช้งาน ก็จะทำการ เทียบเข้ากับข้อมูลในตารางเสียง แล้วสังเคราะห์ให้มีความถี่เท่ากับ หรือใกล้เคียงกับสัญญาณเสียงของเครื่องดนตรีที่ต้องการ ทำให้ได้ เสียงที่สมจริงยิ่งกว่า

*บันทึก และ เล่นแฟ้มข้อมูลเสียง

ในการบันทึกเสียงเก็บลงเป็นแฟ้มในเครื่องคอมพิวเตอร์ Sound Card จะมีขั้นตอนการทำงานอย่างไรบ้าง โดยในทีนี้ เราจะสมมุติ เหตุการณ์เมื่อเราต่อไมโครโฟนเข้ากับ Jack ของ Sound Card ในเครื่องคอมพิวเตอร์ เพื่อที่จะบันทึกเสียงเข้าเก็บไว้ในรูปแบบของแฟ้ม WAV ที่ยังไม่มีการบีบอัด ข้อมูลแต่อย่างใด

1.เมื่อเราทำการพูด หรือ เปิดไมโครโฟนให้ทำงาน สัญญาณเสียง ก็จะถูกส่งจากไมโครโฟน เข้าสู่ Sound Card ในรูปแบบของคลื่นเสียง ที่มีรูปแบบที่ต่างกันทั้งค่าของความถี่ ( Frequency ) และ ความกว้างของคลื่น ( Amplitude )
2.คลื่นสัญญาณเสียงที่ได้รับเข้ามา จะถูกภาคของ ADC ( Analog-to-Digital Converter ) ทำการแปลงสัญญาณให้อยู่ในรูปของ Binary ( สัญญาณ Digital ) ในค่าของ 0 และ 1
3.ข้อมูล Binary ที่ได้จาก ADC จะถูกส่งต่อให้กับ DSP ( Digital Signal Processor ) เพื่อทำการประมวลผลต่อ โดย DSP นี้ จะทำการบีบอัดข้อมูลที่ได้รับมา เพื่อลดขนาดของข้อมูลให้เล็กลง ประหยัดเนื้อที่ในการเก็บ
4.ข้อมูล Binary ที่ได้รับการบีบอัดแล้ว จาก DSP จะถูกส่งออกมาสู่บัสของระบบ ผ่านทาง Interface ของ Sound Card ซึ่งอาจจะเป็น PCI หรือ ISA ก็ได้ เพื่อถูกส่งตรงไปให้กับ CPU ในการประมวลผล หรือ จัดเก็บต่อไป
5.การบันทึกข้อมูลลงแฟ้ม ทาง CPU ก็จะส่งข้อมูลดังกล่าว ไปยังหน่วยควบคุม Harddisk เพื่อทำการบันทึกต่อไป

กระบวนการเล่นแฟ้มข้อมูลเสียงจะทำกลับกัน โดยที่

1.ทำการอ่านข้อมูลจากแฟ้มเสียงใน Harddisk แล้วส่งต่อไปยังหน่วยประมวลผลกลาง ( CPU )
2.CPU ทำการส่งผ่านข้อมูล ไปยัง Chip DSP บน Sound Card
3.Chip DSP ทำการคลายข้อมูลที่บีบอัดไว้
4.ขณะที่กำลังคลาย ข้อมูลที่คลายออกแล้ว จะถูกส่งต่อให้กับภาคของ DAC ( Digital-to-Analog Converter ) ทันที เพื่อทำการแปลงสัญญาณข้อมูลให้อยู่ในรูปของคลื่นความถี่ ( เป็นสัญญาณ Analog ) เพื่อที่จะส่งต่อออกไปยังลำโพง หรือ หูฟังต่อไป

ข้อมูลนี้มาจากเวป http://www.dcomputer.com/proinfo/product/knowleage/soundcard/soundcard.asp