Windows機でテキストを読み上げさせる

SpVoice Interfaceに沿ってWindows機でテキストを読み上げさせる。
VBSだと
Set tts = WScript.CreateObject("SAPI.SpVoice")
for i = 0 to tts.GetVoices().Count - 1
 MsgBox tts.GetVoices().Item(i).GetDescription()
Next
tts.Speak("この列車はのぞみ号、新大阪行きです。途中の停車駅は、新横浜、名古屋、京都です。次の停車駅は新横浜です。")
Set tts.Voice = tts.GetVoices().Item(1)
tts.Speak("This is Nozomi superexpress bound for Shin-Osaka. We will be stopping at Shin-Yokohama, Nagoya, and Kyoto before arriving at Shin-Osaka terminal. The next stop is Shin-Yokohama.")
と書ける。
Pythonならwin32comを使って
import win32com.client
app = win32com.client.Dispatch('SAPI.SpVoice')
for i in range(app.GetVoices().Count): print(app.GetVoices().Item(i).GetDescription())
app.Speak('この列車はのぞみ号、新大阪行きです。途中の停車駅は、新横浜、名古屋、京都です。次の停車駅は新横浜です。')
app.Voice = app.GetVoices().Item(1)
app.Speak('This is Nozomi superexpress bound for Shin-Osaka. We will be stopping at Shin-Yokohama, Nagoya, and Kyoto before arriving at Shin-Osaka terminal. The next stop is Shin-Yokohama.')
と書ける。
読み上げは簡単だw
2020/06/08 17:40
タグ