出力ファイル
チャンネルごとに 2 本の JSONL を、保存先フォルダに追記します。音声は、同じフォルダに通話ごとの WAV で録音します。
<出力先>/2026-09-25_D1ch_データ波_基地局.frames.jsonl # 生フレーム
<出力先>/2026-09-25_D1ch_データ波_基地局.events.jsonl # 復号情報
<出力先>/2026-10-06_音声データ共用波_基地局_voice_184217.wav # 音声
ライセンスが未認証の間は、JSONL と WAV を記録しません(IQ の録音はできます)。認証の手順はライセンス認証にあります。
エディションによっては、記録する内容の一部が伏せ字になります。
| エディション | frames.jsonl | events.jsonl | WAV |
|---|---|---|---|
| データのみ | kind が voice か silence の行の hex が * になります | そのまま記録します | 録音しません |
| 音声のみ | kind が voice か silence の行の hex だけ読めます。ほかの行の hex は * になります | 行は記録しますが、summary と detail が *** になります | 録音します |
| フルパック | そのまま記録します | そのまま記録します | 録音します |
伏せ字の行も、行そのものは記録します。在圏、呼、呼設定、運行情報は伏せません。ただし、これらの行に載る元のバイト列(sdu と word)は *** になります。
ファイルの分かれ方
- ファイル名の日付は、ローカル時刻を日付の境界時刻(既定 3 時)で区切った営業日です。
- ファイルはチャンネルごとに分かれます。同じチャンネルを 2 台で受けた場合も 1 つのファイルに書き、行の
radioで区別します。 framesが生フレーム、eventsが復号情報です。- WAV は、チャンネルごと、通話ごとに 1 ファイルです。
保存先フォルダ、日付の境界時刻、書き出す種類は、設定画面の「出力」欄で決めます。記録しているかどうかは、メイン画面のツールバーの「記録」に「ON」「OFF」で出ます。
生フレーム(*.frames.jsonl)
1 行が 1 つのフレームです。
{"ts":"2026-09-25T18:42:17.312+09:00","radio":"down","ch":"d1_down","dir":"down","freq_hz":352631250,"si":1234567,"kind":"data","slot":10,"subframes":[0,0,1],"midamble":0.96,"gridlock":0.91,"amp_ratio":1.8,"timing_off":0,"code_ok":false,"corrected":0,"raw_hex":"<84 桁。デスクランブル前 336 bit>","payload_hex":"<84 桁。PN9 除去後>"}
主なキーは次のとおりです。
| キー | 内容 |
|---|---|
ts | 受信時刻です。チャンク到着時刻から si で逆算した近似で、遅れ側に 2 秒以内の誤差があります |
radio | 受信した無線機を表す ID です |
ch | チャンネル ID です |
dir | 向きです。down が下り、up が上りです |
freq_hz | チャンネルの周波数(Hz)です |
si | ビット位置です。行の順序はこの値で見てください |
kind | 枠の種類です。data、idle、voice、silence、noise、unknown のいずれかです(下の表) |
slot | スロット番号です。kind が data の枠に付きます |
fec_bits | 誤り訂正が直したビット数です。data はリンク層の誤り訂正(336 bit の語)、voice は音声の誤り訂正(176 bit)で数えます。どちらの検査にも通っていない枠には付きません |
raw_hex | デスクランブル前の 336 bit を 84 桁の 16 進数で表したものです |
payload_hex | PN9 除去後の内容を 84 桁の 16 進数で表したものです |
kind の意味は次のとおりです。
kind | 意味 |
|---|---|
data | データの枠です。スロット番号が読めた枠と、リンク層の誤り訂正に通った枠が入ります |
voice | 音声として復号できた枠です |
silence | 無音の音声枠です。共用波の一斉放送の前後に並びます。音は出ません |
idle | 空線の枠です |
noise | 信号のない枠です。上りの記録だけに出ます |
unknown | 信号はあるものの、データとも音声とも確かめられなかった枠です。電文の先頭の枠や、誤りの残った枠がここに入ります |
この区別を入れる前の版は、unknown にあたる枠と、スロット番号の付いた枠の一部も voice と記録していました。
復号情報(*.events.jsonl)
1 行が 1 件の復号情報です。
{"ts":"2026-09-25T18:42:15+09:00","radio":"down","ch":"d1_down","dir":"down","si":1234183,"kind":"registration","summary":"登録応答 列車 2861E 205系 上野","detail":{"train_no":"2861E","class_code":12,"formation":"E233-7000","station":"上野"}}
| キー | 内容 |
|---|---|
ts、radio、ch、si | 生フレームと同じです |
dir | 向きです。down、up のほか、共用波では common になります |
kind | 復号情報の種類です。registration、call、in_zone などがあります。読めなかったものは unknown_frame、unknown_word、sdu になります(読めなかった枠と語) |
summary | 1 行の要約です。メイン画面のログ欄に出る内容と同じです |
detail | 種類ごとの項目です。メイン画面の detail に出る内容と同じです |
detail の項目の読み方は復号項目にあります。
元の値
復号情報だけで後から解析し直せるように、detail には復号の元になった値も入ります。対応表に無いコードや、読み方が分かっていないバイトを、生フレームのファイルが無くても確かめられます。
| キー | 内容 | 入る kind |
|---|---|---|
sdu | 元の SDU 全体(16 進数) | registration、in_zone、transfer、notice、service_ids、sdu |
word | リンク層の誤り訂正に通った 28 バイトの語(16 進数) | call、call_end、call_radio、call_setup、unknown_word |
raw_hex | デスクランブル前の 336 bit。生フレームの raw_hex と同じ値です | report_a、report_b、report_c、t1、t2、t3、unknown_frame |
car_kind_code | 先頭車の記号のコード(0x34 の形)。対応表の <接頭辞>-car_kinds.csv(JR東日本なら jr-east-car_kinds.csv)に無い記号でも残ります | registration、t2 |
読めなかった枠と語
復号できなかったものも、次の kind で記録します。
kind | 内容 | 記録する条件 |
|---|---|---|
unknown_frame | 生フレームで kind が unknown になった枠です。raw_hex、payload_hex、midamble が入ります | 枠ごとに毎回。データ波、共用波、上りの波だけが対象です |
unknown_word | 誤り訂正に通ったものの、読めなかった語です。slot、word、reason が入ります | 同じスロットで最近出ていない中身のときだけ |
sdu | 読まなかった SDU です。type、sdu が入り、読まなかった理由があれば reason が入ります | 毎回 |
unknown_word は、スロットごとに最近の 64 種類の中身を覚え、その中に無い語だけを記録します。同じ内容が何回、いつ来たかは残りません。回数や時刻が必要な場合は、生フレームのファイルを使ってください。
reason の値は次のとおりです。
reason | 意味 |
|---|---|
broadcast_slot | 報知スロット(4、12、13)の語です。読み方が分かっていません |
channel_status | スロット 3、11 で、チャンネル状態の形に合わない語です |
call_setup | スロット 5 で、呼設定の形に合わない語です |
length | 長さの欄が SDU の長さと合いません |
type | 共用波で、型が 0x21、0x22 のどちらでもありません |
format | 共用波で、型は合うものの、ID の一覧にも本文にも読めません |
次のものは復号情報に入りません。生フレームのファイルには残ります。
- 誤り訂正に通らなかったデータの枠
- 音声だけの波の、
unknownの枠 - 中身が空の語(空きスロット)
音声(*.wav)
音声波と共用波の下りの音声を、通話ごとに 1 ファイルの WAV に録音します。形式は 8 kHz、モノラル、16 bit です。
<出力先>/2026-10-06_音声データ共用波_基地局_voice_184217.wav
ファイル名は <営業日>_<チャンネル名>_voice_<開始時刻 HHMMSS>.wav です。
- 音声が 5 秒間途切れると 1 通話が終わったとみなして閉じ、次に音声が来たときに新しいファイルを作ります。
- 日付の境界時刻が既定の 3 時のとき、0:00〜2:59 の録音はファイル名の日付が前日になります。
- 同じ秒に同じチャンネルで 2 つ目のファイルを開くときは、末尾に
_2のような連番が付きます。
録音するかどうかは、設定画面の「出力」欄の「音声を WAV に録音する」で切り替えます。既定はオンです。再生の操作は音声を聞くにあります。