めんどくさがり屋の私はマウスやキーボードを使ってWordやExcelを探したり、入力する作業も極力なくしていきたいと思っている今日この頃、、
リモートワークをしている利点を生かして「ワード」と喋るだけでWordを立ち上げればいいんだと考えたので、その方法を書いていこうと思います。方法はいたって単純でPythonと音声認識ライブラリを使用します。
〇使用ライブラリ
・speech_recognition:音声認識を行い文字おこしをする
・pyaudio:マイクの音声入力をする
※ pyaudioはPython 3.9までのサポートでそれ以降バージョンでは使えないようです。他のライブラリを使用して同じことができるかは確認中、、
〇実装したコードはこんな感じimport speech_recognition as srimport oscommands = {"teams": "start ms-teams:","メモ帳": "notepad","電卓": "calc","ペイント": "mspaint","エクセル": "start excel","パワポ": "start powerpnt","ワード": "start winword","アウトルック": "start outlook","Outlook": "start outlook","エクスプローラー": "explorer",}def recognize_and_run():recognizer = sr.Recognizer()mic = sr.Microphone()listening = Truewith mic as source:recognizer.adjust_for_ambient_noise(source)while True:if not listening:audio = recognizer.listen(source)try:command = recognizer.recognize_google(audio, language="ja-JP")if "再開" in command:listening = Trueprint("再開します")continueelif "終了" in command:print("終了します")breakexcept sr.UnknownValueError:continueexcept sr.RequestError as e:print(f"予期せぬエラーが発生 {e}")continue# 音声をリスニングして取得audio = recognizer.listen(source)try:# 音声をテキストに変換command = recognizer.recognize_google(audio, language="ja-JP")print("聞き取り結果:", command)# 一時停止・再開のキーワードを確認if "停止" in command:listening = Falseprint("停止します")continueelif "終了" in command:print("終了します")break# 辞書からコマンドを取得して実行if command in commands:print(f"起動します: {command}")os.system(commands[command])except sr.UnknownValueError:continueexcept sr.RequestError as e:print(f"予期せぬエラーが発生 {e}")if __name__ == "__main__":recognize_and_run()
実施していることは
-
audio = recognizer.listen(source)
⇒ マイクに発言した音声を取得。 - command = recognizer.recognize_google(audio, language="ja-JP")
⇒ 音声をテキストに変換 -
os.system(commands[command])
⇒ テキストと定数に指定している文言を突合して、コマンド実行
と、以外とやってみるとすぐできるものでした。
他にも作業効率化の方法があれば、どんどん考えていきたいと思います!

