2026年9月3日木曜日

20年前のサンプラーに音を入れる - MPC1000 / 2500 と .PGMファイルの話


 
カードリーダーにコンパクトフラッシュを挿して、WAVをコピーして、MPCに戻す。それだけのはずなのに、パッドを叩いても音が鳴らない。

MPC1000 や MPC2500 を触ったことがある人なら、たぶん一度は経験しています。そして厄介なのは、画面にエラーが出ないことです。ただ、鳴らない。

以前、MPCという機械そのものの物語を書きました。今日はその続きで、もっと地味で、もっと実用的な話をします。20年前のサンプラーに、いまのパソコンから音を入れる方法です。

そしてこの記事には、ひとつ自信のある発見があります。日本語で音楽をやっている人が最もハマりやすい落とし穴について、「なぜダメなのか」を推測ではなくファイルの構造から説明できます。


💡 3行まとめ

  • ファイル名を日本語にしていると、絶対に鳴りません。 これは慣習ではなく、ファイル形式の構造上の制約です
  • 16文字を超えるファイル名も入りません。 .PGMのサンプル名フィールドは16バイト固定です
  • WAVを入れただけでは鳴りません。 .PGM(プログラム)はどのパッドに何を割り当てるかの指示書で、音声データは1バイトも入っていません

この記事のルール 📏

古いMPCの情報でいちばん困るのは、検証済みの事実と掲示板の又聞きが混ざっていることです。日本語の情報はだいたい2009年〜2013年で止まっていて、当時のリンクの多くはもう切れています。

なので、この記事では区別して書きます。

✅ 確定 … 公式マニュアルの記述、または私が実際にファイルを解析して確認したこと ⚠️ 報告ベース … 広く言われているが、私が一次資料で確認できていないこと

私はMPCの全機能を知り尽くしたベテランではありません。代わりにやったのは、MPC1000のプログラムファイル(.PGM)をバイト単位で解析して、エディタを実装することでした。だから「フォーマットから言えること」は自信を持って書けますが、「実機の挙動」は正直に保留します。


① MPCに音を入れる2つのルート 🔌

🔹 ルート1:MPC本体をUSBでパソコンに繋ぐ

✅ 確定 — MPC1000にはUSBポートがあり、パソコンからはリムーバブルディスクとして見えます。 公式のオペレーターズマニュアル16章にこう書かれています。

In My computer, the MPC1000 is displayed as a removable disk.

注意点も明記されています。

  • USBページを表示している間しかデータ転送できません(Load または Save ページで [F4] (USB) を押す)
  • ケーブルを抜く前に、パソコン側で「ハードウェアの安全な取り外し」をすること
  • USBケーブルを抜かない限り、他のページやモードに移動できません

要するに、MPCが高価なカードリーダーになるという機能です。パソコンから見えているのは本体の内部メモリではなく、挿さっているコンパクトフラッシュのほうです。

🔹 ルート2:カードリーダーで直接読む

カードを抜いて、パソコンのカードリーダーに挿すだけ。MPC1000のUSBはUSB 1.1世代なので、素直にこちらのほうが速いです。サンプルライブラリを丸ごと入れ替えるようなときは、現実的にこちらになります。

カードリーダーは1000円台で買えます。量が多いなら買ってしまったほうが早いです。


② カードの容量とフォーマット 💾

ここは正直に書きます。私が一次資料で確認できませんでした。

⚠️ 報告ベース — よく言われているのは次の内容です。

  • 純正のAkai OSは2GBまで、という記述が広く引用されている
  • 実際には4GBのカードで問題なく使えているという報告も複数ある
  • JJOSなら8GB / 16GB / 32GB が見えるという報告がある

報告同士が食い違っているので、「◯GBまで大丈夫です」と言い切ることはできません。手堅くいくなら2GB、大容量を試すならJJOS環境で、というのが安全な判断だと思います。

カードの調子が悪いときは、MPC本体でフォーマットし直すのが定番の対処です。パソコンでフォーマットするより確実、と広く言われています。


③ ファイル名 — 日本語ユーザー最大の落とし穴 ⚠️

この記事でいちばん伝えたいのがここです。

✅ 確定 — MPC1000のプログラムファイル(.PGM)を解析すると、サンプル名を格納する領域は 16バイト固定のASCIIフィールドでした。パッド1つにつき最大4レイヤー、それが64パッド分、すべて同じ構造です。

つまり、こういうことになります。

🔹 16文字を超えるファイル名は入りません

「16文字までにしましょう」というのは、マナーやおすすめではありません。フォーマット上の物理的な上限です。17文字目を書き込む場所が、そもそも存在しません。

長い名前をつけると、切り詰められるか、プログラムとサンプルの紐付けが切れます。

🔹 日本語のファイル名は、原理的に無理です

ここが本題です。このフィールドは1文字1バイトのASCIIです。ひらがな・カタカナ・漢字は1文字で複数バイトを使うので、そもそも格納する場所がありません。

