解決する課題
教科書の音声は台本どおりで不自然ですが、本物の動画はサポートなしでは多くの学習者にとって難しすぎます。学習者には、話されている内容を見て、知らない単語をすぐに理解し、自分の興味に合ったコンテンツで少しずつリスニングを練習する手段が必要です。
最初のバージョンに含めるべき機能
- 再生と同期した対訳の文字起こし
- タップで単語を翻訳し、語彙を保存
- 任意の1文だけを繰り返し再生
- 実際のセグメントから作る穴埋め・ディクテーション問題
- 学習者が動画を選びやすくする難易度評価
開発手順(ステップごとに解説)
- 01
元の文字起こしを取得する
動画の言語とformat.wordsを指定して/transcribeを呼び出し、単語単位のタイミングを取得します。
- 02
サポート用に翻訳する
/transcripts/{video_id}/translateで学習者の母語に翻訳し、対訳表示を作ります。
- 03
プレーヤーと同期する
YouTube埋め込みプレーヤーの現在時刻を使って、再生中のセグメントと単語をハイライトします。
- 04
練習問題を作る
セグメントの単語を空欄にして穴埋め問題を作ったり、セグメントを再生して聞こえた内容を入力させたりします。
サンプルコード
このアイデアは「レシピ1:動画1本から構造化された出力を作る」パターンをベースにしています。チャンネル、プロンプト、保存先はご自身のものに置き換えてください。
import requests
API = "https://www.youtubetranscript.dev/api/v2"
HEADERS = {"Authorization": "Bearer yt_sk_live_YOUR_KEY"}
res = requests.post(f"{API}/transcribe", headers=HEADERS, json={
"video": "https://www.youtube.com/watch?v=VIDEO_ID",
"format": {"timestamp": True, "paragraphs": True},
}).json()
transcript = res["data"]["transcript"]
print(transcript["text"][:500]) # plain text for your LLM prompt
for seg in transcript["segments"][:3]: # timestamps for deep links
print(seg["start"], seg["text"])作る価値がある理由
学習者向けのフリーミアム型サブスクリプションが最適で、動画無制限、語彙の保存、練習問題を有料プランにします。教師や学校はクラス用アカウントと課題機能に対価を払います。
避けるべき失敗
- 学習教材に自動字幕だけを使うこと:学習者は見たものをそのまま覚えるため、手動字幕があればそちらを優先しましょう。
- 翻訳をデフォルトで表示すること:学習者が対象言語で考え続けられるよう、必要なときに表示する形にしましょう。
- 難易度を無視すること:初心者が圧倒されないよう、話す速さと語彙で動画を評価しましょう。
このアイデアに関する質問
YouTubeの文字起こしで語学を学べますか?
はい。ネイティブの話す内容を読みながら聞き、知らない単語を翻訳し、文を繰り返し再生することは、リスニング力を伸ばす効果的な方法です。
文字起こしを動画と同期させるには?
各セグメントと単語には開始時刻があります。それを埋め込みプレーヤーの現在時刻と比較して、該当するテキストをハイライトしてください。
どの言語に対応していますか?
YouTubeで字幕がある言語すべてに加え、AI音声認識で99言語に対応しています。文字起こしは多くの対象言語に翻訳できます。