JSONからSRTへの変換ツール

JSON形式の文字起こしファイルをアップロードすると、スキーマを自動判定し、タイムスタンプ・本文・任意の話者ラベルを含むSRTファイルとして書き出せます。

ほとんどの動画に最適

.jsonファイルをここにドロップ

JSONファイルはブラウザ内でローカル変換されます。アップロードは不要です。

JSONを字幕に変換しました。

検出形式:
作成された字幕ブロック:
スキップされた無効セグメント:
AI Studioで編集
変換後のSRTを確認

自動生成されたSRTは簡単に検証し、重要な動画ではタイミングを目視確認するのがおすすめです。

SRTを検証 Studioで編集

JSONからSRTへの変換ツールとは?

OpenAI Whisper、AWS Transcribe、Google Cloud Speech-to-Text などの音声認識サービスは、完成した字幕ではなくJSONファイルを出力することがよくあります。JSONには時刻、単語、文、候補、話者情報が含まれる場合があります。このツールはその構造を読み取り、開始時刻・終了時刻・テキストを抽出して、標準的なSubRip形式のSRTファイルを生成します。

JSONをSRTに変換する仕組み

生のJSONは、そのままYouTubeにアップロードしたり、Adobe Premiere、DaVinci Resolve、Final Cut Proに安定して読み込ませたりすることはできません。まず「番号、開始時刻、終了時刻、表示テキスト」という字幕トラックの形に整える必要があります。このツールはその処理を自動で行います。

例:JSON入力からSRT出力へ

単純なミニ変換ツールではなく、実際のAPI構造を具体的に示しています。自分のJSONが似た構造かどうか、そしてなぜ有効なSRTにできるのかを確認できます。

Whisper JSONをSRTへ

Whisperの出力には、多くの場合 segments 配列があります。各要素には通常 startendtext があり、SRTブロックへ自然に変換できます。

JSON入力

{
  "segments": [
    { "start": 0.00, "end": 2.40, "text": "動画へようこそ。" },
    { "start": 2.40, "end": 5.10, "text": "今日はワークフローを紹介します。" }
  ]
}

SRT出力

1
00:00:00,000 --> 00:00:02,400
動画へようこそ。

2
00:00:02,400 --> 00:00:05,100
今日はワークフローを紹介します。

AWS Transcribe JSONをSRTへ

AWS Transcribeは、単語と句読点を results.items に分けて返すことがよくあります。このツールはそれらの単語データを読みやすい字幕ブロックにまとめ、話者ラベルがあれば保持できます。

JSON入力

{
  "results": {
    "items": [
      { "type": "pronunciation", "start_time": "0.00", "end_time": "0.55", "alternatives": [{ "content": "こんにちは" }], "speaker_label": "spk_0" },
      { "type": "pronunciation", "start_time": "0.56", "end_time": "1.10", "alternatives": [{ "content": "Maik" }], "speaker_label": "spk_0" },
      { "type": "punctuation", "alternatives": [{ "content": "。" }] }
    ]
  }
}

SRT出力

1
00:00:00,000 --> 00:00:01,100
spk_0: こんにちは Maik。

Google Speech-to-Text JSONをSRTへ

Google Speech-to-Textでは、単語が results[].alternatives[].words[] に入っていることが一般的です。開始時刻と終了時刻は 1.200s のように、s付きの秒数で表されることがあります。

JSON入力

{
  "results": [
    {
      "alternatives": [
        {
          "words": [
            { "startTime": "0s", "endTime": "0.700s", "word": "これは", "speakerTag": 1 },
            { "startTime": "0.700s", "endTime": "1.400s", "word": "動きます", "speakerTag": 1 }
          ]
        }
      ]
    }
  ]
}

SRT出力

1
00:00:00,000 --> 00:00:01,400
Speaker 1: これは動きます

対応フィールドと自動スキーマ検出

JSONは字幕フォーマットではなくデータ形式です。そのため、文字起こしサービスごとにフィールド名が異なります。この変換ツールはよく使われるキー名を確認し、Whisper、AWS、Googleの形式と完全に一致しない場合でも、入れ子配列を探索できます。

