Mar 8, 2008

Review: Speakerphone ซอฟต์แวร์จำลองเสียงลำโพงและสภาพแวดล้อมจาก Audio Ease

Review: Speakerphone ซอฟต์แวร์จำลองเสียงลำโพงและสภาพแวดล้อมจาก Audio Ease

ตีพิมพ์ครั้งแรกโดย The Absolute Sound & Stage

clip_image002[4]

ไม่บ่อยนักที่ในแวดวง Virtual Studio จะมีการเปิดตัวผลิตภัณฑ์สู่สาธารณาชนก่อนทำการขายจริง โดยทิ้งช่องว่างห่างกันเป็นปีเช่นนี้ เพราะธรรมชาติของช่องว่างระดับนี้ ส่วนใหญ่แล้วจะเป็นสินค้าระดับนวัตกรรม

อันที่จริง “Speakerphone” นั้น ถือเป็นเครื่องมือชนิดใหม่ ที่ยังไม่มีผู้ผลิตซอฟต์แวร์สตูดิโอทำมาก่อน แต่ความเป็นจริงแล้วเทคนิคต่าง ๆ ที่นำมาใช้ใน Speakerphone นั้น แท้จริงไม่ได้มีอะไรใหม่เลยครับ หลัก ๆ เลยคือการคอนโวลูชั่น (Convolution) กับตัวแทนของ Speaker ซึ่งก็คือ Impulse Response (ตัวย่อ IR) ซึ่งจะว่าไปแล้วเทคนิดของการคอนโวลูชั่นบน Speakerphone นั้น ถ้านับเฉพาะในส่วนของการจำลองลำโพงรุ่นต่าง ๆ ก็น่าจะง่ายกว่า “Altiverb” ซอฟต์แวร์ Convolution Reverb ที่ว่ากันว่าดีที่สุดในโลกจาก Audio Ease ผู้ผลิตรายเดียวกันเสียอีก เพราะอย่างแรกเลย IR ที่เป็นตัวแทนของ Reverb นั้น มีความยาวกว่า IR ที่เป็นตัวแทนของ Speaker มาก ๆ ลองจินตนาการว่าเราต้องการหางเสียงยาว ๆ ของ Reverb ขณะที่การจำลองเสียงลำโพง เป็นเรื่องของการเปลี่ยนผลตอบสนองทางความถี่ (Frequency Response) ในช่วงเวลาจำกัดสั้น ๆ ซึ่งความยาวของ IR ในระดับแค่เสี้ยววินาทีนั้น มีผลต่อการทำคอนโวลูชั่นมาก (อ่านรายละเอียดส่วนนี้ ตอนท้ายบทความ) เนื่องจากการคำนวณคอนโวลูชั่นนั้นมีความสลับซับซ้อนในแง่ที่ต้องนำผลลัพธ์ของการคูณกันของตัวเลขสองชุดมาบวกซ้อนกันเข้าไปอีกทีหนึ่ง ยิ่งชุดของตัวเลขยิ่งมาก การคำนวณก็ยิ่งหนักมาก ดังนั้นเสียงแค่หนึ่งวินาที ที่มีตัวเลขไม่น้อยกว่าสี่หมื่นจำนวน ก็อาจทำให้ CPU เป็นบ้าได้ (สมัยเป็นนักศึกษา ผู้เขียนเคยทดลองเขียนโปรแกรมง่าย ๆ เพื่อทดสอบแนวคิดของ Convolution Reverb โดยใช้การคำนวณตามทฤษฏี ปรากฏว่าถ้าเป็นชุดตัวเลขน้อย ๆ หรือคำนวณแบบ Offline ผลลัพธ์ออกมาถูกต้องตามปกติ แต่พอทดลองนำเพลงทั้งเพลงมาทำคอนโวลูชั่นแบบ Realtime ก็พบว่าคอมพิวเตอร์ถึงกับนิ่งไปเลยครับ)

