Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 11 additions & 0 deletions .env.example
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,17 @@ GERM_STABILITY_POLL_SECONDS=10
GERM_OIDA_URL=http://127.0.0.1:8765
GERM_OIDA_TIMEOUT_SECONDS=1800

# Optional local Cosmoaudition System bridge. Germ accepts only an HTTP
# loopback URL and never contacts astronomical, geological, weather, or other
# observatory providers itself.
GERM_COSMOAUDITION_URL=http://127.0.0.1:8797
GERM_COSMOAUDITION_TIMEOUT_SECONDS=20
GERM_COSMOAUDITION_MAX_RESPONSE_BYTES=2097152

# Write optional MASA 0.1 interoperability sidecars beside Germ's canonical
# lineage metadata. Set to 0 to disable without changing generation behavior.
GERM_MASA_SIDECARS=1

# Dev conveniences read by the launch scripts (not by the server itself):
# GERM_RELOAD=1 makes launch_germ.command start uvicorn with --reload.
GERM_RELOAD=0
14 changes: 14 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,19 @@
# Changelog

## 0.3.0 — Cosmoaudition, Matter Analysis, and audio reliability

- Added the loopback-only Cosmoaudition bridge, explicit observation mappings,
archives, module palette, Matter Analysis, and optional MASA 0.1 sidecars.
- Kept unavailable, errored, stale, and zero-valued observations distinct;
missing Mapping Loom inputs now execute their declared policy without a
fabricated neutral value.
- Streamed bounded spectral aggregation with cached FFT windows, validated
Matter lineage shapes, and exposed the final MASA companion state in API and
dashboard results.
- Flushed queued AudioWorklet PCM before recorder shutdown, preserved explicit
zero-gain wavetable previews, removed confirmed dead dashboard helpers, and
expanded backend, audio, and browser regression coverage.

## 0.2.5 — Backend integrity and integration hardening

- Hardened request, persisted JSON, path, upload, WAV, and provider artifact
Expand Down
4 changes: 2 additions & 2 deletions CITATION.cff
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@ authors:
- family-names: "Isaza"
given-names: "eme"
affiliation: "Sonic Field Labs"
version: "0.2.5"
date-released: "2026-07-16"
version: "0.3.0"
date-released: "2026-07-31"
license: "MPL-2.0"
repository-code: "https://github.com/sonicfieldlabs/germ"
abstract: "germ is a local generative microsound environment whose generated sounds retain prompts, parents, mutations, listening metadata, and Earworm-compatible lineage."
Expand Down
34 changes: 32 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ listened to, and traced through lineage. A listening from Oída can become a
prompt or source in GERM; a successful render can become a descendant in
Akousmata and return to Oída for another listening.

Current release: `0.2.5`.
Current release: `0.3.0`.

GERM is an independent Sonic Field Labs project. It can use Stable Audio 3
providers, but it is not an official Stability AI product.
Expand Down Expand Up @@ -42,6 +42,11 @@ checks but not a creative quality demonstration.
Apple Silicon MLX, or opt-in Stability API providers.
- Build a modular graph across grains, cells, swarms, tissues, controls,
effects, and a realtime Chamber.
- Use local Cosmoaudition observations as attributed modulation and event
material through explicit mappings, archives, and missing-data policies.
- Measure spectral, temporal, spatial, and morphological properties with
Matter Analysis while keeping measurements, inference, and unavailable
states distinct.
- Graft, inpaint, continue, compare, mutate, record, and collect sound while
retaining prompts, seeds, models, parameters, parents, and operations.
- Import an Oída listening as sound, prompt, or lineage and ask Oída to listen
Expand Down Expand Up @@ -90,6 +95,11 @@ promising one universal hardware minimum.
- Micro/Matter modules for grains, cells, swarms, membranes, spectral tissue,
quanta, microscope analysis, saved matter profiles, biomes, and incubated
evolution.
- A separate Cosmoaudition module category with cosmic, Earth, biosphere,
human-machine, relational, event, semantic, uncertainty, archive, mapping,
and matter-processing modules.
- Optional MASA 0.1 sidecars for successful generations and Matter Analysis
artifacts. Sonic Lineage `sound_id` remains GERM's canonical identity.
- Wavetable Forge conversion, prompt, mutation, render, import/export, and
audition routes.
- LoRA loading and a persistent Strain registry for adapter identity,
Expand All @@ -112,6 +122,22 @@ promising one universal hardware minimum.
All three scales use the same module graph, semantic FX bridge, sessions,
library, and lineage model.