「キック.wav」「スネア_01.wav」のような名前をつけていると、カード上(FAT)にはファイルとして存在していても、.PGM側からそのサンプルを指し示すことができません。 プログラムを読み込んでもパッドが鳴らない、という現象になります。

パソコンでファイル名を日本語にするのはごく自然な感覚です。でも、MPCに持っていくフォルダの中だけは半角英数字に統一してください。

推奨する書き方:

KICK_01.WAV
SNARE_HARD.WAV      ← 拡張子を除いて16文字以内
HAT_CL_02.WAV

避けるべき書き方:

キック01.wav              ← 日本語(格納できない)
Kick Drum Layer 01.wav   ← 拡張子を除いて19文字(超過)
snare#1.wav              ← 記号は避けたほうが無難

⚠️ 報告ベース — MPC本体のファイルブラウザが日本語名のファイルをどう表示するか(一覧に出るのか、文字化けするのか)は実機で確認していません。ただ、プログラムから参照できないことは構造から確定しています。


④ WAVの設定 — 16bit / 44.1kHz 🎚️

MPC1000 / 2500 が扱う音声は 16bit / 44.1kHz の PCM WAV です。ここに揃えておけば事故が起きません。

  • ビット深度 … 16bit
  • サンプルレート … 44.1kHz
  • 形式 … PCM(非圧縮)
  • チャンネル … モノラル または ステレオ

最近のDAWは初期設定が24bit / 48kHzのことが多いので、書き出し設定を確認してください。

MP3、AIFF、24bit WAV、48kHz WAV は、そのままでは読めないか、読めても意図した音になりません。変換で直すより、書き出しの時点で揃えるほうが確実です。


⑤ 「プログラム(.PGM)」とは何か 📄

ここを理解していないと、「WAVをカードに入れたのに音が出ない」で詰まります。

.PGMファイルには、音声データは1バイトも入っていません。 入っているのは「どのパッドに、どのファイル名のサンプルを、どんな設定で割り当てるか」という指示書だけです。

✅ 確定 — MPC1000の.PGMは、きっちり10,756バイトの固定長でした。中身はこう並んでいます。

オフセット      サイズ            内容
0x0000         24 バイト         ヘッダ("MPC1000 PGM 1.00")
0x0018         64 × 164 バイト   64パッド分(各パッド4レイヤー)
0x2918         64 バイト         パッド → MIDIノート番号
0x2958         128 バイト        MIDIノート番号 → パッド(逆引き)
0x29D9         13 × 2 バイト     Qリンクスライダー2本
0x29F3         17 バイト         パディング
                                 ────────────
                                 合計 10,756 バイト

つまり音を鳴らすには、.PGM と、そこに書かれた名前と一致する .WAV の両方が必要です。片方だけでは鳴りません。

よくある失敗が、この3つです。

  • WAVだけコピーして、プログラムを作っていない → パッドを叩いても無音
  • プログラムだけコピーして、WAVを入れ忘れた → 読み込み時にサンプルが見つからない
  • WAVのファイル名をパソコン側で変えた → 紐付けが切れて鳴らない

**「WAVの名前は、プログラムを作った後に変えてはいけない」**と覚えておいてください。


⑥ JJOSを使っている人へ 🛠️

JJOS(MPC1000 / 2500用のサードパーティOS)には、いくつも系統があります。

  • 無料版JJOS … MPC1000はv3.16、MPC2500はv3.11
  • JJOS1 … 販売終了
  • JJOS2 … 販売終了。INSTプログラムが導入された世代
  • JJOSXL … MPC1000ではJJOS2XL、MPC2500ではJJOS-XL
  • JJOS128 / JJOS128XL … 大画面化した本体向け
  • JJOS3 … JJOS128XLの機能を小画面向けにしたもの

⚠️ 報告ベース — プログラムの互換性について、広く言われているのは次の通りです。

  • JJOSも .PGM を使います
  • 古いバージョンや純正Akai OSで作ったプログラムは、新しいJJOSで読み込めます
  • ただしJJOS2以降ではパッドの割り当てが並び替わることがあり、シーケンスがずれる場合があります
  • 逆方向(JJOSXLで作ったプログラムを純正OSへ)は問題が出るという報告があります

ポイント: 純正OS向けに作ったプログラムのほうが、互換性の面では安全側です。配布用のキットを作るなら、純正フォーマットにしておくと相手の環境を選びません。


⑦ 「読み込めない」ときの切り分け 🔍

上から順に潰してください。ほとんどはこの7つのどれかです。

  1. WAVは16bit / 44.1kHz / PCMか? → DAWの書き出し設定を確認
  2. ファイル名は半角英数字か? → 日本語が入っていたら確定でアウト
  3. 拡張子を除いて16文字以内か? → 17文字目は存在できない
  4. プログラムを作ったあとに、WAVの名前を変えていないか?
  5. .PGMと.WAVが同じフォルダにあるか?
  6. カードはMPC本体でフォーマットしたものか?
  7. カードの容量は妥当か? → 不安なら2GBで切り分け

