Envion Dynatext

Algorithmic Dynatext Envelope Sequencer for Pure Data (Pd) — 2025 · by Emiliano Pennisi

NET-AUDIO (Web Random Loader)

NET-AUDIO is an Envion submodule that fetches a set of random audio atoms from the web and feeds them to Envion’s envelope engine. The outcome is procedural, non-deterministic sound: source comes from the network, articulation from your Dynatext ternary envelopes.

Web-first sampling ethos

NET-AUDIO embraces a simple idea: download without foreknowledge. Instead of curating a local library, Envion requests sound from the web and lets your Dynatext envelopes decide how it behaves. The material is contingent and ephemeral; the articulation is yours.

Under the hood, Python queries stitch together direct audio URLs from freesound.org and Internet Archive, producing lightweight lists that Envion streams on demand. No hoarding, no folders to maintain — just fresh atoms on every run.

  • Serendipity over selection: let constraints and envelopes sculpt chance.
  • Always-now sourcing: URLs, not files — zero local baggage.
  • Procedural by design: repeatable logic, irreproducible content.
freesound.org logo Internet Archive logo
Lightweight URL lists generated via Python queries to freesound.org and Internet Archive.
No local downloads by default. Envion reads and streams URLs on the fly. If you ever need to keep a sound (attention — not a combination of articulations, I’ll explain it below), open the list and save a link manually.

How the NET-SOUND core works

NET-SOUND follows a deliberate two-layer design: the network layer runs outside Pure Data and assembles lightweight lists of direct audio URLs; the DSP core inside Envion remains a pure Pd environment that only reads and articulates those sources.

By keeping HTTP and file fetching out of Pd, the engine stays stable and portable: no SSL or redirect issues, no URL parsing inside patches, and no remote-stream quirks with loaders. The result is broader compatibility (PlugData, older macOS, even offline with pre-made lists) and zero setup for users — they can drop in a ready list and play.

Separation of concerns = robustness
The network produces material; Envion’s envelopes (Dynatext triplets) produce articulation.

Separation of concerns = robustness

The network produces material; Envion’s envelopes (Dynatext triplets) produce articulation.

By design, Envion keeps source and gesture apart: the web delivers contingent audio atoms, while Dynatext triplets, dual-channel interleaving, and modulation create the phrasing. This separation makes the system resilient and portable — but it also means the exact constellation you hear at any given moment is the product of many moving parts (randomized picks, stereo pairing, envelope timing, micro-collisions).

Be ready to record.
Because samples lock into each other across the dual channel and are articulated by evolving triplets and modulations, returning to the same sound result is practically impossible. Treat Envion like a camera: keep it armed, and capture the moment the instant something resonates with you.

This mirrors ecosystems like SuperCollider Quarks or FluCoMa datasets: content is sourced or prepared externally, while the sound environment focuses on timing, dynamics, and form.

Important — Files are not stored locally
NET-AUDIO streams all sounds directly from the web and does not download them into your Envion folders. The netsound/ directory only contains lightweight text lists with the streaming URLs — no audio files are saved on disk.

⚠️ Note: Some retrieved sounds may be subject to copyright — use for educational or non-commercial purposes only.

If you want to save a sound locally:
  • Open the latest list (e.g. envion_random_raw_00X.txt) and copy any URL (without the trailing ;).
  • Paste it in your browser or use a terminal command such as:
    curl -L https://cdn.freesound.org/previews/629/629301_13885154-hq.mp3 -o ~/Desktop/sound.mp3
  • Then rename and organize the file as you prefer.

Patch behavior
Sounds loaded from NET-AUDIO automatically inherit the current Envion patch characteristics — including dynamics, envelopes, modulation depth, and the last loaded preset. For percussive material fetched from netsound, it’s recommended to lower the stretch parameter (see the Stretch section of this guide) to preserve the transient articulation.

As a starting point, try the ÆTCHR preset — inspired by Autechre — optimized for short, dense, and highly articulated percussive textures.

ÆTCHR — Example preset built on NET-AUDIO material

ÆTCHR is a procedural preset designed within Envion, inspired by Autechre’s complex rhythmic logic and dynamic articulation. All sound sources in this example were randomly fetched via NET-AUDIO — eight percussive fragments retrieved directly from freesound.org through the netsound stream.

Each sample inherits the parameters of the current patch and is reshaped by Dynatext envelopes. The result is a dense, granular rhythm that remains entirely generative and unpredictable — no samples are stored locally, all are streamed in real time from the network.

Tip: to achieve similar results, load a recent NET-AUDIO list, reduce the stretch parameter (see the Stretch section), and start from the ÆTCHR preset.

ÆTCHR preset in action — procedural percussive composition using sounds randomly fetched from NET-AUDIO.
Visit Envion Main Page
Current mode (simple & focused)
Expanded mode (exploratory & open) NET-AUDIO now includes ready-made URL lists sourced from Internet Archive, Freesound, and BBC Sound Effects. You can start exploring these lists right away — each one opens a different window into the network’s sonic matter. run → get 8 → play.
NET-AUDIO UI
NET-AUDIO user interface.

