2022 年更新
超音波並沒有被貶低,但我沒有那麼多時間來開發它。我打算以後再回來,希望大家多多包涵!即將到來的一個重要更新是關於Ultrasonics-api 的。我目前正在 Heroku 免費套餐上託管一個公共版本,正如 8 月宣布的那樣,該版本將於 2022 年 11 月底關閉。任何公共串流服務(Spotify、Last.fm 等)都需要它。
我還沒有設定任何替代方案,因此在此之前,我強烈建議您設定自己的ultrasons-api實例以及ultrasons以及您想要同步的任何線上服務的金鑰。這些說明都可以在該存儲庫中找到!
概述
安裝
系統
選項 1(手動安裝)
選項 2(碼頭工人)
小程式
輸入
修飾符(可選)
輸出
觸發器
外掛
播放清單模式與歌曲模式
貢獻
編寫你自己的插件
改進超音波原始碼
歡迎來到超聲波!
超音波是一款旨在幫助您控制音樂庫和音樂播放清單的工具。讓您的播放清單分散在三種不同服務中的日子已經一去不復返了,或者因為您沒有時間手動管理同一播放清單的多個副本而僅限於使用一種服務的日子已經一去不復返了。
超音波使用插件與您喜愛的服務互動。這意味著只需安裝新插件即可添加功能。每個外掛程式都可以提供與服務的兼容性,例如官方 Spotify 外掛程式連結到......當然,Spotify。其他外掛程式提供附加功能,例如合併多個來源的播放清單。
所有包含的插件的概述可以在[文件不完整]中找到。
要運行超音波,您有兩種選擇:
直接下載並運行超音波。
拉取並運行官方 docker 映像。
超音波是在 Linux 上開發的。它應該是跨平台相容的,但尚未經過測試,因此請做好應對 Windows / macOS 上的錯誤或問題的準備!
確保你已經安裝了Python 3
# 如果此命令不起作用,請在 ~↪ python3 --version 中的 uluru 安裝 Python 3callum Python 3.8.2
將儲存庫複製到安裝目錄,可能是/opt/ultrasonics
# 移至您的安裝目錄callum at uluru in ~↪ cd /opt# 克隆此repocallum at uluru in /opt ↪ git clone https://github.com/XDGFX/ultrasonics# 確保您擁有 /opt 中 uluru 的超音波資料夾callum 的所有權 ↪ sudo chown -R callum:callum 超音波/
建立一個虛擬環境,並在其中安裝所需的依賴項。
# 進入超音波目錄callum at uluru in /opt ↪ cd ultrasonics# 在 /o/ultrasonics 中的 uluru 資料夾 '.venv'callum 中建立虛擬環境 ↪ python3 -m venv .venv# 啟動環境。 ↪ source .venv/bin/activate# 確保您的 venv 處於活動狀態(請參閱行開頭的 .venv)# 在 /o/ultrasonics 中的 uluru 安裝 Python 依賴項callum (.venv) ↪ pip3 install -r requests.txt
運行app.py
# 在 venv 仍然處於活動狀態的情況下,在 /o/ultrasonics 中的 uluru 運行 app.pycallum (.venv) ↪ python3 app.py
如果您想將其作為 systemd 進程運行,請按照以下步驟操作:
將範例服務檔案複製到/etc/systemd/system/ultrasonics.service
sudo cp ultrasonics.service /etc/systemd/system/ultrasonics.service
重新載入 systemctl 守護程式以取得新服務
sudo systemctl 守護程式重新載入
啟用並啟動服務
sudo systemctl enable --now 超音波
您可以使用以下方法檢查進程的狀態:
systemctl 狀態超音波
官方超音波影像位於 xdgfx/ultrasonics。您可以手動拉取並運行它,或將其貼到docker-compose.yml
檔案中。
版本:「3.7」服務:超音波:影像:xdgfx/ultrasonicscontainer_name:超音波重新啟動:除非停止連接埠: - 5000:5000卷: - /path/to/config:/config - /path/to/plugins:/plugins # 用於第三方插件環境: - PUID=${PUID} - PGID=${PGID}
如果您曾經使用過 IFTTT,那麼您已經了解了基礎知識。超音波的工作原理是「小程式」的概念。您創建的每個小程式都包含屬於以下四個類別之一的插件:
這些插件連接到服務以獲取歌曲或播放列表的列表,並將該列表傳遞到修改器和輸出插件。
這些插件從一個或多個輸入插件獲取歌曲或播放列表列表,並以某種方式修改該列表。例如,他們可能會合併重複的播放列表,或使用音樂發現 API 將歌曲替換為類似的歌曲。
這些插件會取得傳遞給它們的播放列表列表,並將它們保存到服務中。也許他們會在 Plex 中更新或創建您的播放列表,或者將它們保存到您的家庭伺服器上的 .m3u 檔案中。
這些插件不是歌曲/播放清單流的一部分,而是確定小程式實際運行的時間。最簡單的觸發器是基於時間的,例如「每 6 小時運行一次」。
您可以使用已安裝的插件來建立自訂小程序,將其儲存到資料庫,然後它將從觸發器插件自動運行,或從主頁手動運行小程序。
超音波與幾個官方插件捆綁在一起。有關更多信息,請參閱[文檔不完整]。
只需將包含插件的資料夾複製到plugins
目錄中即可安裝新插件。
每個小程式至少需要一個輸入和一個輸出插件。要自動運行,它還需要一個觸發插件。
大多數插件都會有要配置的設置,這些設置可以是全域持久性設置(對於所有插件的所有實例通用,在所有小程式中),或特定於該插件實例。
當您建立小程式時,系統將提示您輸入任何必要的設定。
設定始終可以留空!在某些情況下,這很好或符合預期,但在其他情況下,這可能會導致插件錯誤,可能需要手動修復超音波資料庫!確保填寫您應該填寫的所有設定!
一些外掛程式被設計為與播放清單一起使用 - 例如 Spotify 外掛程式與您的 Spotify 播放清單互動。有些外掛程式設計用於處理歌曲,例如 Last.fm 上的前 100 首歌曲。
如果插件僅在歌曲模式下運作,則「選擇插件」畫面上將顯示警告。
透過將單一播放清單新增至小程式流程,將歌曲模式外掛程式新增至輸入將有效地運作。只要相關插件為該單一播放清單提供名稱,這應該可以正常工作。
嘗試將多個播放清單輸入單一歌曲模式輸出外掛程式可能會導致問題,不建議這樣做。
那您想幫忙改進超音波嗎?首先——謝謝!作為一個非軟體工程師的人,這是我從事過的最大的專案之一。非常感謝任何幫助或建議!
擴展超音波的功能非常簡單!插件是拖放式安裝,因此可以以最小的複雜性極大地改進項目。最好的學習方式是透過 wiki。您可以分叉這個項目,或者專門為您的插件創建自己的存儲庫。它可以分開保存,或者如果您認為將其設為預設插件將使社區受益,請透過 GitHub 問題告訴我!
我會將任何未來計劃、已知問題或一般改進放在問題中。還要查看項目板,其中應該顯示高優先級的問題。
或者,如果您有新想法,請嘗試一下,並透過拉取請求或問題讓我知道! ?