故事 › EA 沒錄的名字,台灣人自己錄了
EA 沒錄的名字,台灣人自己錄了
本站播報員為什麼不唸新球員的名字那頁寫過一句話: 「沒有人錄過他的名字,所以無論你怎麼設定,播報員都唸不出來。」 前半句的「EA 沒錄」是對的,「沒有人錄過」是錯的。 遊戲資料夾旁邊躺著 23 個資料夾、69 個語音檔, 是 2005 到 2009 年台灣的模組玩家自己做的。這頁把它們全部打開量一遍。
⚠️ 先講這頁量的是什麼、不是什麼
量測對象是本站測試機上的 MVP2026\audio\ 資料夾,
共 23 個子資料夾、138 個檔案、2,487,010 位元組(2.37 MB)。
它不在遊戲會讀的路徑裡。遊戲讀的是 data\audio\,
這個資料夾是放在旁邊的素材庫。所以「這 23 個人的名字現在播報員會不會唸」
不是這頁能回答的問題,本站沒有實機驗過。未驗
靜態比對能講到的只有這一段:把這 23 個號碼拿去遊戲真的會讀的那一份語音庫
(data\audio\cd\spch_pbp\pnamedat.big)查,16 個連同名項目都沒有;
剩下 7 個雖然有同名項目,那 20 個檔沒有一個跟資料夾裡的內容位元組相同(細節在第八節)。
這是靜態比對的結果,不是「所以播報員一定不會唸」 —— 那句話仍然要實機才算數。
同一組數字在原版與這台機器差在哪那頁也寫著。
⚠️ 這跟第六節那 6 個「搬來的」檔是兩回事:那 6 個是跨號碼相同
(3245 對 2378、3487 對 9079、3499 對 2223),這裡比的是同一個號碼。
這頁能回答的是:這些檔案是不是真的照遊戲的格式做的、號碼是不是真的對得到人。 這兩件事有證據,下面全部列出來。
一、資料夾自己就是一份紀錄
命名規則很整齊:球員名字 + 四位數號碼 + 底線 + 來源標記。
李振昌3497_強者小雪靈同學
上原浩治 Uehara Koji 6107_NPB8.4模組
倪福德6503_中職模組
每個資料夾固定六個檔:3497a.dat、3497c.dat、3497d.dat
加上同名的三個 .hdr。23 個資料夾乘以六,剛好 138 個檔,沒有例外。
69 個 .dat 合計 2,485,906 位元組,69 個 .hdr 每個都是 16 位元組。
| 來源標記 | 資料夾數 | 備註 |
|---|---|---|
| 台灣之光模組 | 13 | 另有 1 個寫成「台灣光之模組」,字序寫反了 |
| 強者小雪靈同學 | 4 | 檔案時間全部是 2009-03-12 |
| 小雪靈同學 | 3 | 檔案時間全部是 2009-01-17 |
| 中職模組 | 1 | 倪福德 |
| NPB8.4模組 | 1 | 上原浩治 |
| 台灣光之模組 | 1 | 鄭錡鴻。字序跟上面那個寫反了,照原樣列 |
| 合計 | 23 |
⚠️ 2026-08-28 訂正:本站一次用詞訂正改壞了三格「照原樣列」的資料
2026-08-27 本站做過一次全站用詞訂正,把「中職」改成「台灣」—— 理由是加進遊戲的球員不一定是中華職棒出身,那個訂正本身是對的。
但它連這一頁三個「逐字引用資料夾名稱」的地方一起改了
(上面的檔名範例、這張來源標記表、下面的號碼對照表)。
磁碟上那個資料夾真的叫 倪福德6503_中職模組,
站上卻展示了一個不存在的資料夾名。已改回。
⭐ 這個錯的形狀值得記:全站替換會踩到「照原樣列」的區塊。 這一頁的說服力完全建立在「我把它們全部打開量一遍、原文照列」, 而同一張表隔壁列還寫著「字序跟上面那個寫反了,照原樣列」—— 那句話正好說明了這些格子不該被改。 做全站用詞替換之前,要先把引用區塊排除掉。
MVP2026\audio\ 底下 69 個 .dat 的檔案修改時間。
這是檔案上的時間,不是錄音的時間。但它跟當年模組的更新紀錄對得起來:
紀錄寫 2009 年 3 月 17 日新增四位球員語音,那四個資料夾的 12 個檔的時間都是 3 月 12 日。二、號碼真的對得到人
資料夾名字裡那四位數,就是球員資料檔第 16 欄
playerattrib_audioid(見兩套球員編號)。
問題是:拿去現在這台機器的名單查,23 個號碼只有 1 個有人在用。
差一點就要下結論說「對不上」。但同一個遊戲資料夾裡還躺著另一份名單:
MVP2026\database\attrib.dat,檔案時間 2009 年 11 月,3,222 位球員。
用那一份查:
23 個號碼,在 2009 名單裡 23 個都查得到,而且都只有一個人在用
驗證點就用 3497:2009 名單裡是
Chen-Chang Lee,資料夾寫的是李振昌。
23 個裡面有 22 個的中文名字與名單上的英文拼音對得起來
(羅錦龍/Ching-Lung Lo、上原浩治/Koji Uehara、倪福德/Fu-Te Ni…)。
剩下 1 個是 2892:資料夾原文是
石井 Travis Ishikawa 2892 _小雪靈同學 ——
英文半段跟名單逐字相同,對不上的只有中文那半
(Ishikawa 是石川不是石井)。這一半本站兩邊原文照列,不做判斷。
| 號碼 | 資料夾寫的 | 2009 名單裡的名字 | 來源標記 | 最早檔案日期 | a | c | d |
|---|---|---|---|---|---|---|---|
| 2892 | 石井 | Travis Ishikawa | 小雪靈同學 | 2009-01-17 | 42,560 | 67,384 | 42,560 |
| 2947 | 羅錦龍 | Ching-Lung Lo | 台灣之光模組 | 2005-10-27 | 25,324 | 70,532 | 25,324 |
| 3245 | 中村紀洋 | Norihiro Nakamura | 小雪靈同學 | 2009-01-17 | 5,120 | 85,876 | 4,864 |
| 3429 | 詹智堯 | Chih-Yao Chan | 台灣之光模組 | 2007-06-27 | 22,536 | 60,012 | 22,536 |
| 3486 | 林旺衛 | Wang-Wei Lin | 台灣之光模組 | 2007-06-22 | 21,184 | 61,272 | 21,184 |
| 3487 | 郭勝安 | Sheng-An Kuo | 台灣之光模組 | 2007-06-22 | 3,972 | 66,872 | 4,136 |
| 3488 | 林旺億 | Wang-Yi Lin | 台灣之光模組 | 2007-06-22 | 21,184 | 66,392 | 21,184 |
| 3493 | 洪晨恩 | Chen-En Hong | 台灣之光模組 | 2007-06-27 | 25,776 | 66,692 | 25,776 |
| 3494 | 林彥峰 | Yen-Feng Lin | 台灣之光模組 | 2007-06-22 | 21,184 | 73,672 | 21,184 |
| 3497 | 李振昌 | Chen-Chang Lee | 強者小雪靈同學 | 2009-03-12 | 26,316 | 64,144 | 26,316 |
| 3499 | 邱子愷 | Tzu-Kai Chiu | 台灣之光模組 | 2007-06-27 | 3,193 | 46,848 | 3,453 |
| 3500 | 羅嘉仁 | Chia-Jen Lo | 強者小雪靈同學 | 2009-03-12 | 20,412 | 56,532 | 20,412 |
| 3501 | 郭嚴文 | Yen-Wen Kuo | 強者小雪靈同學 | 2009-03-12 | 13,572 | 50,568 | 13,572 |
| 3506 | 鄭錡鴻 | Chi-Hung Cheng | 台灣光之模組 | 2005-10-27 | 22,536 | 51,768 | 22,384 |
| 3509 | 鄭凱文 | Kai-Wen Cheng | 強者小雪靈同學 | 2009-03-12 | 22,536 | 51,768 | 22,536 |
| 4631 | 林哲瑄 | Che-Hsuan Lin | 台灣之光模組 | 2008-03-13 | 20,352 | 50,508 | 20,352 |
| 6107 | 上原浩治 | Koji Uehara | NPB8.4模組 | 2007-09-29 | 34,228 | 67,112 | 34,228 |
| 6203 | 田澤純一 | Junich Tazawa | 小雪靈同學 | 2009-01-17 | 37,408 | 66,100 | 37,408 |
| 6287 | 蔣智賢 | Chih-Hsien Chiang | 台灣之光模組 | 2007-06-23 | 24,392 | 63,992 | 24,392 |
| 6465 | 增菘瑋 | Sung-Wei Tseng | 台灣之光模組 | 2007-06-27 | 29,496 | 74,184 | 29,496 |
| 6503 | 倪福德 | Fu-Te Ni | 中職模組 | 2008-11-23 | 34,768 | 47,540 | 34,768 |
| 9146 | 羅國輝 | Kuo-Hui Lo | 台灣之光模組 | 2005-10-30 | 25,324 | 57,312 | 25,324 |
| 9485 | 陳鴻文 | Hung-Wen Chen | 台灣之光模組 | 2006-02-16 | 21,696 | 68,672 | 21,696 |
大小單位是位元組。日期欄取的是那個資料夾裡三個檔中最早的一個,
因為有七個資料夾的三個檔不同天:3486、3487、3488、3494
的 a 與 d 是 2007-06-22、c 是 2007-06-27;6287 的 a 與 d 是 2007-06-23、c 是 2007-06-27;
3506 的 a 與 d 是 2007-06-23、c 是 2005-10-27;
9485 的 a 與 d 是 2006-02-16、c 是 2007-06-27。
英文名字照抄 2009 名單原文,包括 Junich Tazawa 少一個 i。
三、檔頭是照遊戲的規矩寫的
先拆最小的那個。.hdr 只有 16 個位元組,
69 個檔一個不漏全部拆開,欄位排法完全一致(下面的數字都是十六進位):
+0x00 1 byte E1=a 檔 E3=c 檔 E5=d 檔
+0x01 1 byte 固定 36
+0x02 2 bytes 號碼 ← little-endian,這一欄是十進位
+0x04 2 bytes 固定 00 01
+0x06 2 bytes 固定 00 00
+0x08 1 byte 會變,← 原版裡它跟下一格合起來是長度,這 69 個檔不是,見下面
+0x09 5 bytes 固定 00
+0x0E 2 bytes 固定 70 70 ← 讀成文字是 pp
上面「固定」兩個字的範圍是這 69 個社群檔。遊戲內建的同型檔頭裡,
+0x04 與 +0x0E 這兩欄還會出現別的值。
69 個檔,69 次命中
第 3、4 個位元組讀成 little-endian,就是檔名裡那個號碼。
李振昌的 3497a.hdr 那兩個位元組是 A9 0D,
換算成十進位正好是 3497。69 個檔全部相符,沒有例外。
更重要的是跟遊戲自己的檔一模一樣。
把遊戲語音索引 pnamehdr.big 裡的 6107a.hdr 抽出來比:
遊戲內建 e136 db17 0001 0000 0b00 0000 0000 7070
社群做的 e136 db17 0001 0000 0f00 0000 0000 7070
只有第 9 個位元組不同,其餘 15 個位元組完全相同。
這不是只有這一對:69 個社群 .hdr 裡有 20 個在
pnamehdr.big 找得到同名項目,20 個全部只差第 9 個位元組。
那個第 9 個位元組是什麼?本頁寫的時候沒有解出來。
它會變,但不是每個檔都不一樣:這 69 個社群檔裡只出現三個值 ——
c 檔全部是 16、d 檔全部是 0F、a 檔是 0F(19 個)或 11(4 個)。
遊戲內建的 12,451 個 16 位元組檔頭則出現 67 種不同的值。
拿遊戲內建 12,443 組「.hdr 配得到 .dat」的檔逐一驗過六種猜法
(SCDl 段數、段數加一、項目大小除以 1024、除以 2048、
0x85 的值除以 1024、除以 2048),最高的一種只對上 1,021 個,8.2%。
所以本頁當時就寫「未解」,不編一個聽起來合理的解釋。
⚠️ 2026-09-05 訂正:這一格後來解開了,但解開的規則描述不了這 69 個檔
本站後來在語音檔頭那頁把它量出來了:
這一格連同下一格(那頁的位元組從 0 數起,叫第 8–9 個位元組,
也就是上面的 +0x08 與 +0x09)是長度,
單位是 256 位元組的區塊而且要減一,所以
(值 + 1) × 256 = .dat 的長度。
那頁在兩份剛安裝好的原版上量到 6,995/6,995 相符。
但那條規則對這 69 個社群檔一個都不成立。本站重跑同一條公式:
69 個社群 .hdr 零命中(6107a.hdr 那一格寫 15,
算出來是 4,096,實際 34,228)。上面六種猜法之所以全部落空,
是因為沒有一種是「除以 256」 —— 但就算補上,這批檔也還是對不上。
同一條公式在這台裝過模組的機器上,12,443 組裡成立
6,172 組(49.6%),是舊的最佳猜法(1,021 組、8.2%)的六倍;
本站另外對剛安裝好的原版那份 pnamedat.big 重跑,
4,565/4,565 全中。也就是說:原版沒有例外,
這台機器上的例外是模組後來加進來的檔,而社群這 69 個檔全部是例外。
它們為什麼不照這條規則寫,本站不知道。未解
四、聲音檔的骨架
.dat 的開頭四個位元組是 SCHl,
也就是音訊那頁講過的 EA 音訊容器。
它的結構是一串接一串的區塊,每塊開頭四個字是名字、接著四個位元組是這塊多長:
SCHl 28~40 bytes 檔頭:格式描述(69 個檔裡 65 個是 32,兩個 28,兩個 40)
SCCl 12 bytes 這個檔有幾段聲音(69 個檔全部都是 12)
SCDl 116~10588 byte 聲音資料,一段一塊,可以有很多塊
SCEl 8 bytes 結束(67 個檔有,而且全部都是 8)
把 69 個檔照這個規則一路走下去,65 個剛好走到檔尾, 一個位元組不多不少。全部合計 331 塊 SCDl。 另外 4 個檔的狀況留到第六節講。
檔頭裡是一串「代號、長度、值」
SCHl 那一段不是固定欄位,而是一組一組接上去的:
一個位元組的代號、一個位元組的長度、然後是值,讀到 FF 就結束。
用這個規則解,69 個檔全部解得開,而且結束之後剩下的位元組全是 0:
| 代號 | 出現在幾個檔 | 值 | 本站量到什麼 |
|---|---|---|---|
| 0x06 | 69 | 101 | 全部一樣。遊戲內建 12,527 個解得開的項目也全部是 101 |
| 0xFD | 69 | 沒有值 | 單獨一個位元組,跳過 |
| 0x80 | 69 | 3(65 個)/2(4 個) | 編碼器(2026-09-05 訂正,本頁原本標「未解」):1 是音樂那種、2 是語音/音效那種、3 是裝在 GSTR 容器裡的那種,見換掉遊戲的聲音。遊戲內建還會出現 1 |
| 0x85 | 69 | 10,198 – 79,558 | 等於每一段 SCDl 開頭那個數字的總和,69 個檔全中。
那個數字是取樣總數(2026-09-05 訂正,本頁原本寫「本站沒有解開」;
見換掉遊戲的聲音那支腳本的標籤表,
--info 會直接印出來) |
| 0x82 | 63 | 2 | 未解。這 63 個剛好就是 63 個 GSTR 檔 |
| 0xA0 | 6 | 4 | 未解。這 6 個剛好就是 6 個 PT 檔 |
| 0x84 | 4 | 44100(2 個)/24000(2 個) | 整個語音庫 12,527 個解得開的項目中有 7,182 項帶這欄,值只出現過
22050、24000、44100。三個都是常見取樣率,所以本頁當時只能推測是取樣率,
聲音編碼沒解開、播不出來,驗不了。2026-09-05 訂正:現在驗得了,它就是取樣率 ——
2892c.dat 這一欄寫 44100,拿換掉遊戲的聲音
那支腳本匯出來的 WAV 就是 44100 Hz |
| 0x8C | 2 | 4 | 未解。這 2 個的檔頭標記是 PT 05 00 |
這幾條對應關係能推廣多遠,本站分開量過。
在遊戲內建語音庫裡,0xA0 出現 5,973 次、剛好就是全部 5,973 個 PT 項目;
0x8C 出現 538 次、剛好就是全部 538 個 PT 05 00 項目;
但 0x82 只出現 295 次,而 GSTR 項目有 6,554 個。
所以「0x82 等於 GSTR」只在這 69 個社群檔裡成立,不是通則。
數字怎麼讀,要看三個地方分別決定
檔頭第 9 個位元組開始,有的檔寫 GSTR(社群檔 63 個),有的寫 PT(6 個)。
位元組順序不是整個檔一種,而是分成三塊:
一、每塊開頭「這塊多長」永遠是 little-endian,兩種檔頭都一樣。 所以區塊鏈可以用同一套規則走完全部 69 個檔。
二、資料區的數字看檔頭標記:SCCl 記的段數、每塊 SCDl 開頭那個數字,
GSTR 讀 big-endian,PT 讀 little-endian。
三、檔頭那串「代號、長度、值」的值,兩種都是 big-endian。
這不是猜的,是四種組合各跑一次比出來的。驗算條件:
SCCl 記的段數要等於實際數到的 SCDl 塊數,
而且每塊開頭那個數字加起來要等於 0x85,兩個條件同時成立才算通過。
| 來源 | 檔頭標記 | 項數 | 資料 BE 檔頭 BE | 資料 BE 檔頭 LE |
資料 LE 檔頭 BE | 資料 LE 檔頭 LE |
|---|---|---|---|---|---|---|
| 遊戲內建 | GSTR | 6,554 | 6,554 | 122 | 0 | 0 |
| 遊戲內建 | PT | 5,973 | 0 | 0 | 5,973 | 13 |
| 社群 | GSTR | 63 | 63 | 2 | 0 | 0 |
| 社群 | PT | 6 | 0 | 0 | 6 | 0 |
每一組都只有一種組合能 100% 通過,其他三種最高只到 3.2%(社群 GSTR 那 63 個裡的 2 個)。
合計:社群 69 個檔 69 個全過;遊戲內建 12,528 個項目
12,527 個全過。唯一沒過的那一項叫 3632.wav,
它的開頭是 RIFF/WAVE,根本不是 SCHl 容器。
兩邊合計 12,596 / 12,597。
本頁寫的時候,聲音本身還沒解開
知道有幾段、每段多長,不等於知道那些位元組怎麼變成聲音。
把 3497c.dat 全部 7 塊 SCDl 的資料(64,008 個位元組)當成 8 位元聲音來看,
落在中央那 33 個值(0x70 到 0x90)的只有 234 個,
0.37%。未壓縮的 8 位元人聲會不會集中在這一段,本站沒有對照組可以驗:整個語音庫裡唯一的 WAV 是 16 位元,當不了 8 位元的對照。所以這只能當成一條線索,不是證據。未驗
而且「一單位對應幾個位元組」這個比值,在不同檔頭欄位組合下差很多: 遊戲內建語音庫拆成 7 種欄位組合,各組的中位數從 0.22 到 1.08, 最高是最低的五倍,代表裡面不只一種編碼。 本頁寫到這裡就停住,也不打算猜。
⚠️ 2026-09-05 訂正:最裡面那層後來解開了
—— 2026-08-29 是編碼那一層,2026-08-30 是 GSTR 容器那一支分支,
見換掉遊戲的聲音。
本站拿那一課的腳本對這 69 個檔一個一個跑過:
65 個匯得出 WAV(例如 3497c.dat 匯出 2 聲道 22050 Hz、2.25 秒);
解不出來的 4 個正好是第六節說的那一批照抄來的
—— 3245a/3245d/3499a/3499d,
它們是 PT 容器的編碼器 2。
上面這一整段是還沒解開之前寫的,推論的過程留著不刪。
五、a、c、d 可能是什麼
播報員那頁後來把這件事解開了(2026-08-28):
a 是球評唸姓氏、c 是主播唸全名、d 是主播唸姓氏,
答案寫在 spch_pbp.txt 裡,四個類別的編號集合跟檔案後綴的集合完全相同,
不只是數量吻合。下面這一節是那之前寫的,
只靠這批社群檔推出來的路,方向跟後來的答案一致,過程留著不刪。
先講一件會誤導人的事:在這 23 個社群資料夾裡,a 跟 d 位元組完全相同的有 19 個(82.6%),而遊戲內建的語音庫裡同號碼的 a 與 d 相同的只有 35/4,061(0.86%)。所以「a 跟 d 一樣」在社群檔裡是常態,本身不是線索。真正特別的是下面這件事:三個姓林的人,六個檔跨三個不同的人,聲音資料位元組完全一樣。
林彥峰 3494、林旺億 3488、林旺衛 3486,六個檔的聲音資料位元組完全一樣。 但三個人的 c 檔各不相同,大小分別是 73,672、66,392、61,272。
如果 a 跟 d 是姓、c 是全名,這就說得通了。 拿遊戲自己的語音庫檢驗這個想法:把 12,527 個項目照聲音內容分組, 再用 2009 名單把號碼換回名字。
| 後綴 | 項數 | 不重複的聲音 | 兩個以上號碼共用 | 其中有 2 個以上查得到名字 | 查得到的那些全部同姓 |
|---|---|---|---|---|---|
| a | 4,091 | 3,368 | 330 組 | 146 組 | 126 組(86.3%) |
| c | 4,121 | 4,083 | 35 組 | 10 組 | 8 組(80.0%) 其中 6 組是同一個人重複登錄 |
| d | 4,313 | 3,571 | 348 組 | 152 組 | 131 組(86.2%) |
最後兩欄的限制條件:這台測試機的語音庫涵蓋 4,343 個號碼,比 2009 名單多, 查不到名字的號碼無法比對姓氏。所以只算「組內至少有兩個號碼查得到名字」的那些組, 而且只比對查得到名字的那幾個。a 是 330 組裡的 146 組、d 是 348 組裡的 152 組、 c 是 35 組裡的 10 組。百分比是「同姓組數 ÷ 有 2 個以上查得到名字的組數」。
本頁當時的推測:a 與 d 是姓,c 是全名(後來證實了)
a 跟 d 有幾百組共用,而且查得到名字的那些多半同姓:
Abreu 兩個、Anderson 四個、Aybar 兩個、Bell 三個。
c 幾乎沒有共用,接近每個人一段。
長度也對得起來:遊戲內建同時有 a 與 c 的 3,897 個號碼裡,
a 的 SCDl 內容中位數 5,504 位元組,
c 是 12,540 位元組,c 是 a 的 2.28 倍。名字比姓長。
中位數的算法:把一個項目全部 SCDl 區塊的內容加起來,
含每塊開頭那 4 個位元組。這一整段在本頁寫的時候是推測,本站沒有聽過任何一個檔;
2026-08-28 播報員那頁從
spch_pbp.txt 的類別集合把它解開了,跟這裡推的方向相同。
不同姓的那些怎麼算?本站不知道。
a 檔那 146 組裡有 20 組是不同姓的,例如 0053(Miguel Batista)
跟 6110(David Hernandez)共用同一段。這種例外沒有解釋就不寫解釋。
而且這批社群檔自己也有一組例外:3429a、3429d(詹智堯,Chan)
跟 3506a(鄭錡鴻,Cheng)三個檔位元組完全相同,但兩個人不同姓。
本站不知道原因。另外 a 跟 d 兩者互相不同
(遊戲內建同號碼下只有 35/4,061 相同),所以就算真的都是姓,也是兩種不同的錄法。
這一點後來也有答案了:那是兩位播報員 —— a 是球評唸姓氏、d 是主播唸姓氏。
還沒解開的是各自在哪些播報情境下會被叫用。未解
六、有六個檔的內容跟語音庫完全一樣
這節是本頁最重要的誠實聲明。把兩個 pnamedat.big 全部 16,186 個項目的聲音內容做成指紋
(其中 3632.wav 不是 SCHl,沒有指紋),得到 14,623 種。
拿 69 個社群檔去比,有 6 個完全相同:
| 社群檔 | 與語音庫哪一項相同 | 那個號碼在 2009 名單是誰 | 本站看得出什麼 |
|---|---|---|---|
| 3487a/3487d 郭勝安 Sheng-An Kuo |
9079a/9079d 整個檔案位元組完全相同;同一段內容在語音庫裡也掛在 2332a/2332d 底下 |
Hong-Chih Kuo 當年的說明書那一列也寫 郭泓志 2332 |
2332 那個號碼在 2009 名單是 Hong-Chih Kuo,跟社群這邊同姓 Kuo;但整檔相同的是 9079,而 9079 在 2009 名單是別人。同姓只是其中一個候選的巧合,不能當成規則 |
| 3499a/3499d 邱子愷 Tzu-Kai Chiu |
2223a/2223d | Shin-Soo Choo | 兩個姓的拼法不同(Chiu/Choo)。為什麼挑這一段,本站不知道 |
| 3245a/3245d 中村紀洋 |
2378a/2378d | 兩份名單都沒有人使用 | 不知道 2378 原本是誰 |
9079 這個號碼,2009 名單填的是 Zach McAllister、現在的名單填的是 Hong-Chih Kuo,
兩份對不起來,所以本站不判斷 9079 原本是誰,只記錄「它的 a/d 內容跟 2332 相同」這件量得到的事。
這三組的 c 檔跟兩個語音庫裡的任何一段都不同,是另外做的。
三組裡只有一組(3487 對 2332)雙方在 2009 名單裡同姓,
另外兩組本站看不出關係。所以不能推廣成「姓一律沿用現成的」,
只能說:這 6 個檔是搬來的,其餘 63 個在兩個語音庫裡都找不到相同的一段。
為什麼這件事一定要寫出來
如果只寫「台灣人自己錄了 23 個人」,聽起來比較漂亮,但不精準。 精準的說法是:23 個資料夾的 c 檔在語音庫裡都找不到相同的一段; 其中 3 個號碼的 a 與 d 是照抄語音庫現成的項目。
當年的更新紀錄用的詞也是「製作」不是「錄」。本站跟著用「製作」。
順便講一個容易誤用的證據
這 6 個檔的檔頭標記確實是 PT 不是 GSTR,
資料密度也只有其他檔的四分之一左右(社群 GSTR 檔的比值中位數 1.085、這 6 個是 0.284)。
但這不是額外的兩個證據:
本站去查了被抄的那 6 個來源項目,它們本來就是 PT、
欄位組合本來就一樣、密度本來就是那個值。
照抄的結果當然一樣。真正的證據只有一個:聲音內容位元組完全相同。
要說清楚的是「完全相同」指的是哪一層:這 6 個檔裡,整個檔案位元組完全相同的有 4 個(3245 對 2378、3487 對 9079);3499 那一對只有聲音內容相同,整檔差在 SCEl 後面幾百個尾巴位元組。
還留著一個沒擦乾淨的舊檔頭
3245a.dat 走完 SCEl 之後還有 300 個位元組。
前面 272 個全是 0,最後 28 個是這樣:
4872496e HrIn
e136 4a09 0001 0000 1300 0000 0000 7070 ← 一個完整的 16 bytes 檔頭
4872537a 00000010 HrSz + 長度 16
那個檔頭裡寫的號碼是 2378,不是 3245。
跟上面指紋比對的結果一致。3245d.dat 尾巴 316 個位元組,
結構一樣,寫的號碼同樣是 2378。
2378 原本是誰,本站不知道,也不猜。兩份名單都沒有人用這個號碼。
另外兩個檔也有問題:3499a.dat 跟 3499d.dat
的結束標記只寫了 5 個位元組(SCEl 加一個 08),
比正常的 8 個少 3 個。聲音段本身走得完,缺的是最後那個收尾。
七、當年的說明書寫了誰做的
同一個遊戲資料夾裡有兩份 Big5 文件(另一頁專門講它們)。
在 History.txt 裡搜「語音」兩個字,全檔 1,281 行只有第 798 行與第 988 行兩條命中:
(這條所屬那筆更新的標題:2009年3月17日 AM05:11)
3.新增 強者小雪靈同學製作的 羅嘉仁、郭嚴文、鄭凱文、李振昌 語音。
(這條所屬那筆更新的標題:更新日期 : 2009年1月28日)
4.新增田澤純一、中村紀洋、石井語音檔(製作者:小雪靈同學)。
四個人對四個資料夾,三個人對三個資料夾,姓名完全吻合,一個不多一個不少。 檔案時間也對得起來:前者那四個資料夾的檔是 3 月 12 日,紀錄的標題是 3 月 17 日; 後者那三個資料夾的檔是 1 月 17 日,紀錄的標題是 1 月 28 日。
Readme.txt 裡那張 53 列的球員對照表還有一欄叫「語音」:
| 欄位值 | 列數 | 意思 | 本站查核結果 |
|---|---|---|---|
| 原有 | 6 | 遊戲本來就有 | 王建民 2474、郭泓志 2332、陳金鋒 1598、陳鏞基 7015、野茂英雄 0637 五個在語音庫查得到 a/c/d 三個檔;胡金龍 2884 一個都沒有 |
| 內附 | 22 | 這份模組附的 | 21 個在資料夾裡找得到;林柏佑 3498 沒有 |
| 無 | 24 | 沒有 | — |
| 原版 | 1 | 只有 Mark Prior 1923 一列 | — |
本站量不出 EA 當年的收錄標準。 EA 原廠錄的是 1,673 個號碼(這台測試機的 4,343 個裡,多的是模組加的)。 真正對不起來的是這件事:被標成「原有」的胡金龍 2884,在原版裡一個檔都沒有。 所以「EA 只錄大聯盟球員」這類說法對不起來,本站不寫。未解
⚠️ 2026-08-25 訂正:這一段原本寫「語音庫涵蓋 4,343 個號碼,遠多於任何一份大聯盟名單」, 拿的是裝過模組的這台的數字去推論 EA 的做法。EA 原廠是 1,673 個, 而那個數字既不足以支持「只錄大聯盟」,也不足以推翻它 —— 換掉數字之後,本站更沒有立場對 EA 的收錄標準下任何結論。
胡金龍 2884 對不上、林柏佑 3498 對不上,本站不知道原因,就寫不知道。 資料夾裡多出來的石井 2892 與中村紀洋 3245 不在那張表上,也照實記。未解
八、今天沒有人在用這些名字
把 23 個號碼拿去現在這台機器的名單(3,247 位球員)查:
23 個號碼,只有 1 個有人在用
3488 有人用,但那個人是 J.D. Davis,不是林旺億。
其餘 22 個號碼一個人都沒有。
名單換過幾輪之後,當年那些人被移走了,號碼被別人拿去用了, 但檔案還在。
這跟本站另一頁講的孤兒資料是同一件事: 沒有人刪掉它,只是不再指向它。 差別在於,介面檔裡的孤兒是 EA 自己留下的;這一批是台灣人自己做的,然後被自己的名單遺忘。
一個量得到、但不能拿來下結論的巧合
現在裝在遊戲裡的語音庫,有 295 個項目帶著跟這批社群檔相同的欄位組合
(含 0x82),分佈在 157 個號碼,其中一個是 3488c。
但把它跟資料夾裡的 3488c.dat 逐位元組比,兩個檔不一樣
(語音庫裡 71,944 位元組,資料夾裡 66,392)。
23 個號碼裡有 7 個在語音庫裡查得到同名項目,總共 20 個檔,
沒有一個跟資料夾裡的檔相同;其餘 16 個號碼連同名項目都沒有。
所以本站只能說「語音庫裡有一批項目跟這些社群檔的欄位組合相同」, 不能說這批檔被裝進去過。未解
九、本站訂正了自己一句話
原本寫「沒有人錄過他的名字」
播報員為什麼不唸新球員的名字那頁的結論是: 「你新增的球員不在那 4,343 個裡面。沒有人錄過他的名字, 所以無論你怎麼設定,播報員都唸不出來。」
「EA 沒錄」是對的,「沒有人錄過」是錯的。 那是一句全稱句,而這 23 個資料夾就是反例。
訂正後的說法:新球員 EA 沒錄; 但「做一個外層格式跟遊戲一致的語音檔」是做得到的,當年就有人做了 23 個號碼。 本頁寫的時候本站做不出來,原因是最裡面那層聲音編碼還沒解開, 不是「這件事不可能」。那一層 2026-08-29/30 也解開了, 站上現在有一課在教換掉遊戲的聲音。
這頁不能告訴你什麼
五件事,其中兩件後來解開了
一、SCDl 裡的聲音編碼。本頁量的都是外殼 ——
那一層 2026-08-29/30 解開了,見換掉遊戲的聲音;
本站拿那一課的腳本對這 69 個檔跑過,65 個匯得出 WAV。已解開
二、.hdr 第 9 個位元組的意思。本頁那六種猜法全部驗過都不對,
後來在語音檔頭那頁解開了:它是長度,
單位 256 位元組的區塊而且要減一。但這 69 個社群檔沒有一個照那條規則寫,為什麼不知道。未解
三、a 與 d 分別在哪些播報情境下會被叫用。
(「它們是姓、各自是誰唸的」2026-08-28 已經解開,見播報員那頁:
a 是球評唸姓氏、d 是主播唸姓氏。)未解
四、把這些檔裝回遊戲,播報員是不是真的會唸出這 23 個名字。
本站沒有實機驗過,全頁結論都是從檔案結構與號碼對應推的。未驗
五、2378 原本是誰、胡金龍 2884 為什麼查不到、林柏佑 3498 的檔在哪。未解
📌 重點整理
- 一句話 遊戲資料夾旁邊躺著 23 個資料夾、69 個語音檔,是 2005 到 2009 年台灣模組玩家自己做的,外層容器多半照遊戲的規矩走、號碼真的對得到人;最裡面那層聲音編碼寫這頁的時候還沒解開,2026-08-29/30 已經解開(見換掉遊戲的聲音),本站拿那一課的腳本對這 69 個檔跑過,65 個匯得出 WAV。
- 本站訂正了自己一句話 播報員那頁原本的結論是「沒有人錄過他的名字」。「EA 沒錄」是對的,「沒有人錄過」是錯的,那是一句全稱句,這 23 個資料夾就是反例。本頁寫的時候本站做不出來,原因是最裡面那層編碼還沒解開,不是這件事不可能 —— 那一層後來也解開了。
- 另一個訂正,形狀更值得記 2026-08-27 本站做過一次全站用詞訂正,把「中職」改成「台灣」,連這一頁三個「照原樣列」的地方一起改了,站上因此展示了一個磁碟上不存在的資料夾名(真的叫
倪福德6503_中職模組),已改回。做全站替換之前,要先把逐字引用的區塊排除掉。 - 號碼真的對得到人 資料夾名裡那四位數就是球員資料檔的
audioid。拿現在這台機器的名單(3,247 位)查,23 個號碼只有 1 個有人在用,而且那個人是 J.D. Davis 不是林旺億;但拿同一個資料夾裡 2009 年 11 月那份名單(3,222 位)查,23 個全部查得到、都只有一個人使用,其中 22 個的中文名跟英文拼音對得起來。當年的說明書也對得上:History.txt全檔 1,281 行只有兩條提到語音,四個人對四個資料夾、三個人對三個資料夾,姓名一個不多一個不少。(另有一處訂正:語音庫 4,343 個號碼是這台裝過模組的數字,EA 原廠是 1,673 個,本站原本拿前者去推 EA 的收錄標準,已改掉。) - 外殼是照遊戲的規矩寫的 69 個
.hdr每個 16 個位元組,第 3、4 個位元組讀成 little-endian 就是檔名那個號碼,69 次全中;其中 20 個在遊戲自己的pnamehdr.big找得到同名項目,20 個全部只差第 9 個位元組。位元組順序分三塊各有規則(塊長永遠 little-endian、資料區看檔頭標記、檔頭的值一律 big-endian),四種組合各跑一次比出來:社群 69/69、遊戲內建 12,527/12,528 通過,唯一沒過的那項叫3632.wav,它根本是 RIFF/WAVE 不是同一種容器。 - 這頁最重要的誠實聲明:有 6 個檔是搬來的 三組的
a/d跟語音庫現成項目聲音內容位元組完全相同,其中3245a.dat尾巴甚至還留著一個寫著 2378 的舊檔頭沒擦乾淨。其餘 63 個在兩個語音庫裡都找不到相同的一段,三組的c檔也都是另外做的。所以精準的說法不是「錄了 23 個人」,當年的紀錄用的詞是「製作」,本站跟著用。 - 兩個看起來像證據、其實不是的東西 那 6 個搬來的檔標記是
PT、資料密度也只有其他檔的四分之一(0.284 對 1.085),但被抄的來源項目本來就是那樣,照抄的結果當然一樣,真正的證據只有「聲音內容位元組完全相同」這一個。同理,社群檔裡a跟d相同的有 19 個(82.6%),那是常態不是線索,遊戲內建同號碼相同的只有 35/4,061。 - 本站沒驗的
SCDl裡的聲音編碼本頁沒有解,全頁講的都是外殼(那一層 2026-08-29/30 已經解開,本站拿那一課的腳本對這 69 個檔跑過,65 個匯得出 WAV);.hdr第 9 個位元組本頁六種猜法最高只對上 8.2%,後來量出來是長度(單位 256 位元組的區塊而且要減一),但這 69 個社群檔沒有一個照那條規則寫,為什麼不知道;「a與d是姓、c是全名」在本頁寫的時候只是推測(同姓比例 86.3% 與 86.2%、c的長度是a的 2.28 倍)、本站沒有聽過任何一個檔,2026-08-28 已由播報員那頁從spch_pbp.txt的類別集合解開,還開著的是a與d各自用在哪些播報情境;把這些檔裝回遊戲播報員會不會唸這 23 個名字,沒有實機驗過,因為這個資料夾根本不在遊戲會讀的路徑上;還有 2378 原本是誰、被標成「原有」的胡金龍 2884 為什麼一個檔都沒有、林柏佑 3498 的檔在哪。
接下來
- 播報員為什麼不唸新球員的名字 —— 號碼與語音庫的完整對應,本頁訂正的就是那一頁
- 播報音訊系統 ——
SCHl容器在整個音訊區的位置 - 當年那兩份說明書,一句一句拿今天的檔案對過 —— 這頁引用的兩份 Big5 說明書
- 一個檔案裡的地層 —— 「不刪只是不指向」的另一個例子
- 兩套球員編號 ——
audioid的另一半用途