Raspiでネットワークオーディオプレーヤー
- 公開日: 2021/01/19(火) 22:52[JST]
- 更新日: 2022/08/27(土) 15:10[JST]
昨年実家の方でアナログレコードを処分したいとのことで、自分で買ったものも含め何枚か持って帰った。ただ家にはレコードプレーヤーは無かったので新たに購入することになった。
オールイン型のレコードプレーヤーを第一候補にしていたのだが、ネットでの評判や置き場所の制限などもあって、プレーヤー、プリメインアンプ、スピーカーを個別に購入して組むことに。オーディオコンポのセットアップって実家にいた時以来の数10年ぶりのことだったので「スピーカーとプレーヤーの間にアンプが必要なんだった」「スピーカーってより線がむき出しでアンプに圧接するんだった」とかすっかり忘れていた。
で、せっかく組んだのにレコード専門というのもなんかもったいないのでラジオやデジタル音源にも対応できるようにしたいと思った次第。検索してみると、Raspberry PiとVolumio 2[1]の組み合わせがよさそう。(「ITmedia NEWS ラズパイでハイレゾオーディオや「Spotify」を楽しむ」「NaoSoft別館blog『Volumio2のプラグインでradikoを聴く。』)
ということで、ITmediaの記事にあったコイズミ無線からキット一式(HifiBerry DAC+Lightセット)を購入。
CGAで1024色!
- 公開日: 2020/07/19(日) 22:01[JST]
最初期のIBM PCのグラフィックアダプタであるCGA(Color Graphics Adapter)。基本的には320x200, 4色という8ビット機にすら劣る環境である。しかしながら工夫により多色発色ができる。有名なものとしては。
この行数ではフォントの上8x2ピクセルしか表示されないが、文字コード221(左に寄せた4x8ピクセルの長方形)か文字コード222(右に寄せた4x8ピクセルの長方形)をスクリーン全体に敷き詰める。PCは文字ごとに背景色と文字色を設定できるので、1文字ごとに2x1ピクセル相当となり、160x100ピクセルというわけ。
コンポジット出力の特性上、320x200,4色や640x200白黒は160x200,16色に見える。320x200,4色のコンポジット出力は4色の中間色っぽい色合いになってあまり使い勝手はよくないが、640x200白黒のコンポジット化は(くすんだ色合いになりがちだけど)テキスト16色に近い色になり結構使える。
CGAでは上記2パターンが限界かと思っていたが、色数や解像度をより上げる技術があると知ってびっくりした。INT10H.orgの"CGA in 1024 Colors - a New Mode: the Illustrated Guide"という記事に原理が書いてある。
自作CMSへの道(4終):最後に表示エンジンを作る
- 公開日: 2020/07/11(土) 14:12[JST]
- 更新日: 2020/08/15(土) 22:44[JST]
コンテンツ作成画面を作ったら、表示エンジンとテンプレートをURL規則ごとに作っていき、テストしながら調整していく。
文章で書くと1行で終わってしまうが一番時間がかかった。たぶん本職のプログラマが手がければ全行程合わせて数カ月もあれば余裕なんだろうけどへっぽこ・ぐうたら趣味プログラマなんで何年もかかってしまった。
「フレームワークとは」「テンプレートとは」といった概念や、SGIやらnginxやら勉強になった、とは思う。所詮趣味なのでそれをどう有効活用できるかといえば微妙ではあるが。
自作CMSへの道(3): コンテンツの作成・編集画面の作成
- 公開日: 2020/07/08(水) 20:39[JST]
- 更新日: 2020/08/15(土) 22:44[JST]
テーブルができたので次はコンテンツ作成・編集画面を作る。とりあえずコンテンツ用のデータが無いと表示エンジンの動作確認ができないからね。
自宅サーバなのでコンテンツの作成・編集は家庭内LANの中からのみできるようにすればよく、デザインを考慮する必要は無いし、自分しか使わないのでフールプルーフにする必要もないだろう(、と鷹をくくっている)。
結果として、コンテンツやコメント、ブログのカテゴリリスト、非ブログコンテンツの章題の作成・編集、非ブログコンテンツや章題のインデックス上での表示順の設定といった一通りの機能をあまり時間をかけずに実装することができた。ちなみに、pythonコードは作成・編集画面が1400行、表示エンジンが2400行くらいだった。
自作CMSへの道(2): 画面レイアウトをスケッチする
- 公開日: 2020/07/04(土) 21:21[JST]
- 更新日: 2020/08/15(土) 22:43[JST]
前回の続き。基本コンセプトが決まったところで、紙に鉛筆で画面デザインをスケッチしていく。一番上のブロックにはタイトルがあってその下には左寄せで新着、設定画面、RSS、検索用のフォームがあって…、というのを描いていく。
自作CMSへの道(1): まず欲しい機能をまとめてみた
- 公開日: 2020/06/27(土) 22:44[JST]
- 更新日: 2020/08/15(土) 22:43[JST]
現在、このサイトはPythonベースのBottleというマイクロフレームワーク上に構築した自作CMSで動作している。サーバの構築手順やプログラミングなどの手順についてはこれまでに書いてきた通りなんだけど、CMSそのものの設計手順なども忘れないうちに書いておこうと思った次第。
【メモ】ファイアウォールの例外設定とプロキシ
- 公開日: 2020/06/21(日) 14:15[JST]
- 更新日: 2020/06/21(日) 16:09[JST]
ルータも作成したので、最後の仕上げとしてルータにipfwを入れようと思うんだけど、その前に通過するサービスをリストアップしなければならない。あと、各クライアントのプロキシ設定も。
異なるネットワークセグメントにあるPS3からDLNAサーバにアクセスしようとしてうまく行かなかった話
- 公開日: 2020/06/20(土) 12:39[JST]
- 更新日: 2020/06/20(土) 13:48[JST]
ラズパイの後ろ(有線LAN側)にプレステ3(と15年前の最初期のフルHDテレビ。D端子のみでHDMI無し)を設置して、手前(無線LAN側)にあるDLNAサーバにアクセスできないかとやってみて結局できなかったのでメモ。
Raspberry Pi 3B+で有線=無線LANコンバータを作る
- 公開日: 2020/06/11(木) 21:21[JST]
- 更新日: 2020/06/12(金) 06:04[JST]
前回の続き。r271-635の「Raspberry Piでルータを構築」をRaspbian Stretchベースに置き換えてみた次第。
Raspberry Pi 3B+でWPA2-EAP認証
- 公開日: 2020/06/08(月) 20:49[JST]
- 更新日: 2023/12/31(日) 11:31[JST]
WiFiの電波は届くけど有線LANは配線されていない部屋で有線LANオンリーの機器を使うため、Raspberry Pi 3B+でWiFiルータを作ろうとしたが無線LANの設定でハマったのでメモ。