Product vision

Tune.Toys lets developers, musicians, curious users and agents create and distribute playable software. It begins with audio instruments and effects and keeps a foundation for logi

Tune.Toys lets developers, musicians, curious users and agents create and distribute playable software. It begins with audio instruments and effects and keeps a foundation for logic applications, sensing, education, creative tools and connected systems as their runtimes are qualified.

The creative loop#

%%{init: {'theme': 'base', 'themeVariables': {'primaryColor': '#FAFAF7', 'primaryTextColor': '#1C1C1B', 'primaryBorderColor': '#1C1C1B', 'lineColor': '#64645F', 'fontFamily': 'DM Sans, Inter, system-ui, sans-serif'}}}%%
flowchart LR
  START([Start from a Toy]) --> INSPECT[Inspect or prompt] --> EDIT[Edit graph and Frame] --> PLAY[Play] --> SAVE[Save] --> PUBLISH[Publish] --> SHARE[Share]
  SHARE --> FORK[Fork] -.-> START
  SHARE --> INSTALL[Install in a DAW]

  classDef make fill:#DCEBDD,stroke:#1C1C1B,color:#1C1C1B
  classDef play fill:#F0442E,stroke:#1C1C1B,color:#FAFAF7
  classDef share fill:#DED8F0,stroke:#1C1C1B,color:#1C1C1B
  class START,INSPECT,EDIT make
  class PLAY play
  class SAVE,PUBLISH,SHARE,FORK,INSTALL share

A recipient reaches a playable web experience from a link. A musician bookmarks it and finds it in TuneToys Player inside a DAW. A developer ships a separate plugin with its own identity and branding. A plugin company could eventually run its catalog, licensing, updates and distribution on the platform.

Vocabulary#

TermMeaning
ToyThe portable authored creation; can be a component or complete application
PatchFamiliar editor/community term for a Toy graph, not a separate file model
Definition / groupReusable implementation with typed ports and public parameters
InstanceOne use of a definition with independent values, DSP state, and observations
FrameExplicit playable UI bound to one definition in an instance context
ProjectEditable Toy source and working assets/history
ReleaseImmutable resolved content plus evidence and distribution terms
Catalog entryMutable title/discovery/visibility metadata pointing to releases
LibraryA user's bookmarks, tags, ratings, acquisitions, and installed/cached releases
PlayerTuneToys plugin/application that loads Toys; not a general third-party plugin host
Independent pluginA compiled Toy exported under its own persistent plugin identity

A Toy inside a Toy uses the same composition system as an ordinary reusable group. Reusing a definition shares immutable code and assets; each instance keeps its own runtime state. Forking creates a new project identity and preserves provenance. Remodeling an interface never silently changes the processing graph. The contracts behind these terms are the Toy source format and releases.

Example journeys#

A maker builds a stereo effect, asks an agent to expose a useful macro and create a three-knob Frame, auditions the proposal and shares a link. A recipient plays it, bookmarks it and opens the same release in the Player. Reopening the DAW project without internet restores the same sound.

Later, a developer creates a face-controlled synth. Camera inference produces bounded control data outside the audio callback. The web export requests camera access; a native plugin declares whether camera control is available and provides a fallback. A Frame can instead control a separately running host through an authenticated session. Local execution and remote control are explicit modes.

Durable principles#

  • One authored model connects behavior, public controls, Frames, assets, presets and provenance.
  • Humans and agents use the same authoring API.
  • The audio engine runs without an open editor, an active account connection or a live model.
  • Published source and remix access follow declared terms; private work stays private across dependencies, previews and builds.

The long-term target set is web hosting and self-hosted static sites, Player, independent VST3/AU plugins, Electron desktop apps, browser extensions, mobile apps and eventually firmware. Each target earns support through implementation and tests. Being expressible as JSON does not make a Toy portable to every host.

Edit this page on GitHub

esc

↑ ↓ move↩ open⌘↩ new tabesc close