Xのお気に入りを自動でポッドキャスト化する方法

こんなものを作りました。

Yuheiさんの記事に大きな影響を受けて作りました。

私は情報収集は主にXでやっていますが、気になる記事をお気に入りするものの、見返すことはほぼありません。
「これは重要だ、後でみよう」と思ってお気に入りをつけることが結構あるのですが、時間があっても見返さず、ついつい新しいツイートを追ってしまいます。
消化すべきコンテンツは溜まっていくのに目の前の新しい情報ばかり追っていて、まるで負けが込んでいるのにスロットを回し続けるギャンブル狂いと変わらんなとか思ったりします。
Xのお気に入り欄は人間の恥部。

そんなところにClineを活用してはてブを勝手にポッドキャストにしてくれるアプリを作ったというYuheiNakasakaさんの記事を見て、これはもしかして、自分の夢を叶えられるかも!と思って真似をした記事がこちらになります。

技術的にはこんな感じです。

  • ポスト連携:IFTTT
  • 要約:OpenAI
  • TTS、効果音:ElevenLabs

リポジトリはこちら

https://github.com/Mutsumix/twitter-audio

設計はこんな感じ

https://github.com/Mutsumix/twitter-audio/blob/main/DESIGN.md

(.clinerules が効いているかの確認のためにケロロ軍曹の話し方を強制しているのがドキュメントにも反映されてしまっています)

コードは1行も書きませんでした。Clineから上がってきた提案を「いいね」「APIはこれ使ってね」「それはアカン警察」とか最初に伝えて、あとはひたすら進捗を眺めていました。TypeScriptとか全然書けないのですが、数千行のコードが完成して興奮します。

工夫としては、XのAPIは有料で高いので、IFTTTを使用しています。Xでお気に入りをすると、スプレッドシートに内容やリンク、日時といった情報が飛びます。
本当はブックマークをしたものだけデータを飛ばせたら、勉強したい技術系コンテンツだけに絞れて良いのですが、できないのか、やり方見つけられませんでした。
で、IFTTTについてもXとの連携は有料(3ドル)ですが、XのAPI(200ドル/月!)を使うよりは安いので我慢します。

また、音声合成にはElevenLabsを使っています。
過去に英語のスピーチ練習で使った時に非常に滑らかなアクセントに感動したので、APIでも活用することにしました。

あとは、やっぱり最終的に聞けるコンテンツにするための調整に一番時間がかかりました。

いくつかの塊に分けた要約をつなげていきなり音声合成するのではなく、もう一度全体の構成を見直させることにしたのもちょっとした工夫です。

ただ、聞いたところ記事の重複や漢字の読み間違いや聞いていて面白くないなど、粗さが目立ちます。

今の所自分が聞くだけのコンテンツなので振り返りのために活用できれば良いのですが、今後外部向けに音声コンテンツ作成をする場合もあるかもしれないので、この辺りのノウハウは積み重ねていこうと思いました。

メモ

今後やりたいこと

  • LambdaかClooudflare Workersでクラウド実行(今の所ローカルで手動実行)
  • コンテンツ配信も自動化

Posted

in

by

Tags:

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *