Python + pywin32 で COM 叩いてしゃべらせる。


どうもみむらです。
普段は SUA (UNIX 互換環境) 上で叩いているのですが、
今日は堂々と Windows 上で叩いてみます。

PyWin32 ってのをつかって、 COM コントロールを叩いてみます。

とりあえず。COM コントロールとは。

Microsoft社が提唱する、部品化されたプログラムを作成・利用するための基盤となる技術仕様。特定の機能のみを持つプログラム部品を組み合わせることでアプリケーションソフトの開発が容易になる。この仕様に基づいてデータのやりとりができるプログラム部品のことをCOMコンポーネントと呼ぶ。

COMとは【Component Object Model】 – 意味-解説-説明-定義 : IT用語辞典

だそーです! (ぉ

夢のある話をすると、COM コントロールを使うことで、
音声認識や音声合成、各種 Office アプリケーションの制御、その他 COM コンポーネントが提供する機能を
使うことが出来ます。


1.Python の導入

http://www.python.jp/Zope/download/pythoncore
上記URL から、 Python 2.x 系をインストールします。

えーと、Python 3.x 系はいろいろと変わったようで。でも動くのかなぁ。うーん

2.Python for Windows extensions の導入

http://sourceforge.net/projects/pywin32/files/pywin32/
ここから最新ビルド(一覧の 「Build???」 の数字が一番大きい物を選択)のうちの、
上で導入したバージョンと同じ物(無ければ近いバージョン)をインストール。

3.叩く。

ばんばん! ちがいます。
スタートメニューから Python を立ち上げて、

image

このように立ち上げておきます。

続けて、

import win32com.client

とタイプ。

image

今回は音声合成ということで、「Sapi.SpVoice」を使って、

Speak メソッドを叩いてしゃべらせます。

もし今回使う、「Microsoft Speech API」が気になる人は、

http://msdn.microsoft.com/en-us/library/ms723602(v=VS.85).aspx

この辺の資料を参考にして下さい。

speech = win32com.client.Dispatch("Sapi.SpVoice")
speech.Speak("Hello Python World!")

実行しますと、Win7 / Vista 環境では、多分、米国英語のおねいさんが

しゃべってくれると思います。

XP 環境ですと、なんか相当声のしゃくれたおっちゃんがしゃべってくれた気がします。

・・試してないですが。

とりあえずこんな感じでー。


 

関連記事