1. TanaRadio
  2. 391 日記 | TanaRadio Pi製作..
391 日記 | TanaRadio Pi製作の現状と今学期の授業の振り返り
2026-08-04 25:04

391 日記 | TanaRadio Pi製作の現状と今学期の授業の振り返り

spotify apple_podcasts

TanaRadio Pi 開発過程まとめ

――思いつきからフェーズ5Nまでの51日間――

作成:2026年8月3日 
対象期間:2026年6月13日〜8月2日 

0.全体の要約

2026年6月13日、「ポッドキャストをラジオ受信機で聴きたい」という思いつきから始まりました。翌14日に部品を注文し、以後ほぼ毎日、30分程度の作業を積み重ねています。

51日間の到達点は次のとおりです。

  • 電源を入れると自動で起動し、スピーカーから声が流れる
  • 8つの「棚」を、つまみを回して切り替えられる
  • 再生・停止・前後の移動も、つまみ1本で操作できる
  • 画面はなく、状態は2つのLEDの点滅で表す

制作過程は声日記として33本配信され、記録そのものが作品の一部になっています。

1.時系列

第I期:小さなパソコンにする(6月13日〜21日)

日付出来事
6/13ラジオを作ることを思いつく
6/14Raspberry Pi 5ほかを注文(357)
6/16開封の儀(358)
6/17microSDにOSを書き込む(359)
6/18起動・Wi-Fi・音出しを確認(フェーズ1・2完了)(360)
6/19ボタン・つまみ類を追加注文(361)
6/21電源ONでTanaRadioの画面が自動表示(フェーズ3完了)(362)

フェーズ3では Unlock keyring のパスワード入力に手こずり、Seahorseでキーリングのパスワードを空にして解決しました。最初の「詰まりどころ」です。

第II期:ボタンで操作する(6月24日〜28日)

日付出来事
6/24GPIO17に1ボタンだけ配線して反応を確認(365)
6/253ボタンに増やし、playerctlでブラウザ再生を操作(366)
6/28Chromiumを捨ててmpvへ移行(フェーズ4完了)(368)

ブラウザ経由からmpv+Unixソケット制御へ移ったことが、以後すべての土台になりました。この段階で「RSSから音声URLを取り出す」という、現在まで続く基本動作が入っています。

第III期:ラジオの文法を作る(6月29日〜7月12日)

6月29日、フェーズ5を9段階(5A〜5I)に分割する計画を立てました(369)。以後、ほぼ1日1段階のペースで進みます。

日付段階内容
6/305ARSS1本からプレイリストを生成(370)
7/15B過去3日分を古い順に並べる(371)
7/25C複数RSSの統合(372)
7/45D3ボタンでプレイリストを操作(374)
7/55E「棚」ファイルの導入(5棚)(375)
7/65F棚選択ボタン+LED1(376)
7/85G再生モードボタン+LED2(377)
7/9音量ロータリーエンコーダー(378)
7/10Raspberry Piをメタルケースへ(379)
7/12systemdによる自動起動(380)

7月5日に導入した**「棚」がこのプロジェクト固有の発明**です。番組やエピソードではなく、複数のRSSをまとめた単位で選ぶ。「声の本棚」という当初からの比喩が、ここでファイル構造として実装されました。

7月12日、電源を入れるだけで音が出るようになり、機械としての基本形が完成しています。

第IV期:基板化と筐体の芽(7月13日〜21日)

日付出来事
7/13実体配線図を作成。ブレッドボードのまま籠に入れた状態を「カゴラジオ」と呼ぶ(381)
7/14基板が想定より小さく、配置を変更(382)
7/15ピンヘッダーとグラウンド線をハンダ付け(383)
7/16スイッチ1個+抵抗1個。1つずつ動作確認する方式を確立(384)
7/19ボタン3個→5個へ(386・387)
7/20LED2個を追加。紙箱に載せて「箱ラジオ」に(388)
7/21ロータリーエンコーダーを取り付け、基板化完了(389)

