記録作業を自動化!
みなさんは、会議の書記をする時にどのように議事録を作成しますか?
会議の内容を紙に書いてからパソコンに打ち込んで、もしくは直接パソコンに打ち込んで体裁を整えて完成させるといったところでしょうか。今回は、会議中にプログラムを実行しておくと時系列で会話が保存され、エクセルブックとして書き出されるプログラムを作っていきます。
1.Pythonプログラミング環境の準備
まず、Pythonが実行できる環境が必要になります。Pythonの最新バージョンは3.9ですが、プログラムの中で使うライブラリを動作させるために3.8.6以下の3系のPythonをインストールしておいてください。
参考リンク Python.org https://www.python.org
次にプログラミングをする環境はVisual Studio Codeがおすすめです。ツールが日本語に対応しており、プログラムの実行もツール内で行えます。
参考リンク Visual Studio Code https://azure.microsoft.com/ja-jp/products/visual-studio-code/
2.プログラム実行に必要なライブラリの準備
2-1.Windowsの場合
まず、pandasとSpeechRecognitionをインストールします。コマンドプロンプトから以下のコマンドを入力します。
pip install pandas pip install SpeechRecognition
次にMicrosoft C++ Build Toolsをダウンロードしてインストールします。下のリンクにアクセスして、画面をスクロールすると「Visual Studio2019のツール」とあります。そこをクリックすると「Build Tools for Visual Studio 2019」と表示されるのでダウンロードします。
参考リンク: https://visualstudio.microsoft.com/ja/downloads/
ダウンロードしたファイルを実行して「C++ Build Tools」を選択し、「インストール」をクリックするとダウンロードとインストールが始まります。
インストールが完了したらPyAudioをインストールするためのファイルをダウンロードします。Python3.8で動作させる場合、PyAudio‑0.2.11‑cp38‑cp38‑win_amd64.whlをダウンロードします。3.7ならcp37となっているファイルをダウンロードします。ダウンロードしたファイルは「c:¥ユーザー¥自分のアカウントのフォルダ」に保存します。
参考リンク:PyAudioの公式ページ(Python3.6まで対応しています)
https://pypi.org/project/PyAudio/#files
参考リンク:PyAudioを3.7以降で動作させるためのページ
https://www.lfd.uci.edu/~gohlke/pythonlibs/#pyaudio
コマンドプロンプトから以下のように、pipでインストールを行います。
pip install PyAudio-0.2.11-cp38-cp38-win_amd64.whl
これでプログラムを実行する準備が整いました。
2-2 Macの場合
まず、pandasとSpeechRecognitionをインストールします。コマンドプロンプトから以下のコマンドを入力します。
pip3 install pandas pip3 install SpeechRecognition
HomeBrewというソフトウェアをダウンロードしてインストールします。BrewはMacのパッケージ管理ツールの一つです。インストールはターミナルから行います。
HomeBrewがインストールできたらターミナルから以下のコマンドを実行します。
brew install portaudio
次にpyAudioをインストールします。ターミナルから以下のコマンドを実行します。
pip3 install pyaudio
これでプログラムを実行する準備が整いました。
3.プログラムコード
Pythonのファイルは以下のアドレスからダウンロードできます。Mojiokoshi.pyを右クリックするとダウンロードと表示されますのでクリックするとダウンロードが始まります。もう一つ、エクセルのファイルがありますが、これは実際にプログラムを動かした時の結果サンプルとして保存していますので、こちらも見てみてください。
参考リンク:文字起こしプログラム(Google Drive)
https://drive.google.com/drive/folders/1Jb2gVQBBxDX45Ex9dd6zdnvqJYe-DGSU?usp=sharing
(ソースコード) 別紙googleドライブ内のmojiokoshi.py
4.コードの解説
speechToText関数は「記録を終了」と言われるまで音声を聞き取り、聞き取った音声をspeechRecognize関数に与えています。speechRecognize関数は受け取った音声を文字に変換するrecognize_google関数に与え、その結果を文字列で受け取ります。
受け取った文字列が「記録を終了」であれば、endFlagという終了のフラグを立て、保存しているリストの情報をエクセルに書き出します。それ以外の言葉はPythonのリストオブジェクトに時刻と文字が保存されていきます。18行目はプログラムを並列で動かす「マルチスレッド」をするための命令が書いてあります。
このように書くことで音声の聞き取りとは別に、音声の文字への変換とリストへの保存を並列に行うことができます。
5.コードの実行
WindowsでVisual Studio Codeから実行する場合はメニューから「実行」→「デバッグなしで実行」で実行できます。
Macで実行する場合はターミナルを起動して、実行をしてください。mojiokoshi.pyをデスクトップにおいて場合はターミナルから以下のコマンドを実行します。
cd Desktop python3 mojiokoshi.py
プログラムを実行すると「記録を終了」というまで音声を文字に変換し記録されます。
エクセルのファイルに書き出しができました。
6.動画での解説
私のYoutubeチャンネル「【IT・プログラミングLab】伊沢 剛」でプログラム実行環境の準備と、コードの内容について解説していますので、こちらも参考にしてみてください。
7.最後に
いかがだったでしょうか。
実際の会議で使う場合は、一人ずつのパソコンで実行して、データをまとめるか、会議専用の集音マイクを使ってプログラムを実行するといった使い方になるでしょう。
オーディオの準備が少し複雑ですが、音声認識のAIを使うこと自体はあきれるくらいに簡単です。同じように画像認識や翻訳のAIもPythonで書いたコードから簡単に利用することができます。
この記事を通してプログラミングやAIに興味を持っていただければ幸いです。
私の書籍の紹介をさせてください。『めんどうな作業が秒速で終わる! Excel×Python全自動化の超基本』はExcelで発生しがちな手作業をPythonで自動化するテクニックがぎっしり詰まった一冊です。さらに、ネット上にある情報を自動的に取得するWebスクレイピングやAIによる売上の分析についても書いています。
『めんどうな作業が秒速で終わる! Excel×Python全自動化の超基本』(宝島社)著/伊沢剛(教育系YouTuber)
本体1980円+税 2020年8月19日発売 ぜひお近くの書店でお買い求めください。
著者による著書のご紹介、お待ちしております
(ツクレル編集部より)技術書やテクノロジーをテーマとした書籍の著者さんからのご連絡、お待ちしております。みなさんの著書をぜひツクレルで紹介してください。
]]>