notes.dt.in.th

(I was asked to provide a brief explanation for how Jamulus is able to a latency that is low enough to be able to play music with others online. It was eventually published in Stardust’s Facebook post.)

Jamulus เป็นโปรแกรมที่เอาไว้เล่นดนตรีออนไลน์ด้วยกันผ่านอินเตอร์เน็ต

ถ้าใครเคยพยายามเล่นดนตรีผ่านโปรแกรมพวก Zoom หรือ Discord จะพบว่าเสียงมันดีเลย์จนเล่นดนตรีด้วยกันไม่ได้ แต่ดีเลย์พวกนี้มาจากไหนกัน?

คือที่โปรแกรม voice call ส่วนมากมีดีเลย์ ก็เพราะว่าโปรแกรมเหล่านี้ออกแบบมาสำหรับอินเตอร์เน็ตที่อาจจะไม่ได้นิ่งหรือเสถียรตลอดเวลา จึงต้องมีการเพิ่ม “บัฟเฟอร์” เพื่อลดอาการเสียงขาดๆ หายๆ ระหว่างคุยกัน เป็นที่มาของดีเลย์ในแอพพวกนี้

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

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