各局皆様、こんにちは。アマチュア無線局、JS2IIUです。
Pythonプログラムでニュース読み上げさせようと思い、mac_sayを使ってみたので、そのメモを残します。
目次
mac_sayのインストール
$ pip install mac_say
mac_sayの使い方
以下の例のように、mac_sayをインポートし、言語と喋らせたい言葉を指定するだけです。Google Text-To-Speechを使う例です。他のオプションについては、mac_sayの公式ページを参照してください。
import mac_say.gtts
mac_say.gtts.say('ja', '喋らせたい言葉をここに')
プログラムの例
News APIからトップニュースを取り込んで、最初のニュースのタイトルを喋らせるプログラムです。News APIからニュースを取得する方法は、こちらやこちらのページを参照してください。変数rにニュースのタイトルだけでなく、本文も読み込まれていますので、17行目の’title’を’description’に変更すれば、ニュースの中身の読み上げができるようになります。
以下のプログラムを動かすには、News APIのウェブサイトで、登録して、API_KEYを入手する必要があります。こちらのページに手順が詳しく解説されていますので参考にしてください。入手したAPI_KEYを4行目の’place your app key here’と置き換えてください。
import requests
import mac_say.gtts
API_KEY = 'place your app key here'
base_url = 'https://newsapi.org/v2/top-headlines?'
def getNewsHeader(isTalk):
params = {
'country': 'jp',
'apiKey': API_KEY
}
r = requests.get(base_url, params=params)
print( r.json()['articles'][0]['title'] )
if isTalk == True:
mac_say.gtts.say('ja', r.json()['articles'][0]['title'])
getNewsHeader(True)
参考
最後まで読んでいただきありがとうございます。