ด้วยเหตุนี้นักพัฒนาซอฟต์แวร์ด้านเสียงต่างก็พัฒนาอัลกอรึทึ่มหรือวิธีการต่าง ๆ ที่แบ่งเบาการคำนวณคอนโวลูชั่นเพื่อให้สามารถนำไปใช้ทำ Realtime Effect ได้ ที่โด่งดังคือเทคนิค Partitioned Convolution เริ่มต้นจากปลั๊กอินของ Sonic Foundry (ปัจจุบันเป็นของ Sony) อย่าง Acoustic Mirror ซึ่งถ้าใครเคยใช้คงจำได้ว่ามันซด CPU ในระดับไหน ต่อมาเริ่มมีของฟรีให้ใช้อย่าง SIR (Super Impulse Response) จนมาถึงตัวที่ผู้เขียนติดอกติดใจอย่าง Altiverb ที่ถือเป็นปู่ของ Speakerphone เพราะใช้อัลกอรึทึ่มในการคำนวณเหมือนกัน และก็อย่างที่เคยรายงานให้ทราบกันในคอลัมน์ Music Tech Review ที่ว่าตอนนี้ Convolution Reverb นั้น ถูกพัฒนามาเป็นมาตรฐานของซอฟต์แวร์ DAW ไปเรียบร้อย เราทุกคนจึงคุ้นเคยกับมันดี

Speakerphone คือการต่อยอด Convolution Reverb ออกไป เพราะนอกจากมันจะจำลองเสียงลำโพงรุ่นต่าง ๆ ได้อย่างเหมือนจริงแล้ว มันยังเพิ่มเสียงสภาพแวดล้อมหรือ Reverb เข้าไปอีกด้วย และแม้ว่าบนอินเตอร์เน็ตจะมี IR ที่ดึงมาจากอุปกรณ์ต่าง ๆ มากมายให้เราดาวน์โหลดมาใช้ฟรี ๆ ได้ แต่ผู้เขียนก็เชื่อว่านี่ไม่ใช่เหตุผลที่ Audio Ease จะไม่ทำ Speakerphone เพราะ Speakerphone ได้เพิ่มส่วนที่เป็นมากกว่า Convolution Reverb ทั่วไป ไม่ว่าจะเป็นเรื่องของการจำลองลำโพงและสภาพแวดล้อมแยกกัน ถ้าเราอยากทำแบบนี้โดยไม่มี Speakerphone ก็ต้องเปิด Convolution Plugin ถึงสองตัวในแทรคเดียวกัน และการที่เป็น Sample Player ในตัวทำให้เราสะดวกในการเพิ่มเสียง SFX เข้าไปง่ายกว่าการอิมพอร์ทเสียงเข้ามาในโปรเจกต์มากนัก รวมไปถึงเอฟเฟกต์เพิ่มเติมที่จำเป็นต่อการแต่งเสียงก็มีมาให้พร้อมสรรพ

เราลองมาดูความน่าใช้ของ Speakerphone แบบลงลึกถึงรายละเอียดในแง่มุมต่าง ๆ กันครับ

User Interface/Usability

ก่อนหน้านี้ผู้เขียนมักจะใส่ใจในเรื่องของความสามารถของซอฟต์แวร์มากกว่าหน้าตาของมัน เนื่องจากซอฟต์แวร์ยังมีทางเลือกให้เราน้อย ต่อมาพอสนใจแง่มุมของความง่ายในการใช้ (Usability) ทำให้ผู้เขียนเริ่มมองเห็นว่าซอฟต์แวร์ที่มีการออกแบบ User Interface อย่างชาญฉลาดก็มักจะใช้งานได้ดี ทำงานได้เร็ว ส่งให้ผลผลิต (Productivity) มากขึ้นตามไปด้วย Speakerphone ก็เข้าข่ายนี้ครับ

clip_image004[4]

