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

RSSからYoutube/Podcast配信

音声作成

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": {
            "audioEncoding": "MP3",
            "speakingRate": 1,
            "pitch": 0
        }
    }

    try:
        req = tts.text().synthesize(body=params)
        res = req.execute()

        with open('/tmp/temp.mp3', mode='ab') as f:
            f.write(base64.b64decode(res['audioContent']))

    except Exception as e:
        print (e)
        return None

    return res
以前のgetBody()から上記のgetVoice()を呼び出します。

test.py
def getBody(link):
    try :
        res = requests.get(link)
        extractor.analyse(res.text)
        text, title = extractor.as_text()
        title = re.sub('[-|:|\||\[|\(|\{].*','',title)
        text = re.sub('&.*?;','',text)
        text = getSummary(text)
        title = getTrans(title)
        text = getTrans(text)
        getVoice(title + '\r\n\r\n' + text)
        return postBlog(title,text.replace('\n','<BR>'),'TECHNOLOGY')
    except Exception as e :
        print(e)
        return None

1話分をMP3にした結果はこちら

$ file /tmp/temp.mp3
temp.mp3: MPEG ADTS, layer III, v2,  32 kbps, 24 kHz, Monaural
$ ls -la /tmp/temp.mp3
-rw-r--r-- 1 user user 244320 Oct  9 17:04 /tmp/temp.mp3

これで音声を作成できました。これをポッドキャストにアップロードしてください。
podbeanポッドキャストホスティングサービスと、そのREST APIをつかって自動的にアップロードしていますが、これも移行予定です。
次はこの音声と映像を結び付けて動画作成に入ります。

参考URL:

Cloud Text-to-Speech API  |  Cloud Text-to-Speech Documentation  

このブログの人気の投稿

RSSからYoutube/Podcast配信

皆さん、情報収集はどの様にされていますでしょうか? 私は最先端に情報に触れる為、海外ニュースをRSSで購読しているのですが、私の英語力/語彙力では時間が掛かかってしょうがない。 また、できれば目で読むのではなく、音声で聞き流しながら通勤や他の作業中に行いたい。 という事で自動でニュースを収集・要約・翻訳し、それをブログ・ポッドキャスト・Youtubeに自動投稿するPythonプログラムを作成して時短化しました。 その手法を公開してますので参考にしてください。 Bloggerの立ち上げ方 GCPとBloggerの連携 情報収集自動化 Blogger自動投稿 本文要約 翻訳 音声作成 動画作成 Youtubeにアップロード Youtubeの投稿制限の回避方法 Podcast配信 翻訳・要約の改善(GPT-3) 以下のURLで上記から作成したブログやYoutubeを公開しています。参考までに見てください。 ブログ:海外ニュースを仕入れてお届け YouTube:海外Newsを仕入れてお届け Amazon Music:海外ニュースを仕入れてお届け。 Google Podcasts:海外ニュースを仕入れてお届け。 Apple Podcasts:海外ニュースを仕入れてお届け。

Bloggerの立ち上げ

Bloggerとは BloggerはGoogleのサービスの一つで、無料でブログを始めることができます。 Googleアカウントが必要となりますので、ない方はアカウントの作成をお願いします。 Bloggerサイトへのログイン https://www.blogger.com/から「ブログの作成」を選択してください。 Googleアカウントを聞かれるので、Googleアカウントとパスワードを入力してください。 ブログの名前を入力 作成するブログの名前を決めます。これは後から変えられるのでとりあえずは書こうとしてる内容に沿ったものを記入してください。 ブログのURL(インターネット上の所在地)を作成します。 こちらも変更できる(※)のですがので、頻繁に変更すると読者や検索などから外されてしますので、個人名や法人名など変更しないことを前提に名付けた方が良いと思います。 (※「.blogspot.com」以外のカスタムドメインを自分でとって、それを設定することもできます) プロファイルの作成 ブログが作成されるとプロファイルの作成画面が出てきます。ブログ読者に見られることを意識して、ユーザー名やわかりやすい説明を記入しましょう。 以上でブログが作成できました。作成したURLをブラウザに打ち込んでみましょう! 貴方だけのブログサイトが立ち上がりました。 次は GCP(Google Cloud Platform)とBloggerを連携 させてみましょう。 参考: Blogger Help  

GCPとBloggerの連携

GCPのアカウント作成 以下のURLからアカウントを作成します。 今(2021/10/24)なら300$相当のクレジットが付いてきます。 https://console.cloud.google.com/freetrial 携帯番号の登録が必要となります。 クレジットカード(もしくはPaypal)の登録が必要となります。 GCPからBloggerを連携 以下のURLからプロジェクトを作成してください。プロジェクト名は任意です。 https://console.cloud.google.com/projectcreate 以下のURLからBlogger API v3の「有効にする」をクリック https://console.cloud.google.com/apis/library/blogger.googleapis.com 同様に以下の3種類のAPIも有効にしてください。 https://console.cloud.google.com/apis/library/translate.googleapis.com https://console.cloud.google.com/apis/library/texttospeech.googleapis.com https://console.cloud.google.com/apis/library/youtube.googleapis.com 以下のURLをクリックして「デスクトップアプリ」を選択し「名前」に任意の名前を付けて「作成」してください。 https://console.cloud.google.com/apis/credentials/oauthclient これでクライアントIDが作成されました。「クライアントID」と「クライアントシークレット」は他の人に知られない様にしてください。 作成した「デスクトップクライアント:1」を選択すると、「JSONをダウンロード」が選択できるので、「client_secret.json」と名前を変更して保存しておいてください。こちらのファイルを使ってこれから作成するプログラムでGoogleの認証を行います。 次は 情報収集自動化 になります。 参考URL: エンドユーザーとして認証する  |  Google Cloud