PocketへWebページを保存するとページの本文らしき部分を抽出し、Text-to-Speechでそれを読み上げた音声ファイルを作り、プライベートなPodcastとして配信するしかけを作った。
音声合成エンジンとしてVOICEVOXも試したが、手元の環境で安定して動作させるところまでいけず断念。
システムの概要
flowchart TD
Podcastアプリ[/Podcastアプリ\] --> |参照|nginx
Pocket[/Pocket\] --> |新規保存|IFTTT
IFTTT --> |Webhooks|nginx
subgraph システムの概要
nginx
nginx --> |PodcastのRSSフィード参照|index.rss
nginx --> |PocketしたURLを通知|sinatra
subgraph PodcastのRSSフィード生成
mp3 --> |参照|index.rss
mp3 --> |参照|dropcaster
cron --> |5分毎|dropcaster --> |存在するmp3からRSSフィード生成|index.rss
end
subgraph 音声ファイル生成
sinatra
sinatra --> readability
readability --> |ページの本文|texttospeech
texttospeech --> |本文からmp3生成|mp3[(mp3)]
end
end