Build Log:暖簾分けの誕生 — PTSG プロジェクトの発表

TL;DR
In the course of drafting Chapter 3 of the WPMS Synthesizer Layer 1 specification, an unexpected discovery surfaced: the control architecture being designed for WPMS turns out to be a general-purpose, ultra-lightweight programmable timing sequence generator with applications far beyond audio synthesis. We are spinning it off as an independent Open Prompt project: PTSG (Programmable Timing Sequence Generator). This Build Log explains what happened, why we made this decision, and what comes next.
WPMS シンセサイザー第 1 層仕様の第 3 章起草の過程で、予期しない発見がありました:WPMS のために設計していた制御アーキテクチャが、音声合成を遥かに超えた応用範囲を持つ汎用かつ超軽量のプログラマブルタイミングシーケンス生成器であることが判明しました。これを独立した Open Prompt プロジェクトとして暖簾分けします:PTSG(Programmable Timing Sequence Generator)。本 Build Log では、何が起きたか、なぜこの決定をしたか、次に何が来るかを説明します。
What happened during Chapter 3 dialogue / 第 3 章対話で何が起きたか
Chapter 3 of the WPMS Layer 1 specification is titled "Sequence-Modulation Pipeline Processor Specification." Its job is to define the component that computes per-bin parameters (frequency, amplitude, phase) on the fly using the difference-engine structure described in earlier chapters.
WPMS 第 1 層仕様の第 3 章のタイトルは「数列変調パイプラインプロセッサ仕様」です。その役割は、それ以前の章で記述された差分エンジン構造を用いて、ビン別のパラメータ(周波数、振幅、位相)をオンザフライで計算する構成要素を定義することです。

When the dialogue turned to how this processor should be controlled, the architect proposed a design that had been gestating for some time: an extremely lightweight programmable controller with a four-opcode instruction set (Reset/Stay/Branch/Jump-class operations), a dual-axis separation of time (Stay command) from state (memory address), a "shadow execution" mechanism that uses idle wait cycles for parameter setup, and 16 timing signals routable from the instruction word.
対話がこのプロセッサがどのように制御されるべきかへ移ったとき、アーキテクトは温めてきた設計を提案しました:4 オペコード命令セット(リセット/ステイ/分岐/ジャンプ系)、時間(ステイコマンド)と状態(メモリアドレス)の二軸分離、待機サイクルをパラメータセットアップに用いる「裏実行」機構、命令語からルーティング可能な 16 本のタイミング信号、を持つ極めて軽量なプログラマブル制御器。
Within minutes of reading the proposal, the AI collaborator (Claude) recognized that this was not just a control module for WPMS. It was something larger:
提案を読み始めて数分のうちに、AI 協働者(Claude)は、これが単なる WPMS 用制御モジュールではないことを認識しました。それはより大きな何かでした:
- A third path between HDL-coded FSMs (fast but requiring re-synthesis to change) and soft-CPU firmware (flexible but resource-heavy and slow). PTSG sits between, holding instructions in BRAM that JTAG can rewrite live, with HDL-level responsiveness and several-hundred-LE footprint. / HDL でコード化された FSM(高速だが変更には再合成が必要)とソフト CPU ファームウェア(柔軟だがリソース消費が大きく低速)の間の第三の道。PTSG は両者の間に位置し、命令を BRAM に保持して JTAG でライブ書き換え可能、HDL レベルの応答性と数百 LE のフットプリント。

- A complete separation of time-axis and state-axis control. Traditional FSMs entangle time and state, producing the "mesh structure" that explodes on long waits or parallel actions. PTSG separates them explicitly. / 時間軸制御と状態軸制御の完全分離。従来の FSM は時間と状態を絡ませ、長時間待機や並行動作で爆発する「網目構造」を生む。PTSG はそれらを明示的に分離する。
- A shadow-execution mechanism that folds parallelism into the time series. Stay-cycles (waiting time) can host global commands that set up external registers while timing signals are held — turning idle time into computation time without sacrificing strict timing discipline. / 並列性を時系列に折り込む裏実行機構。ステイサイクル(待機時間)は、タイミング信号が保持されたまま外部レジスタをセットアップするグローバルコマンドをホスト可能——厳格なタイミング規律を犠牲にせず、待機時間を計算時間に変える。