Why it matters

  • Two-layer randomness: remote content × local gesture (Dynatext triplets).
  • Always fresh: each run yields a new 8-slot drum palette.
  • Eight slots: those 8 links map to buttons 18 in the module.

As query control lands, you’ll be able to request more results and different categories.

Wrapper Interface

The NET-SOUND GUI module automatically loads eight random sounds from the web directly into Envion. The eight numeric buttons (1–8) in the GUI trigger the simultaneous loading of all eight slots across both arrays (LEFT and RIGHT), generating a new random combination from the current netsound list each time.

In the DUAL CHANNELS section, you can load three ultra-stereo pairs, each made of two different sounds per channel (LEFT and RIGHT), selected from the most recently loaded list. This allows for hard-panned configurations and wide, dynamic stereo landscapes.

Preloaded lists
Inside the netsound/ folder, multiple ready-to-use progressive lists are already included, named as: envion_random_raw_XX.txt (e.g. envion_random_raw_001.txt, envion_random_raw_002.txt, …).

Generate a new list (macOS)

  1. Open the main Envion folder (the one that contains everything and the netsound/ subfolder).
  2. In Finder: right-click the folder → ServicesNew Terminal at Folder.
  3. Run the included script. It will automatically fetch 8 valid drum URLs and save them as a new progressive file in netsound/.
Preloaded NET-AUDIO lists
For convenience, the netsound/ folder already contains four generations of random lists previously generated through the NET-AUDIO script. Each generation automatically produces a new file with a progressive name:

envion_random_raw_001.txt
envion_random_raw_002.txt
envion_random_raw_003.txt
envion_random_raw_004.txt
This structure allows you to easily compare different random sets or recall previous generations without overwriting earlier results.
What you’ll see
The Terminal prints a short log while it searches. Messages like “no valid URL” are normal — the tool skips non-audio responses and keeps going until it collects the 8 valid links.
[OK 1/8] https://cdn.freesound.org/previews/423/423519_7704891-hq.mp3
[SKIP]   no valid URL
[OK 2/8] https://cdn.freesound.org/previews/266/266764_2278554-hq.mp3
...
[OK 8/8] https://cdn.freesound.org/previews/239/239087_4313171-hq.mp3
Saved: netsound/envion_random_raw_00X.txt
Output files
Each run creates one new file with a progressive name under netsound/, e.g.:
netsound/envion_random_raw_001.txt
netsound/envion_random_raw_002.txt
If you delete all of them, the sequence restarts from 001.

List format

Each line is a direct audio link ending with a semicolon (Pd-friendly):

https://cdn.freesound.org/previews/239/239087_4313171-hq.mp3;
https://cdn.freesound.org/previews/423/423519_7704891-hq.mp3;
https://cdn.freesound.org/previews/266/266764_2278554-hq.mp3;

Any format supported by Pd/PlugData works (mp3, wav, aif, ogg, ...).

Load the list in NET-AUDIO~

  1. Open Envion and go to the NET-AUDIO~ module.
  2. Press Open (or your UI’s Click) and select the newest file in netsound/, e.g. envion_random_raw_00X.txt.
  3. The abstraction reads the text (text define -k) and loads each URL into sfload L/R.
  4. Use buttons 18 to audition the 8 slots; pair with your Dynatext envelopes for articulation.
StepWhat happens
1 — OpenThe list is parsed; empty or commented lines are ignored.
2 — BufferEach URL is downloaded and assigned to the stereo buffers.
3 — MapThe 8 entries are mapped to keys/buttons 1–8.
4 — PlayDynatext triplets procedurally articulate the material.

Procedural power: Dynatext × Web

FAQ & Troubleshooting

Why Internet Archive can return “odd” results (vs. Freesound)

TL;DR Internet Archive is a general-purpose media library. Searches match textual metadata (title, description, subjects), not the audio content itself. That means a query like click can hit sermons, lectures, or music tracks that merely mention the word “click” in their text.

What’s different from Freesound?

  • Scope: Internet Archive hosts everything (talks, radio, music, archives). Freesound is sound-only and creator-curated.
  • Metadata quality: IA metadata is heterogeneous and community-contributed; Freesound enforces structured tags (type, source, category, duration, etc.).
  • Search semantics: IA matches keywords in text fields; Freesound’s taxonomy and tags are optimized for audio phenomena (e.g., “click”, “drip”, “switch”).
  • Durations: IA items may be long (talks, broadcasts) even if a “click” is mentioned; Freesound entries usually describe the actual sound event.

Practical tips for NET-AUDIO lists

  • Add negative terms to avoid false positives (sermons/lectures): --exclude "sermon,lecture,preach,koran,islam,church,jesus,allah,mosque,religion"
  • Prefer short durations for micro-events: --max-dur 4 or --max-dur 6.
  • Be broad with queries but specific with exclusions: --q "(click OR tap OR tick OR button OR switch OR keypress)"
  • Don’t over-filter subjects: many IA items lack consistent “subjects”, so omitting --include-subjects can increase recall.
  • Use curated collections when possible (e.g., BBC SFX), but keep in mind metadata still varies across sets.

Bottom line: IA excels at breadth, but its keyword-based metadata can be noisy. Freesound is narrower, but its tagging makes it more precise for “sound event” searches. Combining both yields the best lowercase-oriented results.