AI活用実践記録

Macで英語音声を文字起こしする手順|OpenAI API完全マニュアル

ゆきの

OpenAI API × Python × Mac

英語の音声を、
きれいに文字起こし

Macのターミナル初心者向け、OpenAI APIを使った文字起こしマニュアル。コピペでそのまま動きます。

🎧
対象
Macユーザー

所要時間
約20〜30分

📦
最終ファイル
transcript.txt

🌐
音声言語
English → 日本語

12ステップで、最後まで。

上から順に進めれば、英語音声から自然な日本語訳まで作成できます。各ステップは独立しているので、途中で止めて再開してもOK。

1
ターミナルを開く
作業の起点。Macに最初から入っているアプリです。

  1. キーボードで + Space を押す
  2. 検索欄に ターミナル と入力
  3. 表示された「ターミナル」を開く

2
作業用フォルダを作る
ホームフォルダの中に専用の場所を用意します。

下のコマンドを1行ずつターミナルに貼り付けてください。

Terminal

mkdir -p ~/openai-transcribe
cd ~/openai-transcribe

3
APIキーを設定する
OpenAIに認証してもらうための鍵をセット。

ここにあなたのAPIキー の部分を、自分のキーに置き換えてから貼ります。

Terminal

export OPENAI_API_KEY="ここにあなたのAPIキー"

正しく設定されたか確認:

Terminal

echo ${#OPENAI_API_KEY}

数字(キーの長さ)が表示されればOK。0が出たら設定が反映されていません。

4
仮想環境を作る
他のPython設定を汚さないように、独立した環境を準備。

Terminal

python3 -m venv .venv
source .venv/bin/activate

行の先頭に (.venv) が表示されたら成功です。

5
OpenAIライブラリを入れる
PythonからOpenAI APIを呼び出すための部品。

Terminal

python3 -m pip install --upgrade pip
python3 -m pip install openai

6
音声ファイルを入れる
文字起こししたい音声を作業フォルダへ。

今のフォルダをFinderで開きます。

Terminal

open .

開いたフォルダに、音声ファイルを入れてください。ファイル名は必ず output.wav に変更します。

確認:

Terminal

ls

output.wav が一覧に表示されたら次へ進めます。

7
長いwavを分割する
APIに送れるサイズに合わせて、自動でカットします。

7-1. 分割用ファイルを作成:

Terminal

nano split_wav.py

開いた画面に下のコードを貼り付けます。

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. 保存と終了:

  1. Control + O を押す
  2. Enter で確定
  3. Control + X で閉じる

7-3. 実行:

Terminal

python3 split_wav.py
ls

part_1.wav, part_2.wav … が並んでいれば成功です。

8
文字起こし用ファイルを作る
分割したwavを順番にAPIに送信するスクリプト。

Terminal

nano transcribe_parts.py

開いた画面に下を貼り付けます。

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と同じです:

  1. Control + OEnterControl + X

9
文字起こしを実行する
あとは待つだけ。音声の長さに応じて時間がかかります。

Terminal

python3 transcribe_parts.py

最後に 「完了: transcript.txt を保存しました」 と表示されたら成功!

10
結果を見る
英語の文字起こし結果が出来上がっています。

Terminal

open transcript.txt

11
日本語に翻訳する
ChatGPTに貼って、自然な日本語にしてもらいます。

transcript.txt の中身をすべてコピーして、ChatGPTに貼り付け。下のプロンプトを一緒に送ってください。

Prompt

以下の英語文字起こしを、意味が通る自然な日本語に翻訳してください。
話し言葉の温度感は残しつつ、読みやすく整えてください。

12
次回また使うとき
2回目以降は最初からやり直す必要なし。

ターミナルを開いたら、まず再開コマンドを実行します。

Terminal — 再開コマンド

cd ~/openai-transcribe
source .venv/bin/activate
export OPENAI_API_KEY="ここにあなたのAPIキー"

そのあと、新しい音声で実行:

Terminal

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つずつ確認すればだいたい解決します。

Error 01

externally-managed-environment

原因

仮想環境を作らずに pip install を実行している。

対処
fix

python3 -m venv .venv
source .venv/bin/activate

Error 02

FileNotFoundError

原因

音声ファイル名が違う、または同じフォルダに置かれていない。

対処
fix

ls
# output.wav があるか確認

Error 03

zsh: command not found: from

原因

Pythonコードをターミナルに直接貼り付けてしまっている。

対処

コードは nano ファイル名.py で開いた画面の中に貼り付け、ターミナルでは python3 ファイル名.py だけを実行します。

Error 04

長い音声で失敗する

原因

長いwavファイルをそのままAPIに送っている(サイズ制限超過)。

対処

ステップ7の split_wav.py を必ず先に実行して、分割してから送信します。

ABOUT ME
ゆきの
ゆきの
法人起業サポートの専門家
ゆきの(1981.7.19 三重県出身 A型 蟹座) 法人会社(物販)1社経営で8期(年商1.2億円) 2021年12月からセルフエステサロン運営。 2023年から法人経営起業サポートコミュニティ[YES]を開講中!(生徒数40名、内女性30名) 2024年1月から個別相談を開始し、2025年現在では平均月40社のサポート中。 2024年夏から一般企業の経理担当を開始し、 融通の効かない大手税理士事務所からfreee会計への移行サポートや、銀行融資が獲得しやすい決算書の作成をサポートさせていただいています。 情報発信での収益は年間1,000万円超。
記事URLをコピーしました