この期間の技術的な山場は、隣り合うランドをハンダでつなぐ作業でした。「抵抗のリード線を長いまま先に固定し、あとから切る」という手順に行き着いたのが7月19日です。手順の発見が、道具の腕前より効いた局面でした。

第V期:ソフトウェアの成熟と操作系の再設計(7月25日〜8月2日)

日付段階内容
7/255J音量の永続化(棚を変えても音量が戻らない)
7/255K内部構造の整理6項目、起動スクリプトのバージョン非依存化
7/265LRSS並列取得。棚切り替えが約20秒→1.7秒
7/26ALSAミキサーを100%へ(音量問題の真因)
7/265M棚選択をロータリーエンコーダー化。棚ボタン廃止
8/25N再生操作をロータリーエンコーダー1本に統合。3ボタン廃止

5Mで導入した**「確定の二段構え」**(回転が止まって0.8秒でLED表示、2.5秒でRSS再取得)は、つまみを回して局を探し、手を止めると音が入ってくるという、古いラジオの同調に近い動作を生みました。

5Nでは回転を0.5秒ためて一度で移動する方式とし、playlist-pos を読んで直接飛ぶようにしています。mpvから値を「読む」処理は、5Nで初めて書いた種類のコードです。

2.操作系の変遷

部品の総数は増えているのに、操作の種類は減り続けました。

時点構成
7月19日(5G相当)5ボタン・2ランプ・1ダイヤル
7月26日(5M)4ボタン・2ランプ・2ダイヤル
8月2日(5N)1ボタン・2ランプ・3ダイヤル

5Nの時点で、操作は次のように整理されています。

  • 回すもの=4つの軸:棚(何を)/モード(どの順で)/エピソード(どこを)/音量(どれくらい)
  • 押すもの=唯一の動詞:再生/一時停止

残った1つの押しボタン(再生モード選択)も、フェーズ5Oでつまみに置き換える予定です。

3.思想の展開

技術と並行して、「なぜこれを作るのか」の言語化が進みました。

日付内容
6/21363「作る意味とは」 ChatGPTに問い、「音声が現れるまでの過程を、自分の手と場所と機械に取り戻すこと」という答えを得る
6/26367「ほどよいラジオ」 鉱石ラジオ(自作性)・自由ラジオ(場所性)・イリイチのコンヴィヴィアリティ(ほどよさ)の三点で位置づける
7/3373 講義「ほどよい技術」 「科学と技術の社会史」の教材にTanaRadio Piを組み込む。適正技術の実例として提示
7/13381 「何が出てくるかわからない」聴き方の面白さを語る
7/19385 テックLT 「たまたま聴けるものを聴く」という聴き方の発見と、スモールステップの有効性を報告

コンヴィヴィアリティに「ほどよい」という訳語を当てたのが6月26日です。この語は講義にも持ち込まれ、制作が教育実践に折り返しています。

7月26日の総合報告書では、四つの概念に階層をつけました。「声の本棚」だけがこの装置固有の発明であり、鉱石ラジオは「作る過程」、イリイチは「作った後の暮らし方」、自由ラジオは「場所性(TanaFMまで未着手)」という分担です。

4.一貫していた作り方

51日間を通して守られた原則は、次の4つに集約できます。

1. スモールステップ。 1日30分でできる単位に割る。フェーズ5を9段階に分けたのが典型です。「一遍に高機能のものを作ろうとすると大体うまくいかない」(381)。

2. 動いたものは残す。 5Aのスクリプトを消さずに5Bを作る。フェーズごとにファイル名を変える。戻れる場所を必ず用意しています。

3. ハードを増やす前にソフトで仕組みを固める。 5Mの棚エンコーダー化が少ない実装量で済んだのは、連続押しをまとめるタイマー処理をボタン用として先に作ってあったためです。

4. 組み込む前に単体で測る。 棚エンコーダー(7/26)と再生エンコーダー(8/2)は、いずれもブレッドボードで測定してから本体に入れました。1クリック=1ステップであること、押し込みで軸が回らないことは、測って初めて分かっています。

