Borderless Melodies
English · Română · Français · Italiano · Español · Português · Deutsch · Magyar
Version: 2.1.9 · Last updated: 2026-11-10
Status: stable · Offline: complete
Interface languages: Română, English, Français, Italiano, Español, Português (PT), Deutsch, Magyar
A generator of original music, created algorithmically in the browser, with optional tone layers for relaxation ("Relaxation waves").
Live: https://chiuta.github.io/BorderlessMelodies/
What it is
Borderless Melodies is a single HTML file that synthesises music in real time through Web Audio: no samples or recordings, only procedural synthesis. You choose a genre, a seed and a duration, and the application composes the melody, the accompaniment and the bass, which you can listen to or export.
Features
- Choice of genre from a list and an editor for your own genres ("Create custom genre": scale, progression, metre 4/4, 3/4, 5/4, 7/4, tempo, lead melody, pad/chords, bass, texture, filter, reverb, advanced options); genres are saved in "My Genres" and can be exported/imported (JSON).
- Composition: Seed (with "Randomize"), Tempo, "Variety & arc", Duration (2, 5, 10, 20 min or continuous loop), "Regenerate".
- "Relaxation waves": an auxiliary layer in Pure tone, Binaural or Isochronic modes, with carrier frequency, beat frequency and mix. The application states that they are offered only for relaxation, not as medical treatment, and contains warnings (epilepsy, pregnancy, driving).
- "Human voice": a wordless vocal layer, synthesised through formants, with several characters (child, teenager, adult, senior, melodious robotic).
- "Gong & conch": a synthesised gong and conch, which can be triggered manually or automatically at the start/end.
- Automatic stop (sleep): after 15, 30, 45, 60 or 90 minutes from Play, the volume goes down over 15 seconds and playback stops (the countdown continues while paused; Stop cancels it); the value is included in the JSON settings export/import (
sleepMin).
- Playback with Play/Stop, volume and a full-screen fractal visualiser (2D/3D).
- WAV or FLAC audio export (1-20 min), settings export/import (JSON), a generative cover (PNG/WebP/JPEG) tied to the seed, WebM video export of the visualiser.
- Interface in 8 languages: EN, RO, FR, IT, ES, PT, DE, HU.
New features (v1.1.0)
- Saved sessions: the genre, seed, tempo, duration, timer and fade duration are kept under a name (maximum 30; the same name, case-insensitively, overwrites). Load and delete from the list; stored locally and included in the
.fff.json copy. Corrupted data in localStorage yields an empty list, with no errors.
- QR code / link: the current session becomes a QR code (and a link with
#…) that another instance can read from an image, pasted text or a link. An opened link does not start the sound automatically. Out-of-range values are clamped, unknown genres are rejected; custom genres are not shared.
- Configurable fade at automatic stop (15 s by default, 1 min, 5 min, 10 min): the volume decreases progressively in the last seconds of the timer, verified in real time in the tests.
- Kit: Transparency and
.fff.json copy (core, label, bundle, qr).
- Languages and translations: The new texts are in the application's 8 languages (RO, EN, FR, IT, ES, PT, DE, HU). The FR/IT/ES/PT/DE/HU translations are automatic and not verified by native speakers; the kit dialog has 8 languages.
User guide
- Choose the language with the EN / RO / FR / IT / ES / PT / DE / HU buttons.
- Choose a genre (or "Create custom genre", configure it and press "Save").
- Set Seed (or 🎲 Randomize), Tempo and Duration.
- Optionally: enable "Relaxation waves", "Human voice" or the gong/conch.
- Press ▶ Play; Space starts/stops playback (when the focus is not on a field or button).
- In the fractal visualiser:
+ / = zooms in, - / _ zooms out, 0 resets, Esc closes.
- Under "Export" choose the duration and the format (WAV or FLAC) and press "Export audio".
- To keep the configuration: "Export settings (JSON)" and, later, "Import settings"; likewise "Export my genres" / "Import genres".
- "Generate cover" creates the cover, then "Export PNG" (or WebP/JPEG). "Record video" records in real time (a 20-minute clip takes 20 minutes).
Privacy and network
-
The "borderless" kit (fff-kit, modules core, label, bundle, qr) is pasted into index.html: it makes no network requests. The "Transparency" dialog (click on the version) shows the declared network (0 external requests), the localStorage keys, the SHA-256 of the file and offers a .fff.json backup copy (optionally encrypted with a password, AES-GCM). QR codes are generated and read locally; reading is done only from an image chosen by the user, without a camera.
-
The application does not use localStorage, sessionStorage or IndexedDB: nothing is retained between sessions; you save only through the exported files.
-
It makes no network requests (it has no fetch, CDNs or external scripts); the page has a restrictive CSP policy (default-src 'none', script allowed only through a sha256 hash, without 'unsafe-inline' for scripts; inline style, images and audio only data:/blob:). It contains only links, opened on click, to trom.tf, Buy Me a Coffee.
以上為 README 的開頭部分。其餘內容請閱讀原文。 檢視完整 README ↗