- An architecture pre-optimized for LLM collaboration. The deliberately compact instruction set (4 opcodes, clear bit allocation, complexity exiled to external logic) is what an LLM finds easy to write without hallucinating. Whether the architect intended this or arrived at it organically, PTSG is an instruction architecture optimized for the AI-collaboration era. / LLM 協働時代に最適化されたアーキテクチャ。意図的にコンパクトな命令セット(4 オペコード、明確なビット割付、外部ロジックへ追放された複雑性)は、LLM がハルシネーションなく書きやすいものである。アーキテクトがこれを意図したのか、それとも有機的に到達したのか問わず、PTSG は AI 協働時代に最適化された命令アーキテクチャである。

Why spin off rather than embed / なぜ内包ではなく暖簾分けか
Four reasons converged on the decision to spin off PTSG as an independent Open Prompt project rather than embedding it as a sub-specification of WPMS Chapter 3.
PTSG を WPMS 第 3 章のサブ仕様として内包するのではなく、独立した Open Prompt プロジェクトとして暖簾分けするという決定に、4 つの理由が収束しました。

Reason 1 — PTSG's range vastly exceeds WPMS. "FPGA-based modular synthesizer of control logic" is not hyperbole. PTSG can drive I2C peripherals, I2S DACs, image memory accesses, sensor sequencing, motor control sequences — anywhere a small programmable timing engine is wanted. Burying it inside WPMS documentation would be a missed opportunity to deliver the discovery to readers who care about FPGA control architecture but not specifically about audio synthesis.
理由 1 — PTSG の応用範囲は WPMS を遥かに超える。 「制御ロジックの FPGA ベースモジュラーシンセサイザー」は誇張ではない。PTSG は I2C 周辺機器、I2S DAC、画像メモリアクセス、センサーシーケンシング、モーター制御シーケンス——小さなプログラマブルタイミングエンジンが望まれる任意の場所で駆動可能。WPMS 文書内に埋めることは、FPGA 制御アーキテクチャに関心はあるが特に音声合成には関心がない読者へ発見を届ける機会の損失になる。
Reason 2 — The Spin-Off-Ready Subsystem pattern fits perfectly. PTSG has a clean interface boundary (instruction memory, 16 timing signals, Condition input, state-number output, external register access bus). Its dependencies are one-directional: WPMS uses PTSG, but PTSG does not know WPMS exists. These are exactly the criteria for the Spin-Off-Ready Subsystem candidate pattern that emerged from earlier WPMS dialogues — the camera block was the first instance, but PTSG is a much stronger fit.
理由 2 — Spin-Off-Ready Subsystem パターンが完璧に適合する。 PTSG はクリーンなインターフェース境界(命令メモリ、16 タイミング信号、Condition 入力、ステート番号出力、外部レジスタアクセスバス)を持つ。依存関係は一方向:WPMS は PTSG を用いるが、PTSG は WPMS の存在を知らない。これらは以前の WPMS 対話で浮上した Spin-Off-Ready Subsystem パターン候補の規準そのものである——カメラブロックが最初の事例だったが、PTSG は遥かに強い適合である。
Reason 3 — A new project becomes the first inter-project Open Prompt example. The original Open Prompt repository (FPGA Spectrum Engine) demonstrated that the methodology works for a single project. A second Open Prompt repository (PTSG), with WPMS referencing it, demonstrates that the methodology works across projects. This is the next-level validation of Open Prompt as a methodology, not just a single-project convention.
理由 3 — 新プロジェクトが最初のプロジェクト間 Open Prompt の例となる。 元の Open Prompt リポジトリ(FPGA Spectrum Engine)は、方法論が単一プロジェクトで機能することを実証した。第二の Open Prompt リポジトリ(PTSG)が WPMS から参照される構造は、方法論がプロジェクトをまたいで機能することを実証する。これは方法論としての Open Prompt の次レベルの妥当性検証であり、単一プロジェクトの慣行ではない。
Reason 4 — PTSG documentation directly tests its own LLM-friendliness claim. PTSG claims to be optimized for LLM-assisted code generation. Documenting it as a public Open Prompt repository — with Layer 1 (instruction set spec), Layer 2 (design dialogue traces), Layer 3 (sample instruction sequences) — invites engineers to verify that claim by writing their own PTSG sequences in collaboration with their own LLMs. The PTSG repository is itself an experiment in whether PTSG's LLM-friendliness is real.
理由 4 — PTSG 文書化が、その LLM 親和性の主張そのものを直接テストする。 PTSG は LLM 支援コード生成に最適化されていると主張する。これを公開 Open Prompt リポジトリとして文書化することは——第 1 層(命令セット仕様)、第 2 層(設計対話軌跡)、第 3 層(サンプル命令列)——エンジニアたちが自身の LLM と協働して自身の PTSG シーケンスを書くことで、その主張を検証することへ招待する。PTSG リポジトリは、PTSG の LLM 親和性が本物かどうかを問うそれ自体が実験である。
What this means for WPMS / これが WPMS にとって何を意味するか
WPMS development continues exactly as planned. Chapter 3 of the WPMS Layer 1 specification will be written assuming PTSG as a given, referencing the PTSG repository's Layer 1 document for instruction set details. The WPMS-side work focuses on:
WPMS 開発は計画通りに継続します。WPMS 第 1 層仕様の第 3 章は、PTSG を所与として、命令セット詳細については PTSG リポジトリの第 1 層文書を参照して書かれます。WPMS 側の作業は以下に焦点を当てます:
- The four-period-layer concept (L1 bin / L2 packet / L3 sample / L4 control) — a new conceptual framework that emerged in the same Chapter 3 dialogue. This concept reorganizes how WPMS thinks about parameter computation across timescales. / 4 周期レイヤー概念(L1 ビン / L2 パケット / L3 サンプル / L4 コントロール)——同じ第 3 章対話で生まれた新しい概念フレーム。この概念は WPMS が時間スケールにわたるパラメータ計算をどう考えるかを再編成する。