そして全体を通じて、AIが先生役、判断は人間という関係が保たれました。手順書はAIが書きますが、部品を選び、ハンダを当て、仕様を決め、失敗の原因を突き止めるのは人間の側です。

なお7月下旬に、開発支援AIがChatGPTからClaudeへ交代しています。作り方の原則は引き継がれましたが、フェーズ番号の規約だけが落ちました(そのため,フェーズ番号がこのまとめでは途中で飛んでいます:5G→5J)。

5.主な失敗と、そこで分かったこと

症状真因教訓
起動時にパスワードを聞かれるキーリングの仕様自動化は「動いているもの」に対してのみ行う
音量の数値は変わるのに音が変わらないmpvの内部音量が実出力に届いていない音の経路は何段もある
番組によって音が小さすぎるALSA側が70%で頭打ち同じ症状でも原因の層が違う
GPIO busy で起動しない起動スクリプトが旧版を呼び二重起動手動実行の前に必ずサービスを止める
棚切り替えに20秒の沈黙RSSを1本ずつ取得していた複雑な仕組みを足す前に単純な原因を疑う
LEDが8番を表示中に追従できないtime.sleep は止められない世代番号で中断可能にする

これらの記録は備忘録ではなく、「ブラックボックスが開く瞬間」の一次資料として意識的に残されています。抽象的に「技術は不透明だ」と語るより、具体的な症状と原因の層を示すほうが教材として強い、という判断です。

6.現在地と次

現在地(8月3日)

操作系はほぼ形になり、日常利用による評価の段階です。次の点を観察しています。

  • PLAY_ACCUM_DELAY(0.5秒)が体に合っているか
  • 左回し(戻る)を実際に使うか
  • モードボタンを何回触ったか(=5Oの設計判断そのもの)

次の予定

  1. 5O:モード選択のロータリー化+I2S用のGPIO再配線(棚A相 19→17、音量A相 21→22)
  2. 筐体(木製ケーブルボックス+4mmシナ合板パネル)
  3. I2Sアンプ(MAX98357A)への移行
  4. 電源操作(J2パッド)

#声日記 #TanaRadioPi

サマリー

たなは前期の成績評価を終えました。その間、気分転換にTanaRadio Piの製作を進めていました。これまでのボタン操作を、棚選択や再生操作においてロータリーエンコーダーによるつまみ操作へと変更し、より直感的な操作を目指しています。また、今学期の授業では、AIによる安易な回答を防ぐため、毎週の課題を「疑問や違和感」の記述に、ブログディスカッションを「朗読劇台本」の作成に変更しました。台本作成ではAIの活用を認めつつ、意見レポートとプロセスレポートの提出を義務付け、学生が多角的な視点から思考する機会を提供。この新しい試みは学生からも好評で、成功と評価されています。夏休みは学会発表の準備とTanaRadio Pi製作を続ける予定です。