เมื่อเรียก Speakerphone ขึ้นมาครั้งแรก ผู้เขียนกวาดตามองอินเตอร์เฟซที่เต็มไปด้วยรายละเอียดเพียงวาบเดียว ก็เห็นเค้าลางแล้วว่าจะใช้มันได้อย่างไร ออกแบบมาได้ทันตามยุคสมัย ใช้โทนสีน้อย ๆ คือโทนขาว-เทา 5 ระดับ กับสีเขียวอ่อนของปุ่มต่าง ๆ โดยปล่อยให้ความเด่นอยู่ที่ส่วนของ Speaker และ Room ซึ่งจะแสดงภาพของสิ่งที่เรากำลังเลือกใช้อยู่ และถึงแม้จะมีเอฟเฟกต์มากมายขนาบรอบด้านของใจกลางสำคัญ แต่พอเอาเมาส์ชี้ไปที่ส่วนหนึ่งส่วนใดของ User Interface มันก็จะปรากฏ Compiled HTML Help ขึ้นมาแสดงรายละเอียดพร้อมตำแหน่งใน Signal Chain ให้เราเข้าใจการทำงานของส่วนนั้นได้โดยทันที

clip_image006[4]

1 หน้า Help ที่ขึ้นมาทันทีที่เราเอาเมาส์ชี้ไปที่ EQ จะระบุตำแหน่งของ EQ ใน Signal Chain และอธิบายการใช้งานด้านล่าง

หรือหากส่วนนั้นเป็นหัวใจหลักเช่น Speaker หรือ Room เมื่อเราชี้เมาส์ไปที่ส่วนนี้แล้วคลิก มันจะแสดงรายชื่อลำโพงให้เลือกใช้ ซึ่งแค่เอาเมาส์ชี้ที่ลำโพงนั้น ก็จะมีผลใช้งานทันที จะมีประโยชน์มาก หากเราเปิดเสียงที่ต้องการโปรเซสเอาไว้ แล้วเลือกลำโพงที่เหมาะสมได้ง่าย ๆ ประทับใจมากจริง ๆ ครับ และผู้เขียนก็ยังเห็นว่าการออกแบบอินเตอร์เฟซแบบนี้ จะช่วยให้เราทำงานได้เร็วขึ้นมาก

clip_image007[4]clip_image009[4]

แต่ทั้งหมดของทั้งหมดแล้วรูปแบบการใช้งานจริง ๆ นั้นจะง่ายที่สุด เพราะเพียง Preset ที่มีมาให้ ก็มากพอที่จะใช้ในสถานการณ์ต่าง ๆ ได้แล้ว ขั้นตอนการใช้งานจริง ๆ จะเริ่มจากเลือกพรีเซตเป็นตัวหลัก แล้วเราอาจใช้เสียงแซมเปิ้ลของ Background Ambience หรือ SFX มาช่วยสร้างสภาพแวดล้อมให้สมจริง โดยเราสามารถลากเสียงมาจาก Finder/Windows หรือแม้แต่บน Track มาเข้า Sample Bay ของ Speakerphone ได้อย่างง่าย ๆ หรือปรับรายละเอียดของเอฟเฟกต์ต่าง ๆ เพียงเล็กน้อยเท่านั้น เพราะผู้เขียนเองก็เห็นว่าเครื่องมือชิ้นนี้ เน้นการสร้างเสียงให้ออกมาสมจริง เข้ากับภาพเคลื่อนไหว มากกว่าจะเน้นการออกแบบเสียงให้พิเศษจนหลุดโลก แต่หากเราจะใช้มันช่วยในการออกแบบเสียงเพื่อสร้างเอกลักษณ์บางอย่างให้กับงานเพลง ก็ถือเป็นเรื่องที่สร้างสรรค์ดีครับ

clip_image011[4]

3 ลากเสียงมาลง Sample Bay ได้จาก Finder/Windows หรือจาก Track ได้เลย สะดวกมาก

จุดที่ชอบอีกอย่างในเรื่องของ Usability คือส่วนนี้ครับ

clip_image012[4]

เป็นส่วนที่อยู่ใต้ของ Preset Menu เลย มองผ่านเหมือนเป็น Wet/Dry Slider ทั่ว ๆ ไป แต่ลองสังเกตคำว่า KICK ให้ดีครับ เราสามารถคลิกตรงนี้เพื่อให้ตัว Slider เลื่อนไปอัตโนมัติ เหมือนกับการทำ Auto Cross fade ของซอฟต์แวร์ดีเจ จริงอยู่ที่เราสามารถเลื่อน Slide ได้เอง แต่หากเราใช้ Kick จะสะดวกมากในแง่ของการออกแบบเสียงประกอบให้เท่ ๆ ไม่ว่าจะใช้ร่วมกับการตัดต่อวิดีโอหรือในงานเพลง

