最近、RaspberryPiを24時間年中無休の低電力ダウンロードマシンに変える方法を紹介しました。今度は、すばらしい自動化ツールを使用してシステムをほぼ完全にハンドオフする方法を紹介します。
なぜ私はこれをしたいのですか?
Raspberry Piダウンロードプロジェクトをフォローしている場合は、プロセスのこの時点で、本格的なBitTorrent / Usenetマシンを使用できます。それは素晴らしいことですが、完全に自動化されているわけではありません。新しいファイルをポイントしたり、お気に入りのテレビ番組のエピソードを選んだりするために、ボックスをかなり定期的に操作する必要があります。
Raspberry Piダウンロードボックスチュートリアルの最後のセグメントである自動化に関する今日のガイドを終えたら、完全に自動化されたデバイスを手に入れることができます。必要なのは、必要なものを伝えるだけで、あなたに代わってそれらのファイルのためのインターネット。
私たちと一緒に仕事をしていない場合は、ぜひチェックしてみてください RaspberryPiを常時オンのBitTorrentボックスに変える方法 そして RaspberryPiを常時オンのUsenetマシンに変える方法 。
私には何が必要なのだろう?
前のチュートリアルと同様に、このチュートリアルでは、RaspbianがインストールされたRaspberry Piユニットがあり、接続されたモニターとキーボードを介して直接、またはSSHとVNCを介してリモートでデバイスにアクセスでき、USBドライブがあることを前提としています(またはドライブ)に接続されています。さらに、Raspberry PiをBitTorrentやUsenetのダウンロードマシンに変えるためのチュートリアルの少なくとも1つ(または両方)を完了していることも前提としています。これらの分野に慣れる必要がある場合は、以下のガイドをここにリストされている順序で読むことを強くお勧めします。
- RaspberryPi入門のHTGガイド
- リモートシェル、デスクトップ、およびファイル転送用にRaspberryPiを構成する方法
- RaspberryPiを低電力ネットワークストレージデバイスに変える方法
- RaspberryPiを常時オンのBitTorrentボックスに変える方法
- RaspberryPiを常時オンのUsenetマシンに変える方法
チュートリアルの次のセクションとそこに含まれるツールは、Raspberry Piをまだセットアップしておらず、can-access-BitTorrent / Usenetステージに到達している場合は、ほとんど役に立ちません。
ただし、その段階になったら、ビルド全体を自動化して、ダウンロードを簡単に行うというビジネスに取り掛かるときが来ました。
チュートリアルの各セクションは、他のセクションから独立しています。たとえば、テレビ番組のスナッチングを自動化するが、映画のスナッチングは自動化しない場合は、チュートリアルの関連部分にスキップして、残りを無視してかまいません。
最後に、このガイドのすべての自動化ツールのインストールに関する小さなメモ。システムをひどくダウンさせることなく、それらすべてをRaspberryPiにインストールできることがわかりました。 しかしながら、 各自動化システムはフロントエンドで少し重い傾向があるので(最初にインストールしたとき、見たいテレビ番組の過去のエピソードを見つけてダウンロードするなど、多くの場合、手間がかかります)、与えることをお勧めしますシステムリソース、SABnzbd、およびUSB HDDを独占できるようにするために、各インストールには少し余裕があります。追いつきを過ぎたら、すべてがうまくいくはずですが、最初に3つの自動化アプリをすべて並べて解き放つことは、Piが利用できるリソースが限られているため、非常に困難です。
依存関係のインストール
このガイドで概説されているツール(SickBeard、CouchPotato、Headphones)を使用するには、開始する前にいくつかの依存関係をインストールする必要があります。 (デフォルトのRasbianディストリビューションですでにインストールされている依存関係には対処しません。)
何よりもまず、apt-getインストーラーを更新してアップグレードします。以前のRaspberryPiチュートリアルを*ちょうど*実行した場合は、最近アップグレードしたばかりなので、これを安全にスキップできます。
ターミナルで、次のコマンドを入力します。
sudo apt-get update
sudoapt-アップグレードを取得
更新/アップグレードしたら、必要な特定の依存関係のインストールを開始します。まず、すべてのツールはGitソフトウェアのソースコード管理ツールを使用します。 RasbianにはGitが付属していないため、インストールする必要があります。ターミナルで、次のコマンドを入力します。
sudo apt-get install git-core
プロンプトが表示されたら、Yキーを押してインストールを続行し、プロセスが終了するまで1〜2分待ちます。その後、プロンプトで「git –version」と入力してインストールを再確認し、gitがインストールされていることを確認します。バージョン番号が返されない場合は、インストーラーを再実行してください。
Gitに加えて、SickBeard(CouchPotatoやHeadphonesは除く)は、PythonテンプレートツールであるCheetahに依存しています。 SABnzbdをにインストールした場合 RaspberryPiを常時オンのUsenetマシンに変える方法 ガイド、あなたはすでにチーターをインストールしています。 BitTorrentガイドに従っているだけの場合は、インストールする必要があります。ターミナルで、次のコマンドを入力します。
sudo apt-get install python-cheetah
GitとPython-Cheetahをインストールしたら(テレビ番組にSickBeardを使用する予定の場合)、開始する準備が整いました。
RaspbianへのSickBeardのインストールと構成
SickBeardは、UsenetおよびBitTorrentダウンロード用のテレビ管理ツールです。UsenetのサポートはBitTorrentのサポートよりも大幅に成熟していますが、どちらも機能しています。一言で言えば、SickBeardにどのテレビ番組を見たいかを伝え、インターネットを利用したTiVoのように機能し、それらの番組をダウンロードします(追いついている場合はバックログから、番組コレクションの場合はリリースされたときに)最新です)。これは、お気に入りのプログラムを常に把握するための素晴らしい方法です。
SickBeardのインストール: SickBeardをインストールするには、ターミナルを開いて次のコマンドを入力します。
git clone git://github.com/midgetspy/Sick-Beard.git
インストールが完了したら、SickBeardディレクトリに切り替えて、SickBeardを初めて実行します。
cd Sick-Beard
python SickBeard.py
しばらくハングしているように見えます。その後、冗長なSickBeardスクリプトが表示され、アイドル状態になります。この時点で、Webブラウザーにアクセスし、次のアドレスをポイントしてSickBeardをチェックアウトできます。
http:// [Your PI's IP Address]:8081 / home /
SickBeardの構成: 以前のチュートリアルで使用したいくつかのツールとは異なり、SickBeardにはセットアップをガイドする構成ウィザードがありません。ここで重要な手順を説明します。 SickBeardのインターフェースの構成部分内のセクションごとに、変更する必要のある関連アイテムを一覧表示します。
の中に 構成->一般 セクション:
[ブラウザの起動]のチェックを外します。リモートでボックスにアクセスします。このリソースを浪費するオプションは必要ありません。
[Webインターフェイス]で:必要に応じて、ユーザー名とパスワードをSickBeardに追加したり、ポート番号を変更したりできます。
の中に 構成->検索設定 セクション:
ここでは、UsenetやBitTorrentクライアントと連携するようにSickBeardを構成します。 SickBeardはUsenetで本当に輝いています、そして私たちはあなたがそのルートに行くことを勧めます。
Usenetの保持を調整する:デフォルトは500日です。プレミアムUsenetプロバイダーをお持ちの場合、保持期間ははるかに長く、通常は1100日以上になります。プロバイダーに確認し、ここに適切な番号を入力してください。
[NZB検索]で、[NZBを検索]がオンになっていること、およびSABnzbdを選択していることを確認します。 URL、ユーザー名とパスワード(設定している場合)、およびSABnzbdインストールからのAPIキーをプラグインします。完了したら、[SABnzbdのテスト]をクリックして、SickBeardが正常に通信できることを確認します。
注:BitTorrentを使用するように設定されている場合は、[トレントの検索]をオンにして、トレントクライアントの監視フォルダーを設定する必要があります。
の中に 構成->検索プロバイダー セクション:
ここでは、検索するインデックスを選択し、プライベート/有料検索インデックスのAPIキーを入力できます。
[プロバイダーの優先順位]で、プロバイダーを有効にするかどうかを確認してから、リストにドラッグアンドドロップして優先順位を付けることができます。デフォルトでは、ウォンブルズのインデックスがチェックされています。 Sick Beard IndexとnzbXを確認できますが、残りはAPIキーを持つアカウントが必要です。それらを使用するには、それぞれのWebサイトにアクセスし、サインアッププロセスを実行する必要があります。
注:前の手順でトレント検索をオンにした場合は、ここにリストされているTVトレントトラッカーも表示されます。
の中に 設定->後処理 セクション:
最初の「後処理」セクションで、「TVダウンロードディレクトリ」を空白のままにします。この関数を処理するSABnzbdのヘルパースクリプトを設定します。 「元のファイルを保持する」のチェックを外します。ミニPiサーバーには、ダウンロードしたものすべての複製を保存するスペースがありません。 「関連ファイルの移動」と「エピソードの名前変更」をチェックして、SickBeardがTVコンテンツとともにダウンロードした追加ファイルを移動し、「命名」セクションで選択した規則で番組の名前を変更します。
最後に、SickBeardにメディアセンターの設定に適した形式でメタデータをダウンロードさせることができます。すべてのXBMCインストールを使用するため、「メタデータタイプ」としてXBMCを選択し、SickBeardで作成するすべてのメタデータファイルタイプ(フォルダーイメージやファンアートなど)を確認しました。
の中に 構成->通知 セクション:
このセクションは完全にオプションです。メディアクライアント(XBMCなど)やGrowlなどの通知サービスで通知を設定できます。新しい番組がダウンロードされた後にXBMCにライブラリの更新を強制するようにSickBeardを設定できるため、完全に自動化されたシステムが必要な場合、XBMC通知は非常に便利です。
SABnzbdとSickBeardのリンク:適切に構成されたSickBeardとSABnzbdには、良好な共生関係があります。 SickBeardが番組を見つけ、NZBファイルをSABnzbdにキックし、SABnzbdがSickBeardヘルパースクリプトを呼び出してすべての番組を後処理し、適切なフォルダーに転送するように設定できます。構成が完了すると、プロセスは完全にシームレスになります。
2つをリンクするには、ヘルパースクリプトをコピーし、それに付随する非常に小さな構成ファイルを編集する必要があります。まず、ターミナルで次のコマンドを入力して、2つのファイルが配置されているフォルダーに移動します。
cd / home / pi / Sick-Beard / autoProcessTV
そのディレクトリ内には、autoProcessTV.py(ヘルパースクリプト)とautoProcessTV.cfg.sample(サンプル構成ファイル)の2つのファイルがあります。構成ファイルを開いて変更を加えましょう。次のコマンドを入力します。
なの あうとPろせっsTV。cfg。さmpぇ
nanoエディターで、単純な構成ファイルのすべてがインストールに一致することを再確認します。デフォルトでは、構成ファイルは、ユーザー名やパスワードを使用せずに、ポート8081のローカルホストを指します。設定(ポート番号やユーザー名/パスワードの追加など)を変更した場合は、それを反映するようにファイルを編集します。完了したら、CTRL + Xを押して終了します。ファイル名をautoProcessTV.cfgに変更します(最後から.sampleを削除します)。
SABnzbdにスクリプトへのアクセスを許可する方法は2つあります。怠惰な方法は、SABnzbdの[構成]-> [フォルダ]セクションにある後処理スクリプトディレクトリを/ home / pi / Sick-Beard / autoProcessTVに変更することです。 SickBeardスクリプトが使用する唯一の後処理ツールである場合、これは正常に機能します。
または、すべてのSABnzbdスクリプトを1つの場所に保持する場合は、次のコマンドを使用して、それらをSABnzbdスクリプトフォルダー(Usenetガイドで設定したフォルダー)にコピーできます。
cp autoProcessTV.cfg autoProcessTV.py sabToSickBeard.py / media / USBHDD1 / shares / SABnzbd / scripts
いずれにせよ、スクリプトを構成してコピーしたら、SABnzbdにそれらを使用するように指示する必要があります。 SABnzbdで、[Config]-> [Categories]に移動し、新しいカテゴリ「tv」を作成します。スクリプトセクションで、後処理スクリプトとしてsabToSickBeard.pyを選択します。 TVダウンロードが他のダウンロードから一時的に隔離されてから永続的なTVフォルダにシャッフルされるフォルダを作成する場合は、フォルダ/パス(SickBeardTVなど)を設定できます。変更を保存するには、必ず[追加]ボタンを押してください。
SickBeardに番組を追加する :SickBeardを構成したので、今度は最も重要な部分、つまり新しい自動システムにテレビ番組を追加するときです。
まず、SickBeardが番組を保存するためのディレクトリを作成する必要があります。 (Piで使用している外付けハードドライブにテレビ番組ディレクトリがすでに設定されている場合は、この手順をスキップしてください)。ターミナルで、次のコマンドを入力します(前のチュートリアルで確立したものと同じセットアップを使用していない場合は、パス名を変更します)。
mkdir / media / USBHDD1 / shares / TV /
次に、メインのSickBeardインターフェイスから、[ショーの追加](左上隅のセカンダリナビゲーションバーにあります)をクリックします。システムに番組を追加するには、2つのオプションがあります。新しい番組の新しいエントリを作成するか、すでにダウンロードしたテレビ番組をシステムにインポートすることができます。 SickBeardに追加する既存のテレビ番組コレクションがない場合でも、SickBeardをテレビ番組ディレクトリにポイントするために[既存の番組を追加]ボタンから開始する必要があります(空か満杯かに関係なく) 。
[既存の番組の追加]をクリックし、[ディレクトリの管理]タブで[新規]をクリックします。ファイルエクスプローラーでTVフォルダーを選択します。 [OK]をクリックした後、ページの下部にある[デフォルトとして設定]、[送信]の順にクリックします。
デフォルトのテレビディレクトリを設定したら、[番組の追加]-> [新しい番組の追加]に移動して、コレクションにテレビ番組を追加できます。検索ボックスに番組のタイトルの全部または一部を入力して検索し、監視およびダウンロードする番組を選択します。 [次へ]をクリックして、保存先のフォルダーを再確認し、次にもう一度クリックして、不足しているエピソードに[募集]または[スキップ]のフラグを付けるかどうか、およびダウンロードのビデオ品質を指定します。すべてが良好に見える場合は、[追加]をクリックします。番組リストに戻り、SickBeardが番組のフォルダを作成し、メタデータをダウンロードして、エピソードの検索を開始します。 (タイマーが次のエピソード検索までカウントダウンするのを待ちたくない場合は、[管理]-> [バックログの概要]をクリックして、すぐに検索を強制できます。)
起動時のSickBeardの実行:SickBeard構成プロセスの最後のステップが1つあります。起動時にSickBeardを起動するための小さな起動スクリプトを追加します。結局のところ、手動で起動する必要がある場合は、自動化されたテレビ番組ダウンローダーを使用しても意味がありません。以前のRaspberryPiのダウンロードボックスチュートリアルでこれらのスタートアップスクリプトを十分に作成したので、詳細なステップバイステップの内訳なしで、入力する必要のあるコマンドをリストアップします。
ターミナルで次のコマンドを入力して、起動スクリプトをコピーし、権限を変更して、起動ファイルを更新します。
すど wげt ーお /えtc/いにt。d/しckべあrd/ hっtps://wっw。ほwとげえk。こm/wpーこんてんt/うpぉあds/っg/うp/っしょt5161b529c109d。txtすど chもd 755 /えtc/いにt。d/しckべあrd
sudo update-rc.dsickbeardのデフォルト
これですべてです。これで準備が整いました。視聴したい古い番組を追加し、現在視聴している番組を追加し、まだ放送されていないが視聴したい番組を追加します。 SickBeardは、それらすべてをシームレスかつ自動的にダウンロードします。
RaspbianへのCouchPotatoのインストールと構成
前のセクションでのすべての構成に疲れた場合は、気を付けてください。 SickBeardは、今日のまとめで構成するのに最も複雑なツールです。 SickBeardの自動テレビダウンロードに相当する映画であるCouchPotatoから始めましょう。
CouchPotatoのインストール: すでにすべての依存関係をインストールしているので、Gitからソースコードを取得することに取り掛かりましょう。ターミナルで、次のコマンドを入力します。
cd /ほめ/ぴ
git clone http://github.com/RuudBurger/CouchPotatoServer.git
python CouchPotatoServer / CouchPotato.py
Pythonスクリプトを実行すると、カーソルはアイドル状態になります。代わりにクラッシュダンプが発生した場合は、簡単に編集して、Webデーモンとスタートアップウィザードをオンにできるようにする必要があります。 スクリプトがクラッシュした場合にのみこの編集を行ってください 。ターミナルで、次のコマンドを入力します。
なの /ほめ/ぴ/こうchぽたとせrゔぇr/こうchぽたと/るんえr。py
スクリプトで、このセクションが表示されるまでページを下に移動し、太字の行を追加します。
config = {
'use_reloader':リローダー、
'ポート':tryInt(Env.setting( 'ポート'、デフォルト= 5000))、
'host':Env.setting( 'host'、default = '')、
'ssl_cert':Env.setting( 'ssl_cert'、default = None)、
'ssl_key':Env.setting( 'ssl_key'、default = None)、
'host':Env.setting( 'host'、default = "0.0.0.0")、
}
変更を保存して、スクリプトを再実行します。スクリプトが正常に実行されたら、ブラウザで次のアドレスを指定して開始できます。
http:// [Your PI's IP Address]:5050 / widget /
SickBeardの場合と同様に、基本的な設定について説明します。関連するコマンドはセクションごとにリストされています。
CouchPotatoの構成: スキップできます ようこそ セクション。インポートする既存のCouchPotatoデータベースはありません(古いCouchPotatoを新しいRaspberry Piダウンロードボックスに移動してインストールする場合は、指示に従って、ウィザードで古いdata.dbを指定してください)
の中に 一般 セクションでは、ユーザー名とパスワードを設定したり、必要に応じてポート番号を変更したりできます。 「ブラウザの起動」のチェックを外します。
の中に ダウンローダー セクションでは、1)SABnzbdと通信するようにCouchPotatoを設定するか、2)Delugeで機能するようにトレントファイルの監視フォルダーを指定する必要があります。 SABnzbdと連携するように設定しています。ホストをそのままにして、SABnzbd APIキー(SickBeardに使用したものと同じもの)を挿入します。
SABnzbdカテゴリを指定することもできます。プロセス全体を実際に自動化するには、この手順を強くお勧めします。特定のCouchPotatoカテゴリを有効にすることで、自動名前変更/ファイルムーバーがスムーズに機能するようになります。
の中に プロバイダー セクションで、CouchPotatoに使用させたいプロバイダーを選択します。 SickBeardの場合と同様に、プレミアムプロバイダーのログイン詳細/ APIキーを入力する必要があります。
の中に 名前の変更 セクションでは、自動ファイル名変更/移動を設定できます。これは素晴らしい機能です。 Toフォルダーを設定して、ムービーの移動先を指定し、クリーンアップを確認して、Fromフォルダーを指定します(これは、SABnzbdのMoviesタグに割り当てたフォルダーと同じである必要があります)。
の中に オートメーション セクションでは、GreaseMonkeyスクリプトまたはブックマークレットをインストールして、ブラウザからCouchPotatoインストールに必要な映画を簡単に追加できます。
すべて完了したら、設定を確認し、下部にある巨大な緑色のボタンをクリックします。スタートアップウィザードは、関連するほぼすべての設定をカバーしますが、覗き見したい領域が1つあります。スタートアップウィザードでは、通知を設定するように求められません。これを行うには、右上隅の歯車をクリックしてから、ナビゲーションサイドバーの[通知]をクリックします。そこでは、SickBeardの場合と同様に、XBMCユニット、Growl通知が有効になっているデスクトップ、さらにはメール通知を設定するなど、さまざまなシステムへのプッシュ通知をオンにすることができます。
起動時に開始するようにCouchPotatoを構成する: この時点で、必見の映画をCouchPotatoに接続し始めることに興奮していることはわかっていますが、先に進む前に、もう1つの小さなステップを完了する必要があります。 CouchPotatoが起動時に起動するように、起動ファイルを設定する必要があります。
ターミナルを開き、次のコマンドを入力します。
cd〜 /
sudo cp CouchPotatoServer / init / ubuntu /etc/init.d/couchpotato
すど chもd 755 /えtc/いにt。d/こうchぽたと
sudo update-rc.dcouchpotatoのデフォルト
この時点で、構成はすべて完了し、新しいCouchPotatoのインストールでビジネスに取り掛かることができます。
Raspbianへのヘッドフォンのインストールと構成
今日の自動化の良さの3つの要素の最後の自動化ツールは、ヘッドフォンです。SickBeardはテレビ、CouchPotatoは映画、ヘッドフォンは音楽です。
ヘッドフォンのインストール: 開始するには、ターミナルを開き、次のコマンドを入力します。
git clone https://github.com/rembo10/headphones.gitpythonheadphones / Headphones.py
ヘッドフォンの設定: SickBeardのように、インストールウィザードはありませんが、設定メニューは簡単です。ヘッドホンインターフェイスの右上隅にある歯車をクリックして、設定メニューにアクセスします。関連する各セクションを1つずつ見ていきます。
の中に Webインターフェイス セクションでは、ログイン/パスワードを追加し、ポート番号を変更し、Headphones APIをオンにすることができます(一部のサードパーティヘルパーアプリに必要)。
の中に ダウンロード 設定セクションでは、SickBeardとCouchPotatoに使用したのと同じ情報(ポート番号、ユーザー名、パスワードが有効になっているホスト、およびAPIキー)を使用して、ヘッドフォンをSABnzbdインストールに向ける必要があります。カテゴリ機能を利用して、音楽用のSABnzbdダウンロードフォルダにサブフォルダを指定することを忘れないでください。他の自動化アプリと同様に、必要に応じてトレントを使用するようにヘッドフォンを構成することもできます。
の中に 品質と後処理 セクションでは、好みのビットレートに基づいて品質を設定できます(またはロスレス品質に設定できます)。アルバムアートの自動埋め込み、フォルダへの並べ替え、ファイルの自動名前変更などの後処理機能を設定することもできます。
最後に、 高度な設定、 いじくり回すことができる設定はたくさんあります(ただし、オンとオフを切り替える前に注意深く読むことをお勧めします)。名前の変更形式を変更したり、オーディオ形式の自動再エンコードを有効にしたり、通知を有効にしたりできます。
新しいヘッドフォンユーザーの[詳細設定]メニューで最も重要な設定は、右下隅にある[Musicbrainzミラー]オプションです。そのままにして、 だが アーティストやアルバムを検索するときに常に「フェッチに失敗しました」というエラーが発生する場合は、このセクションに戻って別のミラーを選択する必要があります。
すべての調整が完了したら、必ず下部にある[変更を保存]を押してから、右上隅にある[再起動]を押して変更を有効にします。
検討する可能性のある他の主要な構成手順は、Piで使用している外付けドライブにすでにたくさんの音楽がある場合は、コレクションを管理するためにヘッドフォンを設定することだけです。これを行うには、メインナビゲーションバーの[管理]をクリックし、ヘッドフォンを適切なディレクトリに向けます。
起動時に起動するようにヘッドフォンを構成する: この時点で、ヘッドフォンの検索と使用を開始する準備が整いましたが、以前の自動化ツールと同様に、起動時に自動起動を有効にします。これを行うには、ターミナルで次のコマンドを入力します。
cd〜 /ヘッドフォン
すど なの いにt。うぶんつ
init.ubuntuファイル内で、2つの簡単な変更を加えます。はい、ファイルの先頭で、ファイルの編集に対して厳しく警告します(ただし、私たちはエッジに住んでおり、さらに重要なことに、ヘッドフォン専用のユーザーアカウントを使用していないため、この変更を行う必要があります)。
29行目と30行目を下にスクロールします。
## HP_USER =#$ RUN_AS、[...]
## HP_HOME =#$ APP_PATH、[...]
これらの2行のコメント##マークを編集して、次のユーザー名とホームディレクトリを挿入します。
HP_USER = pi#$ RUN_AS、[...]
HP_HOME = / home / pi / headers#$ APP_PATH、[...]
Ctrl + Xキーを押して終了し、作業内容を保存してから、プロンプトで次のコマンドを入力します。
sudo cp init.ubuntu /etc/init.d/headphones
すど chもd 755 /えtc/いにt。d/へあdpほねs
sudoupdate-rc.dヘッドフォンのデフォルト
これで、ヘッドフォンが起動時に実行されるように設定され、ダウンロード自動化トリプルアタックの最後のピースが実行されました。
この時点で、Raspberry Piボックスは、最初から最後までダウンロードする獣であり、手入れや給餌はほとんど必要ありません。 UsenetおよびBitTorrentクライアントのインストールについて説明しました。この最終回では、RaspberryPiダウンロードボックスを小型で低電力のヘッドレスマイクロサーバーと同じように使用できるようにするための3つの便利な自動化ツールが用意されています。
とは言うものの、Raspberry Piビルドのアイデアを使って、小さなパワフルなPiサウンドを楽しむことは、常にもっと楽しいことです。私たちは、それらを実現するためにできることを行います。