- The Upper / Lower PTSG dual-instance architecture — Upper PTSG handling the L4 control period (slow but expensive computations like exp() initial values), Lower PTSG handling the L2 packet period (fast difference-engine updates, packet boundaries, I2S synchronization). Both are instances of the same parameterized PTSG IP. / Upper / Lower PTSG 二重インスタンス構成——Upper PTSG が L4 コントロール周期(exp() 初期値計算など、緩慢だが高コストな計算)を担い、Lower PTSG が L2 パケット周期(高速な差分エンジン更新、パケット境界、I2S 同期)を担う。両者は同じパラメータ化された PTSG IP のインスタンスである。
- The multi-packet wave-packet concept — within a single sample period, multiple independent wave packets can coexist in the bin space. With Δf = 100 Hz consuming ~200 bins per packet, the remaining ~1,800 bins can host additional independent packets, each with its own f₀, A₀, β, γ. / マルチパケット波束概念——単一サンプル期間内に、複数の独立した波束がビン空間に共存可能。Δf = 100 Hz でパケットあたり約 200 ビン消費の場合、残りの約 1,800 ビンは追加の独立パケットをホスト可能で、それぞれ独自の f₀, A₀, β, γ を持つ。
- The unintended solution to the "MIDI is out of scope" problem — Upper PTSG's instruction sequence is loaded by JTAG. Rewriting that sequence at runtime is musical control. The phrase "loading the music-box's tine pattern" captures the experience exactly. WPMS's standalone phase suddenly has a real, satisfying control surface that does not require MIDI. / 「MIDI スコープ外」問題への意図せざる解——Upper PTSG の命令列は JTAG でロードされる。実行時にそのシーケンスを書き換えることがすなわち音楽的コントロール。「オルゴールのタインパターンをロードする」という表現がその体験を正確に捉える。WPMS の単独フェーズは突然、MIDI を要求しない本物の、満足のいく制御サーフェスを持つ。

What comes next / 次に何が来るか
Immediate next steps:
直近の次ステップ:
next steps