ความสามารถหลัก

อย่างที่ได้เรียนให้ทราบในตอนต้นแล้วว่า Speakerphone มีส่วนที่เปรียบได้ว่าเป็นหัวใจ สมองและปอด อยู่ 3 อย่างคือส่วนจำลองเสียงลำโพง ส่วนจำลองสภาพแวดล้อมและส่วนที่เล่น Sample เสียงเพื่อสร้างบรรยากาศให้สมจริง

clip_image014[4]

ส่วนที่เป็นลำโพงนอกจากจะอำนวยความสะดวกให้เราเลือกเสียงใช้งานง่าย ๆ อย่างที่อธิบายไปในหัวข้อที่แล้ว ๆ ความพิเศษเล็ก ๆ น้อย ๆ ที่ถูกใจคนรักการอ่านอย่างผู้เขียนคือการที่เราสามารถคลิกเพื่ออ่านข้อมูลของลำโพงชนิดนั้น ๆ ด้วย ซึ่งก็เป็นเอกลักษณ์ที่น่าชื่นชมของทาง Audio Ease ที่เคยทำกับ Altiverb มาก่อนแล้ว ความหลากหลายของลำโพงที่ขนมาให้เราใช้นั้น ก็มากมายตั้งแต่ลำโพงที่แงะมาจากหุ่นยนต์เด็กเล่น ไปจนถึงเสียงรั่วที่เกิดจากหูฟังแบบ Semi-Open ตู้ Combo สำหรับกีตาร์ก็มีให้เลือกใช้มากมาย หรือถ้าเป็นเสียงจากโทรศัพท์มือถือ ก็มีมาให้เลือกใช้หลากหลายรุ่น ที่น่าทึ่งถือแม้แต่หูฟังบลูธูทก็ยังมี

clip_image016[4] clip_image018[4]

การใช้จำลองเสียงโทรศัพท์นั้น ทางผู้ผลิตยังได้ใส่รายละเอียดเล็ก ๆ น้อย ๆ อย่างเอฟเฟกต์จำลองเสียง Codec ของโทรศัพท์อย่าง GSM หรือโปรโตคอลอื่น ๆ ซึ่งตรงนี้เป็นรายละเอียดที่น่าทึ่งมาก ๆ เรายังสามารถใช้ส่วนนี้สร้างเอฟเฟกต์รั่ว ๆ ให้กับเสียง อย่างถ้าเราเลือกโหมด LPC MIDI Pitch เราจะสามารถใช้คีย์บอร์ด (MIDI Channel 3) ควบคุม Pitch ได้อีกต่างหาก ส่วนถ้าเป็นการจำลองเสียงลำโพงวิทยุ เรายังสามารถปรับรายละเอียดในส่วนของเสียงที่เกิดจากการจูนหาคลื่นได้อีกด้วย ไม่ว่าจะเป็น AM-FM Mono-Stereo ก็ไม่มีปัญหา Speakerphone ทำได้!!

clip_image020[4]

ผู้เขียนยังค้นพบประโยชน์จากมันในแง่ที่ว่า หากเราต้องแต่งเพลงประกอบเกมบนเครื่อง Sony PSP และต้องการทดลองฟังว่าเสียงที่ได้ยินผ่านลำโพงของ PSP ที่ Roll-off ที่ประมาณ 500 Hz เป็นเช่นไร ก็สามารถใช้ Speakerphone เป็นตัวทดสอบที่รวดเร็วกว่าการที่เราต้องมาโหลดเพลงลง PSP เพื่อทดสอบฟัง หรือใช้ EQ ช่วยเสียอีก เพราะเสียงที่ได้ยินนั้นใกล้เคียงของจริงมาก ๆ

