- リンクを取得
- ×
- メール
- 他のアプリ
Google Text To Speechを使用した音声作成
記事本文をGoogleの読み上げ機能を使って、音声ファイル(mp3)を作成します。この作業にはGCPとBloggerの連携の手続きが先に必要です。
$ 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.pydef 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にした結果はこちら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
$ 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
$ 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をつかって自動的にアップロードしていますが、これも移行予定です。
次はこの音声と映像を結び付けて動画作成に入ります。
podbeanポッドキャストホスティングサービスと、そのREST APIをつかって自動的にアップロードしていますが、これも移行予定です。
次はこの音声と映像を結び付けて動画作成に入ります。