Macで英語音声を文字起こしする手順|OpenAI API完全マニュアル
英語の音声を、
きれいに文字起こし。
Macのターミナル初心者向け、OpenAI APIを使った文字起こしマニュアル。コピペでそのまま動きます。
12ステップで、最後まで。
上から順に進めれば、英語音声から自然な日本語訳まで作成できます。各ステップは独立しているので、途中で止めて再開してもOK。
- キーボードで ⌘ + Space を押す
- 検索欄に ターミナル と入力
- 表示された「ターミナル」を開く
下のコマンドを1行ずつターミナルに貼り付けてください。
mkdir -p ~/openai-transcribe
cd ~/openai-transcribe
ここにあなたのAPIキー の部分を、自分のキーに置き換えてから貼ります。
export OPENAI_API_KEY="ここにあなたのAPIキー"
正しく設定されたか確認:
echo ${#OPENAI_API_KEY}
python3 -m venv .venv
source .venv/bin/activate
python3 -m pip install --upgrade pip
python3 -m pip install openai
今のフォルダをFinderで開きます。
open .
開いたフォルダに、音声ファイルを入れてください。ファイル名は必ず output.wav に変更します。
確認:
ls
7-1. 分割用ファイルを作成:
nano split_wav.py
開いた画面に下のコードを貼り付けます。
import wave
INPUT_FILE = "output.wav"
CHUNK_SECONDS = 700
with wave.open(INPUT_FILE, "rb") as wav:
n_channels = wav.getnchannels()
sampwidth = wav.getsampwidth()
framerate = wav.getframerate()
total_frames = wav.getnframes()
frames_per_chunk = CHUNK_SECONDS * framerate
total_chunks = (total_frames + frames_per_chunk - 1) // frames_per_chunk
for i in range(total_chunks):
out_name = f"part_{i+1}.wav"
start_frame = i * frames_per_chunk
wav.setpos(start_frame)
frames = wav.readframes(frames_per_chunk)
with wave.open(out_name, "wb") as out:
out.setnchannels(n_channels)
out.setsampwidth(sampwidth)
out.setframerate(framerate)
out.writeframes(frames)
print(f"作成: {out_name}")
7-2. 保存と終了:
- Control + O を押す
- Enter で確定
- Control + X で閉じる
7-3. 実行:
python3 split_wav.py
ls
nano transcribe_parts.py
開いた画面に下を貼り付けます。
from openai import OpenAI
import glob
client = OpenAI()
wav_files = sorted(glob.glob("part_*.wav"))
all_text = []
for wav_file in wav_files:
print(f"文字起こし中: {wav_file}")
with open(wav_file, "rb") as audio_file:
result = client.audio.transcriptions.create(
model="gpt-4o-transcribe",
file=audio_file,
language="en"
)
all_text.append(f"\n--- {wav_file} ---\n")
all_text.append(result.text)
full_text = "\n".join(all_text)
with open("transcript.txt", "w", encoding="utf-8") as f:
f.write(full_text)
print("完了: transcript.txt を保存しました")
保存と終了の操作はステップ7と同じです:
- Control + O → Enter → Control + X
python3 transcribe_parts.py
open transcript.txt
transcript.txt の中身をすべてコピーして、ChatGPTに貼り付け。下のプロンプトを一緒に送ってください。
以下の英語文字起こしを、意味が通る自然な日本語に翻訳してください。
話し言葉の温度感は残しつつ、読みやすく整えてください。
ターミナルを開いたら、まず再開コマンドを実行します。
cd ~/openai-transcribe
source .venv/bin/activate
export OPENAI_API_KEY="ここにあなたのAPIキー"
そのあと、新しい音声で実行:
python3 split_wav.py
python3 transcribe_parts.py
open transcript.txt
進み具合を、可視化。
各項目をクリックすると完了マークがつきます。ページを閉じるとリセットされます。
事前準備 3
- OpenAIのAPIキーを用意した
- 英語音声ファイルを用意した
- ファイル名を output.wav にした
ターミナル準備 3
- ターミナルを開いた
- ~/openai-transcribe フォルダを作った
- cd ~/openai-transcribe で移動した
APIキー設定 2
- export OPENAI_API_KEY=… を実行
- echo ${#OPENAI_API_KEY} で数字が出た
Python環境 4
- python3 -m venv .venv を実行
- source .venv/bin/activate を実行
- 行頭に (.venv) が出た
- pip install openai を実行
音声配置 3
- open . でフォルダを開いた
- output.wav をフォルダに入れた
- ls で output.wav が見えた
分割 5
- nano split_wav.py を開いた
- 分割コードを貼った
- 保存した
- python3 split_wav.py を実行
- part_1.wav などができた
文字起こし 5
- nano transcribe_parts.py を開いた
- 文字起こしコードを貼った
- 保存した
- python3 transcribe_parts.py を実行
- 「完了」メッセージが出た
翻訳 4
- transcript.txt をコピーした
- ChatGPTに貼った
- 翻訳プロンプトを送った
- 日本語版を保存した
つまずいたら、ここを。
よく出るエラー4つと、その対処法をまとめました。落ち着いて1つずつ確認すればだいたい解決します。
externally-managed-environment
仮想環境を作らずに pip install を実行している。
python3 -m venv .venv
source .venv/bin/activate
FileNotFoundError
音声ファイル名が違う、または同じフォルダに置かれていない。
ls
# output.wav があるか確認
zsh: command not found: from
Pythonコードをターミナルに直接貼り付けてしまっている。
コードは nano ファイル名.py で開いた画面の中に貼り付け、ターミナルでは python3 ファイル名.py だけを実行します。
長い音声で失敗する
長いwavファイルをそのままAPIに送っている(サイズ制限超過)。
ステップ7の split_wav.py を必ず先に実行して、分割してから送信します。
