2022 年のアップデート
超音波は非推奨ではありませんが、開発に取り組みたいほど時間がありません。将来的には元に戻す予定ですので、ご了承いただければ幸いです。今後の重要なアップデートは、 Ultrasonic-apiに関するものです。私は現在 Heroku の無料利用枠でパブリック バージョンをホストしていますが、8 月に発表されたように 2022 年 11 月末にサービスが終了します。これは、パブリック ストリーミング サービス (Spotify、Last.fm など) に必要です。
代替のセットアップがまだないので、その時が来る前に、 Ultrasonicsと同期したいオンライン サービスのキーと一緒に独自のUltrasonics-APIインスタンスをセットアップすることをお勧めします。手順はすべてそのリポジトリで入手できます。
概要
インストール
システムド
オプション 1 (手動インストール)
オプション 2 (Docker)
アプレット
入力
修飾子 (オプション)
出力
トリガー
プラグイン
プレイリストモードとソングモード
貢献する
独自のプラグインを作成する
超音波ソースコードの改善
超音波へようこそ!
Ultrasonicsは、音楽ライブラリと音楽プレイリストを制御できるように設計されたツールです。プレイリストを 3 つの異なるサービスに分散させたり、同じプレイリストの複数のコピーを手動で厳選する時間がないために 1 つのサービスに限定されたりする時代は終わりました。
Ultrasonic はプラグインを使用してお気に入りのサービスと対話します。つまり、新しいプラグインをインストールするだけで機能を追加できます。各プラグインはサービスとの互換性を提供する場合があります。たとえば、公式 Spotify プラグインは、もちろん Spotify にリンクします。他のプラグインは、複数のソースからのプレイリストを結合するなどの追加機能を提供します。
含まれているすべてのプラグインの概要は、[ドキュメントが不完全] にあります。
超音波を実行するには、次の 2 つのオプションがあります。
超音波を直接ダウンロードして実行します。
公式の Docker イメージをプルして実行します。
超音波はLinux 上で開発されました。クロスプラットフォーム互換性があるはずですが、テストされていないため、Windows / macOS でのバグや問題に備えてください。
Python 3 がインストールされていることを確認してください
# このコマンドが機能しない場合は、~↪ python3 --version の uluru に Python 3callum をインストールしてください Python 3.8.2
リポジトリをインストール ディレクトリ (おそらく/opt/ultrasonics
にクローン作成します。
# インストール ディレクトリに移動しますcallum at uluru in ~↪ cd /opt# このリポカラムを uluru in /opt に複製します ↪ git clone https://github.com/XDGFX/ultrasonics# /opt の uluru にある超音波フォルダー callum の所有権を持っていることを確認してください。 ↪ sudo chown -R callum:callum 超音波/
仮想環境を作成し、その中に必要な依存関係をインストールします。
# /opt の uluru にある超音波ディレクトリ callum に移動します ↪ cd Ultrasonics# /o/ultrasonics の uluru にある '.venv'callum フォルダーに仮想環境を作成します ↪ python3 -m venv .venv# 環境をアクティブ化します。# 別のシェルを使用している場合は、activate.<shell># 例: 魚の場合は、source .venv/bin/activate.fish!callum at uluru in /o/ultrasonics ↪ source .venv/bin/activate# venv がアクティブであることを確認します (行の先頭にある .venv を参照)# /o/ultrasonics の uluru に Python 依存関係callum をインストールします。 (.venv) ↪ pip3 install -rrequirements.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 を使用したことがある場合は、基本をすでに理解していると思います。超音波は「アプレット」の概念で動作します。作成する各アプレットには、次の 4 つのカテゴリのいずれかに該当するプラグインが含まれています。
これらのプラグインはサービスに接続して曲またはプレイリストのリストを取得し、そのリストをモディファイアーおよび出力プラグインに渡します。
これらのプラグインは、1 つまたは複数の入力プラグインから曲またはプレイリストのリストを取得し、何らかの方法でリストを変更します。たとえば、重複したプレイリストを結合したり、音楽検出 API を使用して曲を類似した曲に置き換えたりする場合があります。
これらのプラグインは、渡されたプレイリストのリストを取得し、サービスに保存します。おそらく、彼らは Plex でプレイリストを更新または作成するか、ホーム サーバー上の .m3u ファイルに保存します。
これらのプラグインは曲やプレイリストのフローの一部ではありませんが、代わりにアプレットが実際にいつ実行されるかを決定します。最も単純なトリガーは時間ベースです (例: 「6 時間ごとに実行」)。
インストールされたプラグインを使用してカスタム アプレットを構築し、それをデータベースに保存すると、トリガー プラグインから自動的に実行されるか、ホームページからアプレットを手動で実行できます。
超音波には、いくつかの公式プラグインがバンドルされています。詳細については、「ドキュメントが不完全」を参照してください。
新しいプラグインは、プラグインを含むフォルダーをplugins
ディレクトリにコピーするだけでインストールできます。
各アプレットには少なくとも 1 つの入力プラグインと 1 つの出力プラグインが必要です。自動的に実行するには、トリガープラグインも必要です。
ほとんどのプラグインには、グローバルな永続設定 (すべてのアプレットにわたるプラグインのすべてのインスタンスに共通)、またはプラグインのこのインスタンスに固有の設定を構成する必要があります。
アプレットを構築するときに、必要な設定を入力するよう求められます。
設定はいつでも空白のままにできます。場合によっては、これで問題ない、または予想通りの場合もありますが、プラグイン エラーが発生し、超音波データベースの手動修正が必要になる場合もあります。必要な設定は必ず入力してください。
一部のプラグインはプレイリストで動作するように設計されています。たとえば、Spotify プラグインは Spotify プレイリストと対話します。一部のプラグインは、Last.fm のトップ 100 曲などの曲で動作するように設計されています。
プラグインがソングモードでのみ動作する場合、「プラグインの選択」画面に警告が表示されます。
ソング モード プラグインを入力に追加すると、単一のプレイリストをアプレット フローに追加することで効果的に機能します。問題のプラグインがこの単一のプレイリストに名前を提供している限り、これは問題なく機能するはずです。
複数のプレイリストを単一のソングモード出力プラグインにフィードしようとすると、問題が発生する可能性が高く、お勧めできません。
超音波の改善に協力したいですか?まず第一に - ありがとうございます!ソフトウェア エンジニアではない私にとって、これは私が取り組んできた最大のプロジェクトの 1 つです。助けや提案をいただければ幸いです。
超音波の機能拡張は簡単です。プラグインはドラッグ アンド ドロップでインストールできるため、最小限の複雑さでプロジェクトを大幅に改善できます。学ぶための最良の方法は Wiki を利用することです。このプロジェクトをフォークすることも、プラグイン専用の独自のリポジトリを作成することもできます。別にしておくこともできますし、デフォルトのプラグインとして作成することでコミュニティに利益をもたらすと思われる場合は、GitHub の問題を通じて私に知らせてください。
今後の予定や既知の問題、全般的な改善点などがあれば記載させていただきます。また、優先度の高い問題が示されているプロジェクト ボードにも注目してください。
または、新しいアイデアがある場合は、それを試して、プル リクエストまたは問題で私に知らせてください。 ?