ここまでで直らない場合は、カード自体の不良か、本体側(メモリ/OS)の問題の可能性があります。


⑧ パソコン側でプログラムを作る 💻

MPC本体でパッドに1つずつサンプルを割り当てていくのは、正直しんどい作業です。パソコン側で作れるツールがいくつかあります。

  • mpc1000.com … ブラウザで動きます。プロジェクト(.ALL)の読み込み、PGM作成、チョップ、一括変換まで対応していて機能が広い。インストール不要
  • MPC Maid … Java製の定番。開発は止まっていますが今も動きます
  • 私が作ったエディタ … 後述します(実機検証がまだ済んでいません)

⑨ 作ったものと、まだ検証できていないこと 🧪

HTMLファイル1個で完結するプログラムエディタを作りました。ブラウザで開くだけで、インストールもサーバーも不要です。

20年前に生産終了した機材のためのツールなので、「サービスが終了したら使えなくなる」形にはしたくありませんでした。 ファイル1個を手元に置いておけば、10年後でも開けます。オフラインでも動きます。

設計で気をつけたのは、編集していないバイトを一切書き換えないことです。公開されているフォーマット仕様には「用途不明」とされているバイトがいくつかあります。そこを勝手にゼロで埋めると、実機で微妙に挙動が変わるかもしれない。なので元のファイルをそのまま保持して、触ったパラメータのバイトだけを上書きする設計にしました。何も編集せずに開いて保存すれば、1バイトも変化しません。

ただ、ここからが大事です。

🔹 ✅ 済んでいること

  • フォーマットの解釈を、独立した2つの資料と突き合わせて一致を確認
  • 10,756バイトの構造が数学的に閉じることを検証(パッド領域の終端がMIDI領域の開始と一致するなど)
  • 単体テスト45件、実ブラウザでの動作テスト17件が通過
  • 生成したZIPを unzip、生成したWAVをPythonの wave モジュールで読み込んで正常性を確認

🔹 ⚠️ 済んでいないこと

  • 実機でのロード確認。まだ一度もやっていません
  • 特に「新規プログラムを一から作る」機能は、初期値(パッド→MIDIノートの割り当てなど)が推測に基づいています。工場出荷時のプログラムと突き合わせていません
  • MPC2500 と JJOS 環境での動作

そのため、既存の.PGMを開いて編集する使い方のほうが安全です。編集していないバイトは保持されるので。新規作成については、ツール側にも警告を出すようにしてあります。

正直に言えば、完成品として出すには早い段階です。それでも今公開しているのは、この機材を持っている人と一緒に検証したいからです。試していただけたら、動いたか/動かなかったかを教えてください。特にJJOS環境の情報は公開資料がほとんどないので、本当に貴重です。

▼ ダウンロードはこちら

DOWNLOAD


⑩ Q&A 💬

Q. ファイル名、本当に日本語じゃダメなんですか? 昔は使えた気がするんですが A. カード上にファイルとして置くことはできます。パソコンからは普通に見えます。ただ、.PGMがそのファイルを指し示せません。 サンプル名の領域が16バイトのASCIIで固定されているためで、これはOSやバージョンの問題ではなく、ファイル形式そのものの構造です。

Q. 16文字って、拡張子込みですか? A. 拡張子を除いて16文字です。.WAV の4文字は別枠と考えてください。

Q. WAVを入れただけで音が出ないのは故障ですか? A. ほぼ違います。プログラム(.PGM)を作っていないだけの可能性が高いです。⑤を読んでみてください。

Q. JJOSを入れていますが、この記事の内容は当てはまりますか? A. ファイル名とWAVの話(③④)はそのまま当てはまります。プログラムの互換性(⑥)は系統によって変わるので、⚠️ を付けてあります。JJOS環境でのUSB転送については、信頼できる公開情報を見つけられませんでした。ご存じの方は教えてください。

Q. 結局、いちばんラクな手順は? A. カードリーダーでカードを読む → 半角英数字16文字以内でWAVを揃える → パソコン側のツールでプログラムを作る → カードに戻す。この順番です。


⑪ 一行まとめ ✍️

今日の内容を一行に圧縮するとこうです。

MPCが読んでいるのは音ではなく名前で、その名前は半角16文字しか入らない。


更新履歴

この記事は、検証が進むたびに加筆・修正します。事実が変わった場合はここに残します。

  • 2026-XX-XX 初版公開。⚠️ 印の項目(カード容量、JJOS環境でのUSB、MPCブラウザでの日本語ファイル名の表示)は未検証です

参考

#MPC1000 #MPC2500 #JJOS #サンプリング #DTM #ビートメイキング

0 件のコメント:

コメントを投稿