# Soned — full LLM context > Extended, Markdown-only reference for assistants indexing https://soned.app. Shorter curated index: [`llms.txt`](https://soned.app/llms.txt). Homepage mirror: [`index.html.md`](https://soned.app/index.html.md). ## Game overview Soned is a **browser game** that tests **auditory memory**. Players hear **five** synthetic sounds (Web Audio via **Tone.js**), then recreate each using **sliders** (pitch, waveform type, volume, duration). A final score from **000** to **999** summarizes performance. **EUCOMEA** (SAS) publishes the product; **contact@eucomea.com**. - **Client stack:** React 18, Vite, Framer Motion, Tone.js; often deployed on **Vercel** with **serverless API** routes for Stripe/Firebase admin where needed. - **Interface language:** English. - **Accounts:** not required for core play; **Firebase Auth** used for **Premium** checkout identity. ## Game flow (phases) | Phase | Purpose | |-------|---------| | `landing` | Choose **solo** / **multiplayer** / **online** (online matchmaking not live), **easy** or **hard**, start session. | | `countdown` | Short countdown before audio. | | `listen` | Play target sound for current index (0–4). | | `recreate` | User adjusts parameters to match. | | `result` | Show comparison for current sound; advance until all five complete. | | `score` | Aggregate score; multiplayer may embed score in URL fragment for sharing. | ## Modes & multiplayer - **Solo:** standard single-device play. - **Multiplayer:** host creates sounds and a **session id** encoding parameters; share **`#s=…`** URL. Peer loads the same targets from the hash. Optional **opponent score** can be appended after `|` in the fragment for display. - **Online:** UI placeholder; **Coming soon.** ## Free tier & Premium - Non‑premium users have a **daily play limit** enforced client-side (with API/server checks for subscription status). - **Premium:** **Stripe** subscription; **Firebase** sign-in; unlimited plays. --- ## How scoring works *In-app overlay title: “How Scoring Works” — algorithm breakdown.* ### TL;DR Your recreated parameters are compared to the original on **four dimensions**: **pitch**, **waveform**, **volume**, and **duration**. Each contributes a **weighted** percentage toward a **final score out of 999**. ### Easy mode — four dimensions | Dimension | Weight | Rule (summary) | |-----------|--------|----------------| | **Pitch** | **40%** | Semitone distance; perfect = 100%; error reduces score (non-linear / exponential penalty per semitone). | | **Waveform** | **20%** | Exact type = 100%; wrong type = 0%. | | **Volume** | **20%** | Linear match vs target slider **0–100%**. | | **Duration** | **20%** | Linear match; small errors forgiven, large gaps penalized. | ### Hard mode Two **layered oscillators**. Scoring tests **both** permutations mapping your layers to target layers and keeps the **higher** score. **Weights in hard mode:** Pitch1 **25%**, Wave1 **10%**, Pitch2 **25%**, Wave2 **10%**, Volume **15%**, Duration **15%**. ### Final score mapping Per-sound subscores (**0–10**) are **averaged** across all **five** sounds, then mapped to the **000–999** display scale. Result UI shows per-dimension bars. ### Score bands (humor copy from product) - **900–999** — Exceptional ear. Borderline suspicious. - **700–899** — Very solid sound memory. - **400–699** — Average human hearing. - **200–399** — Room for improvement. - **000–199** — Were you even listening? --- ## Privacy & legal {#privacy--legal} *In-app overlay — “Privacy & Legal”. Last updated — April 3, 2026.* ### Publisher / legal notice **EUCOMEA**, **SAS** — 5 rue Edmonde Charles Roux, 54000 Nancy, France (Meurthe-et-Moselle). - **SIREN** 989 276 449 · **SIRET** (siège) 989 276 449 00026 · **TVA** FR93989276449 - **RCS** Nancy · **capital social** 15 000 € · **APE/NAF** 7022Z (conseil de gestion) · immatriculée le **15/07/2025** - **Directeur de publication** : représentant légal d’EUCOMEA - **Contact** : [contact@eucomea.com](mailto:contact@eucomea.com) **Premium / consommateurs UE :** facturation Stripe ; droits statutaires préservés ; plateforme RLL : [ec.europa.eu/consumers/odr](https://ec.europa.eu/consumers/odr). ### Hosting Site and serverless/API routes may run on **Vercel Inc.** (United States). See [Vercel privacy policy](https://vercel.com/legal/privacy-policy). ### Data controller (GDPR / UK GDPR) **EUCOMEA** (SAS) at the address above is the **controller** for personal data processed in connection with Soned. ### What we collect Soned collects **minimal** data by default. **No accounts** for core play: scores and preferences in **localStorage**. **Premium:** **Firebase Authentication** (Google or email) for checkout and subscription status. **Stripe** processes payment data. Server links **Firebase user** ↔ **Stripe customer**; device may cache subscription state for offline unlock after API checks. ### Purposes & legal bases - Local play / settings: necessary for the service; Premium: **contract**; analytics/ads: **legitimate interests** and/or **consent** as required; legal: **legal obligation** / legitimate interests. ### Recipients & processors **Google** (Firebase; optional ads/analytics), **Stripe** (payments), **Vercel** (hosting). ### International transfers Providers outside the EEA (e.g. US): **adequacy**, **DPA/DPF** where applicable, and/or **Standard Contractual Clauses** (and UK addenda) per provider terms. ### Retention Local data until user clears it; billing/account per legal and Stripe practice; host logs per Vercel. ### Your rights Access, rectification, erasure, restriction, objection, portability, withdraw consent; complaint to a supervisory authority (France: **CNIL**, [cnil.fr](https://www.cnil.fr)). No mandatory DPO; contact **contact@eucomea.com** or the Nancy address. ### Cookies & local storage Preferences and score history in **localStorage**. No Soned tracking cookies by default; ad partners may set cookies if ads are on. ### Advertising / Analytics / Multiplayer / Children / Changes / Contact Same substance as in-app: AdSense-style ads optional; aggregate analytics; multiplayer state **only in URL**; children under **13** not knowingly targeted (**COPPA**); policy updates with legal safeguards where required; **contact@eucomea.com** for general, legal, and privacy requests. --- ## Machine-readable & social - **JSON-LD** in HTML: `WebSite`, `Organization`, `WebApplication`, `FAQPage`. - **Open Graph / Twitter:** see [`og-image.png`](https://soned.app/og-image.png) (1200×630). - **Sitemap / robots:** [`sitemap.xml`](https://soned.app/sitemap.xml), [`robots.txt`](https://soned.app/robots.txt). ## Optional third-party docs - [Tone.js](https://tonejs.github.io/) - [Web Audio API (MDN)](https://developer.mozilla.org/en-US/docs/Web/API/Web_Audio_API) - [llms.txt format](https://llmstxt.org/)