スキップしてメイン コンテンツに移動

RSSからYoutube/Podcast配信

RSSからYoutube/Podcast配信

皆さん、情報収集はどの様にされていますでしょうか?

私は最先端に情報に触れる為、海外ニュースをRSSで購読しているのですが、私の英語力/語彙力では時間が掛かかってしょうがない。

また、できれば目で読むのではなく、音声で聞き流しながら通勤や他の作業中に行いたい。

という事で自動でニュースを収集・要約・翻訳し、それをブログ・ポッドキャスト・Youtubeに自動投稿するPythonプログラムを作成して時短化しました。

その手法を公開してますので参考にしてください。


  1. Bloggerの立ち上げ方
  2. GCPとBloggerの連携
  3. 情報収集自動化
  4. Blogger自動投稿
  5. 本文要約
  6. 翻訳
  7. 音声作成
  8. 動画作成
  9. Youtubeにアップロード
  10. Youtubeの投稿制限の回避方法
  11. Podcast配信
  12. 翻訳・要約の改善(GPT-3)


以下のURLで上記から作成したブログやYoutubeを公開しています。参考までに見てください。


このブログの人気の投稿

音声作成

Google Text To Speechを使用した音声作成 記事本文をGoogleの読み上げ機能を使って、音声ファイル(mp3)を作成します。 この作業にはGCPとBloggerの連携の手続きが先に必要です。 Pythonライブラリの追加 $ pip install google-api-python-client $ pip install google-auth-httplib2 $ pip install google-auth-oauthlib $ pip install google-cloud-translate Pythonプログラム test.pyに以下のコードを記述します。 GoogleTTSを使用して日本語テキストをSSMLに変換して音声読み上げをさせます。 '\r\n'を600msのWaitにしているのでタイトルと本文の合間などに調整してください。 test.py import base64 def getVoice ( text ): tts = get_authenticated_service ( TTS_API_SERVICE_NAME , TTS_API_VERSION ) res = None params = { "input" : { "ssml" : '<speak>' + text . replace ( ' \r\n ' , '<break time= \" 600ms \" />' ) + '</speak>' }, "voice" : { "languageCode" : "ja-JP" , "name" : "ja-JP-Wavenet-D" }, "audioConfig" : { ...

本文要約

要約 今回は現在使用している方法とは異なり、実装が簡単な要約方法になります。 参考元にはニューラルネットワーク(accel-brain-base)を使用した例などもありますので、そちらを参考にしてください。 Pythonライブラリの追加 以下のライブラリをインストールしてください。 $ pip install pysummarization Pythonプログラム test.pyに以下のコードを記述します。 ここでソース記事の各行を重みづけしてから、重要度の高い5つの行だけを選択します。 test.py from pysummarization.nlpbase.auto_abstractor import AutoAbstractor from pysummarization.tokenizabledoc.simple_tokenizer import SimpleTokenizer from pysummarization.abstractabledoc.top_n_rank_abstractor import TopNRankAbstractor def getSummary ( text ): # Object of automatic summarization. auto_abstractor = AutoAbstractor () # Set tokenizer. auto_abstractor . tokenizable_doc = SimpleTokenizer () # Set delimiter for making a list of sentence. auto_abstractor . delimiter_list = [ ". " , ". \n " , " \n " ] # Object of abstracting and filtering document. abstractable_doc = TopNRankAbstractor () # Summarize document. result_dict = auto_abstrac...