前期成績評価の完了と声日記
たなです。
2026年8月4日火曜日午前11時30分を過ぎたところです。
声日記を収録します。
今日の午前中に実家から自宅に戻りまして
結構汗をかいたのでシャワーを浴びて今さっぱりしたところです。
この10日余りぐらいはですね、前期の成績付けに没頭していまして
それ以外のことはできるだけしないで
ともかく早く成績を付け終わるということを目指してきましたので
ちょっと声日記を収録することも控えてきました。
無事、昨日ですね、全てのクラス、6クラスあるんですけども
全てのクラスの成績をシステムに入力しまして
とりあえず前期にやるべきことを一通り終わったかなという感じです。
TanaRadio Pi製作:つまみ操作への移行
それで、とは言うもののやっぱり成績を付けてばかりいますと
頭がだんだんぼーっとしてきますので
気分転換も必要だということで
TanaRadio Piの製作はコツコツと進めていました。
7月の21日に製作日記、最後のものとして
とりあえず一通り部品を基板に付けるということが終わったというところまでいきました。
この基板は紙の箱に医療用テープで貼り付けまして
それをRaspberry Piのケースに乗せまして
さらに全体を箱の中に入れまして
とりあえず電源ボタンを押せば音が鳴り
ボタンとかつまみを使いますといろいろと操作ができるようなところまでいったと
一区切りついたというところまで話したわけですけれども
その後何をやっていたかというと
基本的にはボタンをつまみ化するという形ですね
これを進めていました。
まずつまみとしてはですね
基本的に最初は音量調節のつまみしかなかったんですね。
残りは全部ボタンでやるという形だったんですけれども
まず棚を選ぶ。棚というのはこれは
ポッドキャスト、正確に言えばRSSのグループなんですけれども
いくつかのポッドキャストを束ねまして
RSSからデータを引き出してそこの音声データを再生するという形で
ラジオに例えれば放送局のようなものですね。
それぞれの局を選ぶような形で棚を選ぶという
そういうことができるようになっていたんですけれども
それをボタンで1番の棚、2番の棚と
押すごとに変わっていく
最初は5つだったんですけれども
その後8つに増やしました。
どの棚を選んでいるかというのは
LEDが光る回数で分かるようにするということで
数が多くなってくると光る回数を数えなきゃいけなくて大変になるんですね。
例えば8番目の棚だとLEDが8回光るのを数えるというのは大変なので
長く光るやつを5回、5として
例えば8だったらば長く光るの1回と短く光るの3回
だから合計4回光るのを数えればいいという
そういう形でやっていたわけですけれども
そのような棚を選ぶのをですね
なんとかつまみを回すことで
つまみだと右回り、左回り両方できますので戻ることができるんですね。
ボタンだと進むことしかできないので
ラジオもダイヤルを回して周波数を合わせるというのがありますけど
それに近い感覚が欲しいなと思って
棚選びはぜひともつまみでやりたいと思って
つまり部品で言うとロータリーエンコーダーを使う形に変えました。
その次に今度は再生の仕方ですね。
1つの棚でいくつもエピソードがありますと順に再生していくんですけど
それを次のエピソードに移る、つまり進むという形とか
あるいはまた戻る、あるいは一時停止というような
CDとか、今CDなんてあまり使いませんよね。
昔だとカセットテープなんですけど
ボタンでもってプレイ、それからストップとか色々操作しましたけど
それに近い感覚でボタンで始めたんですけれども
これもつまみで、つまみはプッシュということで
ボタンのように押すこともできるロータリーエンコーダーがあるので
押すと止まり、もう一回押すと再生続ける
それから右に回すと次のエピソード、左に回すと前のエピソードという形で
一つのつまみで三つのボタンの操作が全部できてしまうという形にできますので
この再生操作もつまみ化して
つまり音量の調節を含めますと三つのつまみを使ってコントロールできるところまでいきました。
TanaRadio Pi製作:モード選択と今後の計画
フェーズで行きますと今フェーズ5のABCとずっと行っているんですけども
5のNというところまで来たんですね。
次がOですけれども、5のOになりますと最後のボタンであるモードの選択ですね。
モードというのはこれは一つの棚を再生する際に最も新しいものから古いものに遡っていくのか
それとも例えば今日の配信されたもののみを選んでそれの古い順で再生する
あるいは直近の3日間で配信されたものを古い順に再生する
そんな形で再生のさせ方をモードと言っているんですけれども
そのモードの選択も今ボタンでやることになっていますが
これもつまみを回してやりますと統一感があっていいかなという風に思って
次のフェーズとして実現したいなと思っているんですけど
これは今やっている最中ですね。
ともかく部品が全部ボタンからつまみに変わりますので
せっかく一度基板に載せたんですけどまた新たな基板を使って部品を今載せている最中なので
今のところロータリーエンコーダー2つを基板に載せたものができているんですけど
さらに2つ載せてそれからLEDですね。これ2つあるんですけどこのLEDも2つ載せて
ということであと部品を4つつけなきゃいけないということで
結構これは配線が複雑なのでそれ自体時間かかりそうですけれども
それができますとですね、私が思い描いているような
TanaRadioの原型ができるんじゃないかなと思うんですね。
これをまたしばらく使ってみてこれで良さそうだとなれば
今度は本格的にですね、箱を用意しまして
それに部品をしっかりと取り付けて
日常的にですね、ラジオとして使えるような
そういうものを作っていきたいなと思うんですけれども
まだ試作段階ですのでまたちょっと違ったことをやりたくなる可能性もあるので
もう少し時間はかかるかなという感じがしています。
授業改善:AI対策としての課題変更
それから、声日記ということで
このTanaRadioPi以外のこともちょっと話しておきますと
成績評価の点数付けが終わったという話はしましたけれども
今学期ですね、授業で新たな試みをしました。
それはですね、まず一つは毎週の課題ですね。
毎週講義を受けてもらった後に課題を提出してもらう
ミニレポートみたいなものなんですけど
これをですね、今まで講義を聞いての感想とか質問とか
そういうものを書いてもらったんですけれども
その代わりにですね、疑問とか引っかかり、違和感
こういうものを書いてもらうことにしたんですね。
質問というのと疑問というのは似てるんですけれども
大体今まではですね、こんなことが分かりましたとか
こういうことを知って驚きましたとかですね
そんな類が多いんですね。
でもこれはですね、AIに書いてもらうことが非常に簡単な課題なんですよね。
何を学ぶかということはもう教材としてありますので
あとはそれをAIに渡してですね
学生が書きそうな感想あるいは質問
そういったものを書いてくださいといえば
それらしいものはすぐにできてしまうんですね。
実際にもうそういうものは提出されていて
あまり見ないなというふうに思い始めていたところなので
AIに任せにくいような課題ということで
講義を聞いて感じた違和感、引っかかり
こういったものを書いてくださいというふうに出したんですね。
これはなかなかAIには書かせにくい課題だと思います。
これは本当に人間が感じる感覚を書かなきゃいけないので
AIにはそういった感覚というものがないですからね。
ですから、AIが書いたんだろうなというのはあまりありませんでした。
この課題については学生もかなり最初は苦労していたようです。
なかなかそういう課題が出ることはこれまでなかったと思いますので。
ですけれども毎回やりますので
回を重ねるごとにだんだんとできるようになってきたという学生が多かったですね。
それは実際に出てきたものを見てみてもそれは私も感じました。
ですからこれは訓練次第で
慣れの問題というかそういうことができるようになるんだなということが分かりました。
授業改善:朗読劇台本作成の導入と評価
それからその延長でもあるんですが
学期中に何回かこれまではブログ上でのディスカッションというのをやってもらっていたんですけれども
このディスカッションというのは基本的に自分の意見を言うわけですよね。
相手が何か言ってきたらそれに対してまたコメントをする。
何か言ってきたときに自分の意見を出すというのは
これAIにやってもらうと簡単にできてしまうんですね。
実際これまでもAIが書いたんだろうなというのがとても多くなってきて
これも最初はそれでもいいかなと思ってたんですけど
やっぱり面白くない。
投稿されたものにAIを使ってコメントをし
そのコメントにAIを使ってまたコメントをするというと
人間が議論しているというよりはAI同士で議論しているような感じになって
何やっているんだろうという感じになりました。
このディスカッションというのはもうやめようと思って
新たに導入したのが朗読劇台本を作るということです。
なぜ朗読劇台本なのかというと
劇にしますと当然登場人物が何人か出てくるわけですよね。
その登場人物が何らかの会話をする。
朗読劇ですから基本的に会話中心なわけで会話をする。
そのときにいくつかの立場の人が出てきて
あるテーマについて、例えば賛成派と反対派とそれから中間派みたいな
そういう立場を設定してちゃんと議論にならないといけない。
そうすると自分の意見は誰か一人に代弁させるとしても
自分の意見と反対の人の意見も書かなきゃいけない。
これはとてもいい訓練になると思うんですね。
ディスカッションだと自分の意見だけ考えていればいい。
自分の意見に対して相手がどういうふうに言ってくるかというのは
自分の意見を想像してまた自分の意見を書けばいい。
ということは常に自分の意見を書くということなんですけど。
それに対して朗読劇台本はですね
どの立場が自分勝手のあるにしても
その立場を絶対化しないというかですね
その立場が優位になるようにしないように
すべての立場が対等に平等になるように
そして最後もどれが正しいかというような
結論が出ないようなオープンエンドの劇になるように
というふうに言って作ってもらいました。
そうするとですね
自分以外の立場に立っていろいろ考えなきゃいけないわけですよね。
これがとてもいい訓練になるんじゃないかなと思って。
ただこれ劇の台本というのは結構難しいですよね、作るの。
そんなことやったことない人がいきなり
それを作って提出するようにと言われたら
みんな困ると思うんですけれども
そこでAIが出てくるわけですね。
AIに助けてもらって
もっと言えばAIに下書きを書いてもらって
それを修正する形で提出すればいいという風にすると
かなりハードルが下がると思うんですね。
で、それをやってみたと。
ただ心配なのは丸投げが起こるんじゃないかと。
ディスカッションの時もそれに近いものがあったんですが
今度もまさに丸投げやろうと思えばできる課題なんですよね。
そこで私は丸投げさせないように
下書きをできるだけ自分なりに修正してほしいと。
どこをどういう理由で修正したかということもちゃんとレポートとして出してほしい。
それをプロセスレポート
製作のプロセスを示すレポートという意味ですけれども
プロセスレポートというのを書いてもらうことにしました。
さらにもう一つ
労働経験台本を作る前に自分がどう考えていたかということを記録してもらう
あるいはそれをもとにAIに台本を書いてもらうように
自分の意見を書いた意見レポートというのも書いてもらうことにしました。
つまり提出物としては意見レポート、台本、プロセスレポートの3つを出してもらう。
それで労働経験台本を作る前と後というものもちゃんと記録してもらうことにしたんですけれども
そうしますと単に丸投げをするというのはなかなか難しくなってくるし
もし出てきた台本がですね
もう修正するところはない、もうこれで完璧だというものが出てくるかもしれないですね。
学生がそういうふうに思うものが出てくる可能性は十分にあって
修正するところはありませんと
自分が作りたいと思っていたものがここに出てきましたという
そういうプロセスレポートもなくはなかったんですけれども
そういう場合も何故修正する必要がないのかということをちゃんと説明してくださいというふうに
言ったんですけれどもそこがちゃんと説明できていなかった学生は多かったですね。
ですのでこれはちょっと来学期の課題でそこをちゃんと書いてもらえるような課題の出し方をしなきゃいけないんですが
それでもですね、丸投げ的なものは比較的少なくて
ちゃんと自分で考えて修正していただろうと思われるものが大半を占めました。
その朗読劇台本がなかなか面白いんですね。
AIの力を借りているというのはあるんですけれども
これは結構読みごたえがあるなと
時間がないのでちゃんと全部読めないんですけどね。
ですけれどもこの夏休みになるべく読みたいなと思っているんですけれどもやってよかったなと。
実際に学生に聞いてもですね、この授業で印象に残ったことということで最後に書いてもらいましたらば
ほとんどの学生がこの朗読劇台本の課題を挙げていましたね。
それだけ学生にとっても新しい経験ができたのかなというふうに思っているんですけれども
これは失敗では全然なくて成功といっていいものだと思いますので
あと私残る3楽器ですね。楽器としては3つあるんですけれども
あと3回やれますのでますます学びが実現できるように
このやり方を改良していきたいなというふうに思っているところです。
夏休みの計画と今後の活動
この夏休みはですね、そういうことで今学期の授業の反省
そして来学期に向けて考えるということもありますが
8月の末にですね、学会がありまして
学会の年会がありましてそこで発表することになっていますので
その発表の準備をですね、やらなきゃいけないですね。
一応一通りはやってあるんですけれども
そこをちゃんと詰めていかなきゃいけないので
それがメインの仕事になるかなというふうに思います。
それから息抜き気分転換のTanaRadio Pi作りもですね
このまま続けていきたいなというふうに思っているところです。
ちょっと今日は長めにお話ししました。それではまた。
25:04

コメント

スクロール