フィールド 認識するキー SRTでの使い方
開始時刻start, start_time, startTime, from, beginSRTブロックの開始時刻になります
終了時刻end, end_time, endTime, to, finishSRTブロックの終了時刻になります
テキストtext, transcript, content, sentence, value表示される字幕テキストになります
話者speaker, speaker_label, speaker_id, speakerTagテキストの前に接頭辞として追加できます

SRTファイルでの話者ラベル

多くの文字起こしサービスでは、話者情報が speakerspeaker_labelspeakerTag などのフィールドで渡されます。「話者ラベルを含める」を有効にすると、その情報を字幕本文の先頭に書き込みます。

SRTには話者専用の技術的なフィールドがありません。そのため実務では、話者名をテキストの接頭辞として保存します。インタビュー、ポッドキャスト、会議、講義、サポート録画で便利です。

1
00:00:00,000 --> 00:00:02,200
Speaker 1: それでは始めましょう。

2
00:00:02,300 --> 00:00:04,800
Speaker 2: お招きいただきありがとうございます。

プロバイダー別の一般的なJSON構造

次の表は、このツールが明示的に認識する構造を示します。さらに、開始時刻・終了時刻・テキストを持つ汎用配列も自動検出します。

プロバイダー 一般的なJSON構造 対応 メモ
OpenAI Whispersegments[] mit start, end, textはい、直接対応セグメントベースで、SRT出力に非常に向いています。
AWS Transcriberesults.items[] plus optional speaker_labelsはい、直接対応単語単位のデータを読みやすい字幕ブロックにまとめます。
Google Speech-to-Textresults[].alternatives[].words[]はい、直接対応秒ベースの単語リストをまとめ、時刻順に並べます。
汎用JSONstart、end、textを含む配列または入れ子配列必要なフィールドがあれば対応明確な時刻フィールドとテキストフィールドがあれば動作します。

JSONデータは安全ですか?

はい。変換はJavaScriptによりブラウザ内でローカル実行されます。JSONファイルがサーバーにアップロードされることはありません。文字起こしには社内会議、顧客素材、未公開スクリプト、未公開動画が含まれることが多いため重要です。

JSON自動検出の限界

このツールが字幕セグメントを作成できるのは、JSON内に利用可能な時間情報がある場合だけです。開始時刻と終了時刻のないテキストだけのJSONは、SRTに必要なタイムスタンプがないため正確に変換できません。その場合はTXTからSRTへの変換ツールを使うか、Studioで後から同期してください。

変換後:SRTを検証またはタイミング調整

JSON文字起こしは自動音声認識から作られることが多いため、生成されたSRTのタイミング、空ブロック、読みやすさを確認することをおすすめします。

SRT Validatorを開く Studioで編集

JSONをオンラインでSRTに変換する方法

1

JSONファイルをアップロード

Whisper、AWS、Google、または類似の音声認識システムのJSON文字起こしを選択します。

2

形式を自動検出

既知のスキーマを認識し、セグメント、単語リスト、時刻フィールド、任意の話者情報を探します。

3

SRTファイルを保存

生成されたSRTをダウンロードし、必要に応じてSRT ValidatorやStudioで確認します。

よくある質問

どのJSON文字起こし形式に対応していますか?

OpenAI Whisper、AWS Transcribe、Google Cloud Speech-to-Textの一般的な出力と、開始時刻・終了時刻・テキストを持つ汎用JSON配列に対応しています。

各字幕ブロックの長さを調整できますか?

はい。短め、標準、長めを選べます。AWSやGoogleのJSONが単語単位データの場合に特に便利です。

話者ラベルに対応していますか?

はい。JSON内に話者情報があれば、SRT出力でテキスト接頭辞として書き込めます。

JSONファイルは非公開のままですか?

はい。変換はすべてブラウザ内で行われます。ファイルはサーバーにアップロードされません。

タイムスタンプのないJSONをSRTにできないのはなぜですか?

SRTでは各字幕ブロックに開始時刻と終了時刻が必要です。JSONにテキストしかない場合、必要なタイミング情報がありません。

AWSの単語データを字幕行にまとめられますか?

はい。単語と句読点を自動的にまとめ、読みやすい字幕ブロックにします。

JSONからSRTに変換した後、何を確認すべきですか?

タイミング、文の長さ、話者ラベル、空ブロックを確認してください。技術的な問題はSRT Validatorで確認できます。