clip_image021[4]

ขอพูดถึงส่วนสำคัญอีกส่วนบ้างครับ “Room” คือส่วนที่ให้เราเลือกสภาพแวดล้อมหรือห้องที่เหมาะสมกับสถานการณ์ที่ต้องการ มีพารามิเตอร์ให้ใช้ง่าย ๆ แค่ 2 ตัวคือ Mix กับ Decay ขณะที่มี IR ให้เลือกใช้มากกว่า 50 เสียง คลอบคลุมตั้งแต่เสียงของป่าเขาไปจนถึงเสียงภายในไมโครโฟนเด็กเล่นพลาสติก ซึ่งก็น่าจะเพียงพอในการใช้งานทั่วไป แต่ถ้าแค่นี้ไม่จุใจก็หา Altiverb เวอร์ชันล่าสุดมาใช้ได้ครับ จะมีของเล่นมากมายที่เกี่ยวข้องกับ Room ให้ใช้กันจุใจไปข้างหนึ่งเลยทีเดียว

สำหรับเอฟเฟกต์อื่น ๆ อีกมากที่ยังไม่ได้ลงรายละเอียด ก็อย่าง Distortion เป็นโมเดล Waveshaping ใช้งานได้ระดับหนึ่ง แต่หากต้องการเสียงแตกจริง ๆ จัง ๆ ก็น่าจะหาซอฟต์แวร์ที่ทำมาเพื่อการนี้ตรง ๆ จะดีกว่า ในส่วนของ Equalizer แม้จะมีอินเตอร์เฟสที่น่ารัก แต่มันก็มีขนาดเล็กสำหรับสายตาผู้เขียนใช้งานได้ค่อนข้างลำบาก ส่วนตัวแล้วขอใช้ผ่าน Channel Strip จะง่ายกว่า เอฟเฟกต์อย่าง Crush จะทำหน้าที่ตัด Wordlength ซึ่งสามารถตัดให้เหลือได้เพียง 2 บิต นำมาใช้ร่วมกับ Codec หรือ Tuning นี่จะช่วยกันทำลายเสียงได้อร่อยดีแท้ ส่วน Gate ก็เป็นตัวมาตรฐาน ใช้งานได้สองโหมดคือโหมด Mute คือปิดเสียงไปเลย หรือ Duce ลดทอนไป -20 dB Compressor นี่ก็สำคัญและมีประโยชน์มากครับ เพราะ IR ของลำโพงแต่ละตัวนั้นให้ค่าไดนามิกที่หลายหลายมาก เราสามารถใช้ Compressor จัดการในส่วนนี้ได้ แต่ต้องไม่ลืมความสามารถของโปรแกรมอีกอย่างคือ Auto Level ครับ ส่วนนี้จะช่วยจัดการความดังโดยรวม ผู้เขียนค้นพบว่าในตอนเลือกใช้ลำโพง ควรเปิด Auto Level ไว้ มิฉะนั้นอาจเกิดเสียงดังแบบทันท่วงทีระหว่างที่เปลี่ยน อาจพาลให้หมดอารมณ์ทำงานได้เช่นกัน

clip_image023[4]

ที่พิเศษไม่เหมือนใครคือเอฟเฟกต์ Phono ครับ มีรายละเอียดที่จำเป็นในระดับกำลังดีเลย ปรับได้แม้แต่ความเร็วรอบในการเล่นแผ่นเสียง อีกสองตัวที่เหลือคือ Mod ที่เราสามารถเลือกให้มันทำงานเป็น Tremolo, Chorus, Flanger, Phasor, Vibrato ได้โหมดใดโหมดหนึ่ง และ Delay ที่มีพารามิเตอร์แบบมาตรฐานเช่นกัน ทั้งหมดที่กล่าวมานี้ผู้เขียนไม่ได้ไล่ตามลำดับบน Signal Chain นะครับ ตำแหน่งของเอฟเฟกต์ต่าง ๆ บน Signal Chain จะแสดงบนหน้า Help ที่เปิดขึ้นมาอัตโนมัติอยู่แล้ว (ถ้าเปิดโหมด Help ที่มุมซ้ายบนสุดของหน้าโปรแกรม) ซึ่งถือเป็นระบบที่ซอฟต์แวร์อื่น ๆ ต้องทำตามเลยล่ะครับ