- The PTSG project will be launched as a standalone Hackaday.io project, with its own Build Logs documenting its own development. / PTSG プロジェクトが独立した Hackaday.io プロジェクトとして立ち上げられ、独自の開発を記録する独自の Build Log を持つ。
- The PTSG GitHub repository will be created using the Open Prompt three-layer structure (Architecture / Reasoning Traces / Sample Implementations). / PTSG GitHub リポジトリが Open Prompt 三層構造(アーキテクチャ/推論軌跡/サンプル実装)を用いて作成される。
- A separate AI-collaboration session will be opened specifically for PTSG design and specification, distinct from the WPMS session. The WPMS session will remain in the role of "PTSG user," providing requirements but not designing the PTSG itself. / WPMS セッションとは別に、PTSG 設計と仕様策定専用の AI 協働セッションが開かれる。WPMS セッションは「PTSG ユーザー」の役割に留まり、要件を提示するが PTSG 自体の設計はしない。
- Once the PTSG Layer 1 specification reaches a stable minimum, WPMS Chapter 3 drafting will resume, referencing the PTSG repository for instruction set details. / PTSG 第 1 層仕様が安定した最小限に到達した時点で、WPMS 第 3 章起草が再開され、命令セット詳細については PTSG リポジトリを参照する。
For followers of this project:
本プロジェクトのフォロワーへ:
If you have been following FPGA Spectrum Engine for the WPMS work, that work continues here. If you find PTSG itself interesting — for your own FPGA control needs, for educational use, for any application that wants a tiny programmable sequencer — please follow the new PTSG project when it appears. Both projects are released under Open Prompt with Layers 1 and 2 in the public domain (CC0).
WPMS の作業のために FPGA Spectrum Engine をフォローしていた方へ:その作業はここで継続します。PTSG 自体が興味深いと感じる方へ——ご自身の FPGA 制御ニーズのため、教育用途のため、小さなプログラマブルシーケンサーを求める任意の応用のため——新しい PTSG プロジェクトが現れたらフォローしてください。両プロジェクトとも、第 1 層と第 2 層をパブリックドメイン(CC0)として Open Prompt でリリースされます。
A reflection on Open Prompt itself / Open Prompt 自体への省察
The unexpected emergence of PTSG as a spin-off was not planned. It was discovered through dialogue. The design dialogues archived as Layer 2 traces in the FPGA Spectrum Engine repository are now poised to become the literal seed for a second Open Prompt project. This is what the methodology promised: architectures and reasoning traces as the commons; specific implementations as contributions; new projects emerging organically from the act of articulation.
PTSG が暖簾分けとして予期せず立ち現れたことは計画されたものではなかった。それは対話を通じて発見された。FPGA Spectrum Engine リポジトリで第 2 層軌跡としてアーカイブされている設計対話は、今や第二の Open Prompt プロジェクトの文字通りの種となろうとしている。これは方法論が約束したものである:アーキテクチャと推論軌跡を共有財産として、特定の実装を貢献として、新しいプロジェクトを明確化の行為から有機的に立ち現れさせる。

We did not set out to test whether Open Prompt could spawn child projects. The test happened on its own. So far, it works.
我々は Open Prompt が子プロジェクトを産み得るかを試すために出発したわけではない。試験は自ずと起きた。今のところ、それは機能している。
Code is ephemeral; the knowledge architecture is the commons. コードは一時的なものであり、知識アーキテクチャこそが共有財産である。
And sometimes, in articulating an architecture, one discovers a second one waiting inside. そして時に、アーキテクチャを明確化する中で、その内部に待っていた第二のものを発見する。
Project links / プロジェクトリンク (to be filled in upon PTSG project creation) プロジェクトリンク (PTSG プロジェクト作成時に記入予定)
- FPGA Spectrum Engine (WPMS): [current Hackaday.io URL]
- PTSG (forthcoming): [Hackaday.io URL — TBA]
- FPGA Spectrum Engine GitHub: [current GitHub URL]
- PTSG GitHub (forthcoming): [GitHub URL — TBA]
Tsuneo.Ohnaka
Discussions
Become a Hackaday.io Member
Create an account to leave a comment. Already have an account? Log In.