## Sonic Matter Observatory integration

GERM keeps the Observatory components distinct while making their contracts
usable inside the cultivation graph:

| Component | Boundary in GERM |
| --- | --- |
| MASA 0.1 | Optional descriptive JSON sidecars under `output/masa/`; never replaces Sonic Lineage or changes a successful render into a failure. |
| MATERIA | Matter Analysis provides a bounded local analyzer informed by the shared measured / inferred / unavailable distinction; it is not a claim of listening. |
| Cosmoaudition System | A loopback-only, response-bounded HTTP bridge reads snapshots and source status. GERM never contacts observatory providers directly. |

Cosmoaudition mappings are operator-authored control relations. They do not
claim that a dataset is the literal voice or identity of a source. Missing or
unfetched observations do not silently become zero or a neutral modulation;
the route remains inactive until its state is explicit.

## Listening Stack integration

**Oída hears. GERM cultivates. Akousmata remembers. AKOÚŌ structures. Earworm
Expand Down Expand Up @@ -211,7 +237,8 @@ The complete request and response contract is in
| Models | `/models`, `/models/load`, `/diagnostics`, `/huggingface/status` |
| Listening | `/listener/enhance`, `/listener/score`, `/listener/relisten` |
| Memory | `/earworm/export`, `/import`, `/akousma/*` |
| Micro/Matter | `/micro/matter-profile`, `/micro/biomes/*` |
| Micro/Matter | `/micro/matter-profile`, `/matter/analyze`, `/micro/matter-analysis`, `/micro/biomes/*` |
| Cosmoaudition | `/cosmoaudition/status`, `/cosmoaudition/modules`, `/cosmoaudition/sources`, `/cosmoaudition/snapshot`, `/cosmoaudition/map`, `/cosmoaudition/archives/*` |
| Strains | `/strains/*`, `/lora/load`, `/lora/strength` |
| Wavetables | `/wavetables/*` |
| Control | `/control/*` |
Expand Down Expand Up @@ -269,6 +296,9 @@ curl -X POST http://127.0.0.1:5178/generate \
derived material to their provider. The default mock route stays local.
- GERM performs bounded signal checks but does not replace Oída's listening and
claim-accountability layer.
- Cosmoaudition live data requires the separate local Cosmoaudition System;
fixture mode and archived observations remain available without granting
GERM direct provider access.

The [roadmap](ROADMAP.md) identifies current research priorities and non-goals.

Expand Down
2 changes: 1 addition & 1 deletion ROADMAP.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# GERM Roadmap

GERM 0.2.5 is a public alpha and open research release. This roadmap names the
GERM 0.3.0 is a public alpha and open research release. This roadmap names the
work in view without promising dates or production stability.

## Working Now
Expand Down
4 changes: 2 additions & 2 deletions apps/macos/script/build_and_run.sh
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,8 @@ APP_NAME="germ"
EXECUTABLE_NAME="germ-macos"
BUNDLE_ID="org.sonicfield.germ"
MIN_SYSTEM_VERSION="13.0"
MARKETING_VERSION="0.2.5"
BUNDLE_VERSION="2"
MARKETING_VERSION="0.3.0"
BUNDLE_VERSION="3"

ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
# Keep the runnable bundle where repository users expect to find apps. The
Expand Down
Loading
Loading