iT邦幫忙

2025 iThome 鐵人賽

DAY 24
0
生成式 AI

AI 給我錢錢錢 ! AI 股神養成計劃系列 第 24

Day 24 :說話的 AI 報告:語音播報股市快訊

  • 分享至 

  • xImage
  •  

到目前為止,我們已經能讓 AI 幫我們產生 投資報告、技術分析、甚至多股追蹤,功能越來越完整。
但有時候,我們可能沒空看報告(例如在通勤、運動、做家事時),這時候如果能有一個「語音助手」幫我們讀出重點,不就更像一個真正的投資助理了嗎?

今天我們要做的就是這個功能: 讓 AI 寫的投資報告,變成一段可以播出的語音

核心概念

  1. 取得投資報告內容:我們先從 Gemini 生成的報告中,拿到純文字摘要。

  2. 文字轉語音 (TTS, Text-to-Speech):利用 Python 的 TTS 套件,將文字轉成 MP3 或直接播放。

  3. 播報應用場景

  • 股市開盤快訊 → 早上 9:00 自動播報

  • 收盤行情摘要 → 晚上自動整理 + 播放

  • 投資待辦提醒 → 變成語音通知

實作

安裝套件

python
!pip install gTTS pyttsx3

AI 生成投資摘要(Gemini)

python
import google.generativeai as genai

# 設定 API
genai.configure(api_key="YOUR_API_KEY")
model = genai.GenerativeModel("gemini-2.5-flash")

prompt = """
請針對台積電 (TSMC, 2330.TW) 八月份股市行情,生成一個 3 句話的重點摘要,
內容要包含:股價走勢、技術指標、投資人情緒。
"""
response = model.generate_content(prompt)
report_text = response.text

print("AI 生成的投資摘要:\n", report_text)

文字轉語音(gTTS 版本)

python
from gtts import gTTS
import IPython.display as ipd

# 將 AI 報告轉成語音
tts = gTTS(text=report_text, lang="zh-tw")
tts.save("report.mp3")

# 在 Colab 播放
ipd.Audio("report.mp3")

在 Colab 上會直接顯示一個播放按鈕,點下去就能聽到 AI 幫你唸的「股市快訊」。

執行結果

https://ithelp.ithome.com.tw/upload/images/20250906/20169444yeyt9DBpgp.png

這邊就會匯出一個 mp3 檔,可以轉存至其他地方使用

https://ithelp.ithome.com.tw/upload/images/20250906/20169444KATXmlEiso.png

也可以直接在輸出結果播放語音

離線語音(pyttsx3 版本)

如果不想依賴 Google API,可以試試 pyttsx3:

python
import pyttsx3

engine = pyttsx3.init()
engine.setProperty("rate", 160)   # 語速
engine.setProperty("volume", 0.9) # 音量

print("正在播放語音播報...")
engine.say(report_text)
engine.runAndWait()

但 pyttsx3 套件需要本機安裝語音合成引擎 (例如 espeak 或 espeak-ng) 才能運作,而 Colab 環境沒有預設安裝這些引擎,所以還是使用上面 gTTS 版本,如果有其他環境則也可以選擇這個。

實際應用場景

  • 晨間快訊:每天早上自動抓取最新新聞 + 股價,播一段語音報告。

  • 收盤整理:下班前快速聽一分鐘的市場重點。

  • 行動助理:配合 LINE / Telegram bot,把語音檔直接丟到手機。

結語

今天我們讓 AI 報告「會說話」了!這個功能看似小小的一步,但其實讓投資分析從「只能看」變成「能聽懂」,大幅提升了資訊傳遞的便利性。
👉 明天(Day 25),我們要繼續升級 AI 助理,從「聽」到「提醒」,搭配 即時股價 API + 自動觸發提醒,讓 AI 投資助理主動「開口告訴你」市場動態。


上一篇
Day 23:讓 Demo 動起來:把 AI 股價分析功能搬進網站
系列文
AI 給我錢錢錢 ! AI 股神養成計劃24
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言