Termux & Python : 音声読み上げ機能を使用して、スマホでデータを読み上げる


Termux & Pythonで音声読み上げ機能を使用したサンプルプログラムです。スマホでデータを読み上げます。

こちらは書籍「スマホでPythonを始めよう / AndroidスマートフォンとTermux アプリを使ったプログラミング入門&学習」の【サンプルプログラム3】になります。


音声読み上げ:サンプルコード1


import subprocess

command = 'termux-tts-speak こんにちは'
subprocess.call(command, shell=True)


音声読み上げ:サンプルコード2


import requests
from bs4 import BeautifulSoup
import datetime
import subprocess

#ユーザーエージェント(2022/07現在Yahooファイナンスではなくても動きます。)
user_agent = 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_6) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0.1 Safari/605.1.15'
header = {'User-Agent': user_agent}
#サイトからデータを取得
url = "https://info.finance.yahoo.co.jp/fx/detail/?code=USDJPY=FX"
r = requests.get(url,headers=header)
#現在時刻を取得(本書のサンプルコードを使用)
now = datetime.datetime.now()
now_19 = "{0.year}年{0.month}月{0.day}日{0.hour}時{0.minute}分".format(now)
#サイトから取得したデータから必要な部分を抽出
soup = BeautifulSoup(r.text, 'html.parser');
yen_price = soup.find('span', class_='_3Pvw_N8d').text
print(now_19 + ':ドル円レート')
print(yen_price + '円')
#音声として読み上げる部分
yomiage_data = now_19 + 'のドル円レートは1ドル' + yen_price + '円です'
command = 'termux-tts-speak {}'.format(yomiage_data)
subprocess.call(command, shell=True)

(↑スクレイピングして取得したドル円の為替レートを取得日時とともに読み上げます。)

上記記事のサンプルプログラムを組み合わせて使っています。


必要事項:Termux:API のインストール

音声の読み上げにはTermux:API のインストールが必要です。上記サンプルプログラムの解説、ならびにTermux:API のインストール方法の説明につきましては、書籍の方で行っておりますのでよろしければご覧ください。


この記事が気に入ったらサポートをしてみませんか?