はじめに
会話内容が自動的に要約されて送られてきたら便利だなあと思い、まずは音声文字起こしのコードを作成するころにしました。面倒なのでChat GPT君に丸投げして作成してもらいました。動作させるまで5分でできました。戦々恐々としています、、、、
コード
Google Colabで動作します。実行後にmp3ファイルをアップロードし、アップロードしたファイルの音声を文字起こししてテキストファイルに出力してくれます。
すべてChat GPTに生成してもらいました。(優秀すぎ、、)
Colabにそのまま貼り付けると動作しますので、mp3ファイルをご用意の上お試しください。
main.ipynb
!pip install pydub
!pip install SpeechRecognition
from google.colab import files
from pydub import AudioSegment
import speech_recognition as sr
def convert_audio_to_wav(input_file, output_file):
audio = AudioSegment.from_mp3(input_file)
audio.export(output_file, format="wav")
def transcribe_audio(input_file, output_file):
r = sr.Recognizer()
with sr.AudioFile(input_file) as source:
audio = r.record(source)
text = r.recognize_google(audio, language="ja-JP")
with open(output_file, "w", encoding="utf-8") as f:
f.write(text)
# mp3ファイルのアップロード
uploaded = files.upload()
# アップロードされたファイルのパスを取得
input_file = list(uploaded.keys())[0]
output_file = "/content/output.txt"
# mp3をwavに変換
converted_file = "/content/converted.wav"
convert_audio_to_wav(input_file, converted_file)
# 音声を文字起こししてテキストファイルに保存
transcribe_audio(converted_file, output_file)
# 出力ファイルをダウンロード
files.download(output_file)
# 一時ファイルを削除
os.remove(converted_file)
output_file = "/content/output.txt"
# テキストファイルを読み込んで表示
with open(output_file, "r", encoding="utf-8") as f:
text = f.read()
print(text)
結果
テキストとなって出てきました。ところどころ漢字変換ミスがありますが、これをコピペでChat GPT君に漢字変換してもらうと正しい漢字になりました。テキストを、要約してってお願いしたら要約してくれました。もう優秀すぎですね。