Sample Bay

clip_image025[4]

ส่วนล่างสุดของหน้าอินเตอร์เฟซที่ถือว่าสำคัญไม่แพ้ส่วนอื่น ๆ เลยครับ เพราะว่า Sample Bay ที่ถูกออกแบบมาอย่างดี ให้เราใช้ทริกเกอร์เสียงจาก Sample Library กว่า 5 GB ที่แถมมากับโปรแกรมนั้น ช่วยให้การจำลองเสียงลำโพงและสภาพแวดล้อมของเรานั้น สมบูรณ์แบบยิ่งขึ้น Sample Bay จะแบ่งเป็น 5 ตาราง แต่ละตารางจะแบ่งเป็น 12 ช่องตามแนวตั้ง ช่วยให้เราใช้ MIDI Keyboard ใน Channel 2 ทริกเกอร์เสียงผ่านคีย์ขนาด 5 ออคเตฟพอดี หรือถ้าไม่มีคีย์บอร์ดจะใช้เมาส์จิ้มเสียงก็ยังได้ ความพิเศษคือการที่เราสามารถลากเสียงจาก Windows/Finder หรือจาก DAW ลงไปไว้ในสล๊อตเพื่อเรียกใช้ได้อย่างง่าย ๆ ครับ

บทสรุป

Speakerphone อาจไม่ใช่เครื่องมือสำหรับทุกคนครับ ผู้ที่ได้ประโยชน์จากมันสูงสุดคือคนที่ทำงาน Post หรือถ้าเป็นนักแต่งเพลงเราสามารถใช้ Speakerphone ในการออกแบบเสียงสร้างสีสันได้บางโอกาส หรือในกรณีที่เราต้องแต่งเพลงบนเครื่องมือพิเศษ ไม่ว่าจะเป็น PSP หรือแต่ง Ringtone บนโทรศัพท์รุ่นต่าง ๆ ก็สามารถใช้ Speakerphone ในการทดสอบฟังได้ว่างานของเราจะฟังออกมาเป็นอย่างไร แต่เหนือสิ่งอื่นใดเลยคือนอกจากประโยชน์มากมายที่จะช่วยให้เราทำงาน Post ได้ง่ายขึ้น เร็วขึ้นแล้ว ประโยชน์อีกหนึ่งอย่างจากแง่มุมส่วนตัวในฐานะนักพัฒนาซอฟต์แวร์ ยังได้อะไรมากมายจาก Speakerphone ทั้งเรื่องของการออกแบบอินเตอร์เฟซ การทำเอกสารประกอบที่ช่วยให้การใช้งานเป็นไปอย่างง่ายและสนุก ซึ่งถ้าผลงานของตัวเองไม่สามารถทำได้ในระดับที่เทียบเท่าหรือดีกว่าแล้ว ก็ถือว่าเสียทีที่ได้ใช้ Speakerphone เลยจริง ๆ

บทขยายว่าด้วยเรื่องของ Impulse Response และ Convolution

เชื่อว่าผู้อ่านหลายท่านน่าจะเคยทดสอบความก้องกังวานของห้องที่อาศัยอยู่ด้วยการปรบมือหนึ่งครั้งเพื่อฟังเสียงสะท้อนไปมาในห้อง เราสามารถเปรียบการปรบมือเป็นสัญญาณ Impulse และผลตอบสนองของห้องต่อการปรบมือคือ Impulse Response นั่นเองครับ

clip_image026

