Sonobus是一種易於使用的應用程序,用於在Internet或本地網絡之間在設備之間流式傳輸高質量的低延遲點對點音頻。
只需選擇一個唯一的組名稱(帶有可選密碼),然後立即將多個人連接在一起,以製作音樂,遠程會話,播客等。輕鬆地從每個人那裡記錄音頻,並將任何音頻內容播放給整個組。
將多個用戶連接在一起,以在組中的所有人中發送和接收音頻,並對延遲,質量和整體組合進行細粒度的控制。包括可選的輸入壓縮,噪聲門和EQ效應以及主混響。所有設置都是動態的,網絡統計信息清晰可見。
在MACOS,Windows,iOS和Linux上充當獨立應用程序,以及MacOS和Windows上的音頻插件(AU,VST)。在桌面或DAW或移動設備上使用它。
易於設置和使用,但仍提供Audio書呆子想要看到的所有詳細信息。音頻質量可以通過完整未壓縮的PCM(16、24或32位)或使用低延遲Opus編解碼器進行調整,或使用各種壓縮的比特率(每通道16-256 kbps)進行調整,您可以獨立地為與一組相連的任何用戶進行此操作。
重要提示
Sonobus不使用任何迴聲取消或自動降噪,以保持最高的音頻質量。結果,如果您有實時麥克風信號,則還需要使用耳機來防止迴聲和/或反饋。
為了獲得最佳結果,要達到最低的潛伏期,請在可以的情況下將計算機與有線以太網連接到路由器。儘管它將與WiFi一起使用,但增加的網絡抖動和數據包丟失將需要您使用更大的安全緩衝區來維持質量的音頻信號,從而導致較高的潛伏期。
Sonobus目前沒有用於數據通信的任何加密,因此,儘管不太可能會截獲,但請記住這一點。所有音頻都是直接在用戶點對等點之間發送的,僅使用連接服務器,以便組中的用戶可以互相找到。
在Sonobus.net或Github上此存儲庫的版本中,有針對MacOS和Windows的二進製版本。
有用於基於Debian的Linux發行版的軟件包以及SNAP軟件包。請參閱sonobus.net/linux.html的安裝說明。
或者,如果您願意,可以按照下面的構建說明自己構建它。
該項目的原始GitHub存儲庫是在github.com/sonosaurus/sonobus上。
要從MacOS和Windows上的來源構建,所有依賴項都是該GIT存儲庫的一部分,包括預製的Opus庫。現在,該構建在MacOS,Windows和Linux平台上使用CMAKE 3.15或更高版本,請參見下面的詳細信息。
確保您的cmake> = 3.15和xcode。然後運行:
./setupcmake.sh
./buildcmake.sh
當構建完成後,所得的應用程序和插件最終將在build/SonoBus_artefacts/Release 。如果您想查看Xcode項目,請使用./setupcmakexcode.sh而改用並使用在buildXcode/SonoBus.xcodeproj上生產的Xcode項目。
您將需要CMAKE> = 3.15,並安裝了Visual Studio 2017。如果您想使用下面的腳本,也需要安裝Cygwin,但是如果您願意,也可以以其他方式使用Cmake。
./setupcmakewin.sh
./buildcmake.sh
當構建完成後,所得的應用程序和插件最終將在build/SonoBus_artefacts/Release 。在CMAKE設置步驟之後,也可以在build/sonobus_artefacts中找到MSVC項目/解決方案。
在終端中要做的第一件事是轉到Linux目錄:
cd linux
並閱讀building.md文件以獲取更多說明。
Sonobus由Jesse Chappell撰寫,並在GPLV3下獲得許可,完整的許可文本在許可證文件中。其中一些依賴關係具有自己的更寬鬆的許可。
它是使用Juce 6(在公共叉上進行了稍微修改)和AOO(OSC上的音頻)構建的,它也使用Opus編解碼器。我正在使用非常方便的工具git-subrepo來在此存儲庫中包含這些軟件庫的叉子的源代碼。
我在此存儲庫中通過git-subrepo引用的這些github叉子是:
https://github.com/essej/juce在Sono6good分支中。
https://github.com/essej/aoo.git在Sono分支中。
如果要運行自己的連接服務器,而不是在aoo.sonobus.net上使用默認的服務器,則可以在
https://github.com/essej/aooserver
獨立的Sonobus應用程序還可以在內部提供連接服務器,您可以在端口10999上連接,或從Internet路由器到端口向前TCP/UDP 10999到您正在運行的機器。
感謝所有參與測試的人,尤其是對Christof Ressi的AOO庫。