第4章:ChatGPTでPythonコードを生成
コード生成
- 作成した要件をもとに実際にChatGPTに入力してコードを作成してみましょう。
「先ほどの要件+Pythonのコードを作成して」と入力するだけです。
実際に生成をした結果が以下の通りです。
import TkEasyGUI as eg
import speech_recognition as sr
import threading
text_log = "" # 認識結果を格納
stop_event = threading.Event()
recording_thread = None
def recognize_microphone():
global text_log
recognizer = sr.Recognizer()
mic = sr.Microphone()
with mic as source:
recognizer.adjust_for_ambient_noise(source)
eg.print("🎤 音声認識を開始しました...\n")
while not stop_event.is_set():
try:
audio = recognizer.listen(source, timeout=1, phrase_time_limit=5)
text = recognizer.recognize_google(audio, language="ja-JP")
text_log += text + "\n"
eg.print(text)
except sr.WaitTimeoutError:
continue
except sr.UnknownValueError:
eg.print("(認識できませんでした)\n")
except Exception as e:
eg.print(f"[エラー] {e}")
break
def start_recording():
global recording_thread
stop_event.clear()
recording_thread = threading.Thread(target=recognize_microphone, daemon=True)
recording_thread.start()
def stop_recording():
stop_event.set()
eg.print("🔇 録音を停止しました。\n")
def save_text():
if not text_log.strip():
eg.alert("保存する内容がありません。")
return
file_path = eg.saveas("保存ファイル名を入力", defaultext=".txt")
if file_path:
with open(file_path, "w", encoding="utf-8") as f:
f.write(text_log)
eg.alert("✅ 保存しました!")
def main():
while True:
choice = eg.select(
"音声メモ帳メニュー",
["録音開始", "録音停止", "保存", "終了"]
)
if choice == "録音開始":
start_recording()
elif choice == "録音停止":
stop_recording()
elif choice == "保存":
save_text()
elif choice == "終了":
stop_event.set()
break
if __name__ == "__main__":
main()
コードの実行
ここでは上記のコードを実行する手順を説明いたします。
Pythonのインストールについてはこちらの記事を参考にしてください。
- Pyhton IDLEの起動
Winキーを押し、検索窓からIDLEと打ち込んでください。
IDLE(Python3.10)を選択して起動します。
起動すると以下の画面が表示されます。
File>New Fileを押す。 - コードの貼り付け
起動したエディタにコードを貼り付けて、File>Save asで保存してください。 - コードの実行
F5を押すとコードが実行されます。実行画面がこちらです。
ライブラリのインストール
- おそらく、初めてこのコードを使用しようとするとこんなエラーが発生します。
import speech_recognition as sr
ModuleNotFoundError: No module named ‘speech_recognition’
こういったものはライブラリがインストールされていないことで発生します。
この場合にはspeechrecognitionというライブラリをインストールする必要があります。
CMDにて以下を実行してください。
詳細についてはこちら(【ライブラリ紹介】Pythonのインストール、導入手順)
python -m pip install SpeechRecognition
- ※ここではspeechrecognition以外にもPySimpleGUIとpyaudioというライブラリのインストールを含めて設定しています。
こういったエラーが出たときの対処法
まずはChatGPTにエラーログを送りましょう。
同じようにCMDにて同様の指令を入力する必要があることを教えてくれます。
アプリの実行
- 起動したあとのGUIがこちらです。なんとなくうまくできていそう。
じゃあ、録音開始ポチっと。。。。。
音声が認識されません。私の環境では外付けのマイクをつけているのですが、このアプリでは標準のマイクを使用してしまっている模様。
ここで重要なキーワードとなるのが、非機能要件というものです。
要件定義では二つの要件、機能要件と非機能要件なるものが存在しているのです。
少し難しく感じるかもしれませんが、実は中身はとても簡単です。
次回からは、非機能要件と機能要件を改めて定義しなおして、アプリの完全版作成にトライしていこうと思います。 - ご質問、ご要望などはこちらから
コメント