User manual for the listen-to-match memory game.
Sound Memory is a twist on the classic memory card game: instead of matching cards by what you see, you match them by what you hear. Tap a face-down card and a word is spoken aloud — in German, English, French, or Spanish, depending on the category and language. Tap a second card to compare. Find a matching pair and the cards flip to reveal pictures and stay open. Find all the pairs to win — 12 on the classic board.
What's in the box:
Each game uses one of three layouts — 12 cards (3 × 4), 16 cards (4 × 4), or 24 cards (4 × 6, the classic default) — drawn as 6, 8, or 12 unique pairs; see Board size. The layout is a manual Row/Column arrangement (not a lazy grid), so the entire board is always on screen, no scrolling. Cards animate in 3D when flipping (rotation around the Y axis, 400 ms tween).
Tap a face-down card → it plays its sound. Tap a second face-down card → it plays its sound. The match check is by imageFileName, not by the spoken text — so the same picture in any language variant counts as a match.
If they match, both cards flip to show their picture and stay open. If they don't, both flip back face-down after a short delay (configurable in Settings via Card display seconds). The game ends when all pairs are revealed.
Settings → Game mode:
Settings → Board size picks how many cards are dealt:
Smaller boards are great for younger children or a quick game in between. Star ratings adapt to the board size, so a perfect game earns 3 stars on any board.
Sound Memory supports pass-and-play for two players on one device. On the game screen, tap the group icon (two people) in the top bar to switch between 1 and 2 players — switching restarts the current game.
Players take turns. Finding a pair earns a point and another turn; a miss passes the turn to the other player. The current scores are shown at the top of the screen with the active player highlighted, and when the last pair is found the winner is announced.
Two-player games are not recorded in the statistics and are not submitted to the online leaderboards.
Each completed game is logged with moves, duration, and accuracy. Star rating (1 – 3) is computed from the move count vs the theoretical minimum (one perfect match per pair, with no mistakes) — the thresholds adapt to the chosen board size. The Stats screen shows your history per category and an aggregate accuracy across all games.
12 categories ship with the app install, each in all four supported languages. Most use TTS for audio (no asset weight); a few use pre-recorded MP3 where TTS doesn't pronounce the source word convincingly. The bundled set is configured in app/src/main/assets/gamesets.json.
The Levels screen has a "More Game Packs" section that lists additional packs available from the server. Catalog URL: https://djvlk.de/soundmemory/packs/catalog.json. The catalog is fetched on first launch and cached for 24 hours; the app warns if you're on a metered network before downloading.
Each pack download includes its gameset.json, the card images, the audio MP3s (where used), and shared overview thumbnails. Downloaded packs appear in the Levels list mixed with the bundled ones.
Some categories ship a variant pair — for example, Trees has both an "official" set (Latin botanical names like Quercus robur, spoken with an Italian voice for the Latin) and a "colloquial" set (everyday names like Eiche, oak). The two sets share the same images and the same categoryId, so one credit unlocks both variants.
The Settings toggle Use official text determines which variant is shown in the Levels screen.
When the server has a higher version of a pack you've downloaded, an update badge appears on its tile. Tap to refresh — the new content replaces the old. Your unlock state and stats are preserved.
Long-press a downloaded pack tile in the Levels screen. A delete option appears. Removing a pack frees disk space; you can re-download anytime, and your unlock credit stays on your account.
Long-press any bundled-game tile in the Levels screen to open a modal bottom sheet showing the cards in that set. From the sheet, tap any image to open the zoomable image pager. The image viewer supports:
The viewer uses original full-resolution images (not the smaller card-tile thumbnails) when available — for downloaded packs, those live in a /large/ subdirectory shared per category.
Most cards are spoken via Android's on-device text-to-speech engine. The voice is selected by BCP-47 locale (de-DE, en-US, fr-FR, es-ES). Some categories override the TTS locale — for example, Trees in "official" variant uses an Italian voice (it-IT) for Latin botanical names because Italian phonology is closer to ecclesiastical Latin than German is.
If the chosen TTS voice isn't installed on the device, the app falls back to the system default. Install additional voices from your device's TTS settings.
When TTS doesn't pronounce a word convincingly, a card can specify an audioFile in its game-set definition. The player loads the MP3 from assets/audio/ (bundled) or {packDir}/audio/ (downloaded) and plays it via Android's MediaPlayer. From the user's perspective the source is invisible — every card just plays a sound on tap.
Cards exist in four languages: German, English, French, Spanish. Each card has a name with a language suffix (.DE, .EN, .FR, .SP) so the same image can be re-used across language variants. The Levels screen filters available cards to your current app language; switch languages in Settings.
The app UI is also localised to all four languages, via Android string resources (values/strings.xml + values-de/ + values-fr/ + values-es/). The chosen UI language is applied via AppCompatDelegate.setApplicationLocales(), independent of the system locale.
The Levels screen and the Settings both have a Language learning dropdown (school-cap icon) — they control the same selection. Pick a second language — for example English while the app is set to German — and each pair then consists of one card in each language showing the same motif: you hear BLAU on one card and BLUE on its partner, and must match them by meaning. Each card speaks its own language, which turns every game into a vocabulary trainer.
Language learning works with all game sets, including downloaded packs — all language versions of a pack are downloaded together, so both halves of a pair are always available. Select Off to return to normal single-language games.
The games screen shows a Daily challenge card (flame icon) at the top. Every day brings a new board that stays fixed for the whole day — restarting reshuffles into the same daily layout. Completing the challenge on consecutive days builds a streak shown on the card; skipping a day resets it. A check mark shows when today's challenge is done.
The app remembers which words you frequently mix up while playing (every miss counts, every match works the counter back down). Once at least three difficult words have accumulated, the statistics screen offers the Practice difficult words card: it builds a board from exactly those words, padded with other cards from the same sets. Practice games don't feed statistics, achievements or leaderboards — they are pure training.
Eight badges to unlock, each with a localised title and description:
When you're signed in to Google Play Games, these achievements also unlock on your Play Games profile — see Google Play Games.
Sound Memory integrates with Google Play Games. On devices with Google Play services, the app attempts an automatic sign-in at launch — you may briefly see the green Play Games overlay. If you skipped or declined it, you can sign in manually anytime via Settings → Google Play Games → Sign in; the same row shows your current sign-in status.
While signed in, after every completed game:
View achievements and leaderboards in the Google Play Games app under the Sound Memory entry. Play Games is entirely optional — the game is fully playable without it, and local stats and achievements keep working offline.
The trial period starts on first launch and runs for 7 days. During the trial you can pick any 10 locked games and play them once each — the trial gives you a generous look at locked content before you decide whether to buy credits.
After 7 days the trial ends. Locked categories then require credits to unlock. Categories you unlocked during or after the trial stay unlocked.
Three one-time consumable in-app purchases via Google Play Billing:
pack1 — 1 creditpack3 — 3 creditspack5 — 5 creditsBuy from the Store screen. Credits accumulate; spend them by unlocking categories from the Levels screen. Purchased credit packs are consumable on the Play side, but the credit balance itself is persistent on the device.
1 credit unlocks one entire category — including all four language variants. So unlocking Animals unlocks the German, English, French, and Spanish Animals sets together.
For variant pairs (e.g. Trees official + Trees colloquial), both variants share a categoryId and unlock together for one credit.
Colors is permanently free — category index 0. Use it to learn the gameplay before spending credits.
On first launch a 5-page walkthrough introduces the core ideas (a horizontal pager you can skip on any page). It only shows once, controlled by the walkthroughCompleted DataStore key — re-trigger it from Settings if needed.
The drawer offers two distinct help screens:
After the third completed game, the Google Play in-app review prompt may appear once.
Sound Memory does not collect, transmit, or share any personal data. There are no analytics, no third-party crash reporting, no advertising IDs.
Network use is limited to:
djvlk.de)djvlk.de when you tap a "More Game Packs" entryEmail: agrauf67@gmail.com (the in-app Help → Email button pre-fills the app version in the subject line).
Source code: github.com/agrauf67/sound-memory
Google Play: play.google.com/.../soundmemory
Copyright © 2026 Andreas Grauf. All rights reserved.