ログイン中のQiita Team
ログイン中のチームがありません

Qiita Team にログイン
コミュニティ
OrganizationイベントアドベントカレンダーQiitadon (β)
サービス
Qiita JobsQiita ZineQiita Blog
Python
GoogleCloudPlatform
TextToSpeech
0
どのような問題がありますか?

音声作成

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:

以下のURLで上記から作成したブログやYoutubeを公開しています。参考までに見てください。
https://rnk-jp.blogspot.com/
https://www.youtube.com/channel/UCHlLpnqvCqyX82Vlsd0MaxA

ユーザー登録して、Qiitaをもっと便利に使ってみませんか。
  1. あなたにマッチした記事をお届けします
    ユーザーやタグをフォローすることで、あなたが興味を持つ技術分野の情報をまとめてキャッチアップできます
  2. 便利な情報をあとで効率的に読み返せます
    気に入った記事を「ストック」することで、あとからすぐに検索できます
ronk
この記事は以下の記事からリンクされています
ronk翻訳からリンク

コメント

この記事にコメントはありません。
あなたもコメントしてみませんか :)
ユーザー登録
すでにアカウントを持っている方はログイン
記事投稿イベント開催中
Azure Kubernetes Serviceに関する記事を投稿しよう!
~
0
どのような問題がありますか?
ユーザー登録して、Qiitaをもっと便利に使ってみませんか。
この機能を利用するにはログインする必要があります。ログインするとさらに便利にQiitaを利用できます。
この機能を利用するにはログインする必要があります。ログインするとさらに便利にQiitaを利用できます。
  1. あなたにマッチした記事をお届けします
    ユーザーやタグをフォローすることで、あなたが興味を持つ技術分野の情報をまとめてキャッチアップできます
  2. 便利な情報をあとで効率的に読み返せます
    気に入った記事を「ストック」することで、あとからすぐに検索できます
ストックするカテゴリー