[程式]線上練團的好幫手--Jamulus


  各位朋友好,小弟來介紹一個朋友練阿卡貝拉團所用到的軟體,也許大家已經不陌生了,叫做Jamulus[1]。在疫情期間合唱團或阿卡貝拉團大家只能在家練唱的同時,用了許多遠距視訊會議軟體,有些甚至要付費。然而,Jamulus不但可以實現別的軟體所達不到的低延遲(這對合唱來講至關重要),而且它還是開源軟體,完全免費。小弟作為一個客家仔(咦),當然要來試試看這款好用的軟體嘍~(ノ>ω<)ノ







★延遲問題


  小弟受浸為基督徒後,經常會導讀詩篇、唱聖歌等等。由於疫情關係,沒辦法到會所去進行聚會,所以只能待在家裡。這時我們通訊使用的軟體主要是Zoom跟LINE來做多人會議,但是就發現當大家一起唱聖歌時,沒辦法互相調和再一起,合唱出來簡直是一場災難,因此最後的折衷方法就是一人演唱其他人靜音,不然就是撥放youtube影片並所有人靜音。Σ(lliд゚ノ)ノ


  在昨天,小弟跟朋友也測試過用LINE、Discord、Zoom、Meet等方式來實現多人演奏表演,但然而延遲實在太高了,超過0.3秒(300ms)以上的延遲,實在是不允許讓音樂家進行現場排練、即興演奏和表演,所以試到Jamulus這套軟體的表現,小弟真的非常驚豔,因為延遲小於0.1秒(100ms),最好的調整之下可以達到約40ms的延遲,這在現場演唱配搭來講是非常棒的


  在網路上,實時播放音樂的問題之一是延遲(delay)[1]:當壓縮音訊流往返於每個音樂家時發生的時間延遲。雖然優先效應(Precedence effect)意味較小的延遲(最多約40ms)可以被視為同步,但較長的延遲使得實際上不可能一起撥放。另一個問題是抖動(jitter),這是一種由於延遲隨時間變化而導致的數據包延遲,會導致聲音斷斷續續或失真。長時間的延遲甚至會導致數據包丟失(被視為blackout)。這些可以通過延遲緩衝區來緩解或抖動緩衝區(兩者都存在於Jamulus中),但這些會增加整體往返延遲,因此需要平衡。d(d'∀')




★Jamulus安裝與解說影片








★Jamulus普通安裝與使用方法


1.至Jamulus官網,按下"Get started now!",然後在Installation選擇自己所使用的OS平台
https://jamulus.io/



2.以小弟電腦為例(Windows),按下Windows後,接著下載JamulusASIO4ALL(如果您的電腦是Mac、或是已經使用ASIO driver音效卡,則無需安裝ASIO4ALL),其中ASIO4ALL V2.14包含一個解決方法,此錯誤可能會破壞其他功能



3.按照安裝指示重新開機後,按一下畫面中的設定(Setting),接著你可以設定個人資料(My Profile),也可以在這裡修改你所想要的程式外觀



4.菜單切到音效\網路設定(Audio/Network Setup),這邊我們選擇小弟的Yeti麥克風當作輸入\輸出的頻道



5.設定好後回到主畫面,點選Connect,接著點選ping Time較低的伺服器,滑鼠雙擊進入之後,便可以開始你的演唱或聆聽嘍~(可以按出小弟的Delay延遲為75ms,亮紅燈,會聽到練團的聲音有點破碎,算較不好,抖動則沒太大問題[2])。如果麥克風會聽到自己的聲音,覺得有點干擾,可以點選MUTE將自己的聲音靜音,便不會受到自己聲音的干擾了









★如何架設Jamulus伺服器


1.尋找Jamulus安裝地址,並用記事本生成如下的bat檔。其中"C:\Program Files\Jamulus"是小弟安裝Jamulus的路徑,"Jamulus -s"則是作為創建伺服器開啟[2]。做成bat檔的目的是為了簡化使用command line的流程



2.雙擊bat檔,便會跑出Jamulus伺服器端。在伺服器設定Server Setup裡面,可以設定Server的名稱、地點,也能啟用JAM Recorder將錄製的成果存到電腦(不啟用則不會自動錄音)



3.在選項Options裡面,可以選擇錄製後要儲存的檔案路徑



4.打開正常版本的Jamulus,你就會看到自己的伺服器跟延遲0ms的選項嘍~



5.只要有人進入伺服器,便會顯示啟用錄音,您就可以在這邊跟您的樂團開始錄音了喔~錄到一半開關Server端的"啟用JAM Recorder"按鈕,可以控制是否對樂團錄音,並另外新創錄音檔_(:3 」∠ )_



6.如果別人想要進到您的伺服器卻發現找不到該名稱,可以先連入以下連結確認Server端是否註冊成功
https://explorer.jamulus.io/



7.若是在以上連結有看到自己的Server,但別人還是搜尋不到,可以使用記事本生成如下的bat檔,請別人用此bat檔開啟Jamulus,就可以解決這個問題嘍。其中"C:\Program Files\Jamulus"是別人安裝Jamulus的路徑,"Jamulus --showallservers"則是強迫Jamulus顯示所有已註冊伺服器(包括新創伺服器)








★參考資料


[1] Wikipedia - Jamulus
https://en.wikipedia.org/wiki/Jamulus

[2] 拉扣子樂團 - Jamulus線上練團--實務篇
https://lacozzi.blogspot.com/2017/03/jamulus_2.html

沒有留言:

張貼留言