เพราะในความเป็นจริงแล้ว Impulse เป็นเพียงอุดมคติที่ไม่สามารถเกิดขึ้นได้จริง ในการจับ Impulse Response ของห้องโดยส่วนใหญ่แล้วจะใช้ปืนไร้หัวกระสุน โดยเสียงปืนจะทำหน้าที่เป็น Impulse นั่นเองครับ หรือหากเรามีดิจิตอลเอฟเฟกต์ตัวหนึ่ง และต้องการจำลองการทำงานของมัน เราสามารถส่งสัญญาณเสียงดิจิตอลเพียง 1 Sample (ทำหน้าที่เป็น Impulse) และจับเอาท์พุทซึ่งก็คือ Impulse Response มาสร้างเป็น Convolution Effect ตัวใหม่ที่ให้ผลลัพธ์เหมือนกับดิจิตอลเอฟเฟกต์ตัวนั้นได้

ส่วนการ Convolution นั้น เป็นสิ่งที่ทุกคนคุ้นเคยกันดี ทั้งโดยรู้ตัวหรือไม่รู้ตัวว่ากำลังใช้คอนโวลูชั่นอยู่ก็ตาม เพราะแค่เราใช้ Digital EQ หรือ Filter นั่นคือเราได้ใช้การคอนโวลูชั่นไปแล้วครับ เพราะว่าผลลัพธ์ของเสียงที่ผ่าน Filter คือผลลัพธ์ที่เกิดจากการทำคอนโวลูชั่นระหว่างเสียงอินพุทกับ Impulse Response ของ Filter ตัวนั้นนั่นเอง

เราอาจจินตนาการง่าย ๆ ว่า IR (h) คือตัวแทนของเอฟเฟกต์ตัวหนึ่ง เพื่อเราใส่เสียงเข้าไปเพียง 1 แซมเปิ้ล เราจะได้ IR (h) ออกมา แต่ถ้าเราใส่เสียงเข้าไป 2 แซมเปิ้ล (x) เราจะนำ IR ที่ได้จากแต่ละแซมเปิ้ล มาสเกลตามขนาดของแอมพริจูดของแซมเปิ้ลตัวนั้น เราจะได้ผลลัพธ์ (y) ที่เกิดจากการรวมกันตามตำแหน่งของเวลาดังภาพ

clip_image028

จากตัวอย่างนี้มีเพียงสองแซมเปิ้ล ในความเป็นจริงเราใช้แซมเปิ้ลเรทที่ 44100 Hz ขึ้นไป ซึ่งหมายความว่าในเสียงเพียง 1 วินาที ใช้แซมเปิ้ลไม่น้อยกว่า 4 หมื่นตัว ส่งผลให้การคำนวณในส่วนนี้หนักมาก ๆ ครับ โดยเฉพาะหากค่า IR ยาวมาก ๆ ก็ยิ่งลำบาก นักพัฒนาจึงต้องคิดค้นวิธีการคำนวณในส่วนนี้ให้ใช้ CPU น้อยที่สุดและสามารถให้มันทำแบบ Real-Time ได้ พวกเราจึงได้ใช้ประโยชน์จากสิ่งเหล่านี้ได้อย่างง่ายดายในปัจจุบัน

ในบทนี้ผู้เขียนแค่อยากอธิบายให้เห็นภาพของการคอนโวลูชั่นและ Impulse Response ให้ชัดเจนขึ้น ยังมีรายละเอียดเกี่ยวกับเรื่องเหล่านี้อีกมาก ที่ไม่ได้ยกมากล่าวถึง เช่น LTI system ที่เป็นเงื่อนไขสำคัญที่ทำให้การคอนโวลูชั่นกับ Impulse Response มีผลลัพธ์อย่างที่พวกเราต้องการ หากท่านผู้อ่านสนใจ ก็สามารถพิมพ์คีย์เวิร์ดเหล่านี้ค้นหาในอินเตอร์เน็ตซึ่งมีเอกสารมากมายให้อ่าน เพราะเรื่องราวเหล่านี้ค่อนข้างเป็นเรื่องพื้นฐานที่วิศวกรด้าน DSP จะต้องเรียนรู้อยู่แล้ว ไม่ใช่ของที่เพิ่งเกิดขึ้นมาใหม่บนโลก ขอให้ท่านผู้อ่านสนุกสนานกับการใช้ Speakerphone และการศึกษาที่ไม่มีวันสิ้นสุดกันต่อไปครับ

No comments: