Braille sound lab help
To understand the concept: braille, color and sound (in French)
All the pages are in English, except the concept page. In English, the Sound lab, the Player and the Explorer use English braille (UEB).
The Sound lab, the Player, the Explorer and the exercises all use the same sound engine. The Lab settings are reused automatically in this browser: variant, instrument, notes, tempo, volumes and spatialisation. The listening test can still compare another variant explicitly. The spoken instructions stay independent.
The lab is used to compare and tune ways of making a braille cell audible, so that one day braille can be learned by ear (and by color for the sighted people who help), and to create games accessible to blind people.
Getting started
- In the Sound lab, type a few letters and start playback.
- Choose a variant and an instrument, then adjust the sound in the Settings tab.
- Find this sound again in the Player, the Explorer and the exercises. Use Learn to practice, or the Listening test to compare sounds.
1. Starting the lab
You can use the online version directly, or run it on your computer. Locally, the pages read JSON files, so they must be opened through a small local server (double-clicking the file, as file://, is blocked by the browser).
Example on Windows, with Python installed (adapt the path if the folder has moved):
cd "path\to\brailleLab" py -m http.server 8000 --bind 127.0.0.1
Then open http://127.0.0.1:8000/apprendre.html?lang=en. Ctrl+C in the terminal stops the server. After changing the files, reload with Ctrl+Shift+R (no need to restart the server).
Headphones are recommended to compare the stereo and 3D effects: left, right and position in space can only be heard properly with headphones.
2. The braille cell as sound
A braille cell has 6 dots, in two columns of three:
1 4 2 5 3 6
- Left / right: in the stereo or 3D variants, dots 1-2-3 (left column) sound in the left ear, dots 4-5-6 in the right ear.
- Top / bottom: the main variant gives higher notes to the top dots and lower notes to the bottom dots. In 3D audio, the positions reinforce this impression, with an effect that can vary with the headphones and the person.
- 3 steps: in “3 steps” mode, a cell is played row by row: top row (dots 1|4), middle row (2|5), bottom row (3|6).
- Fixed duration: with the same settings, a letter always lasts the same time, whether it has 1 or 6 dots; a missing dot is a silence.
- Chord: the “Chord” mode plays all the present dots together. In “3 steps” mode, a spacing of 0% also starts the rows together, but keeps the duration planned for three steps.
The notes of the main variant are taken from the pentatonic scale of C (C, D, E, G, A): these notes are chosen to sound good together. You can change them in Settings.
| Left | Right | |
|---|---|---|
| Top | dot 1 = E | dot 4 = high A |
| Middle | dot 2 = C | dot 5 = G |
| Bottom | dot 3 = A | dot 6 = D |
3. The variants
Variant menu of the Listen tab. Each variant is a set of settings, defined in braille_lab_config.json.
| Variant | Principle |
|---|---|
* lignes-spatial-musical | The chosen variant: 3 steps, each dot at its own place in space (left/right and top/bottom), pentatonic notes, resonance and reverb. Works with the recorded instruments. |
lignes-stereo | 3 steps, simple left/right separation, synthesised sound. |
spatial-3d | First 3D audio attempt, synthesised sound. |
lignes-stereo-timbres | Like lignes-stereo, with a different sound per column. |
accord-ancien | The old system (all dots together, no stereo), for comparison. |
4. The instruments
Instrument menu (active for variants that name their notes): Synth, Piano, Marimba, Vibraphone, Harp, Music box, Kalimba, Nylon guitar, Celesta.
- These are real recorded instruments (
samples/folder, notes C4 to C6), which work offline. - Automatically leveled volume: the level of the notes is adjusted to reduce the differences between instruments. The perceived volume can still vary. An “instrument volume” setting lets you correct it by ear.
- A master compressor limits volume peaks when several notes sound together.
Sample source: FluidR3_GM sound bank (Frank Wen), via midi-js-soundfonts, under the Creative Commons Attribution 3.0 licence.
5. The Settings tab
All the parameters of the chosen variant, applied at the next playback (the text, the Play button and the cells stay visible so you can listen while adjusting). Here is what each one does.
| Setting | Effect |
|---|---|
| Cell layout | 3 steps (rows 1|4, 2|5, 3|6) or Chord (the dots played together). |
| Step duration | The overall speed (like the Tempo slider of the Listen tab). |
| Note spacing | Brings the 3 notes of a letter closer without changing the speed: the time saved goes into the silence before the next letter. At 0%, the three rows sound together (chord). |
| Silence between letters | In steps. |
| Silence for a space | In steps. |
| Resonance | Extends the resonance of the note without changing the tempo. |
| Note length | Part of a step that sets the basic duration of the note. |
| Strum | Small offset between notes played at the same time, to tell them apart better. |
| Volume | Overall volume of the variant. |
| Attack (synth) | How fast the synthesised note starts. |
| Reverb | From 0 (dry) to 100% (very reverberant). |
| Synth timbre | Soft, Bell, Kalimba or a simple waveform; used when the instrument is “Synth”. |
| Instrument volume | Correction for the chosen instrument, valid for all variants. |
| 3D spatial audio | Turns the place of each dot in space on or off. |
| Dot table | The note of each dot (C4 to C6) and its position: left ↔ right and bottom ↕ top, in degrees. Changing a value plays the dot. |
6. Six-key input
Like on a braille typewriter (Perkins): you press the keys of the cell's dots together, and the cell is entered when all the keys are released. You hear it straight away. The keys are recognized by their position, so this works with any keyboard layout (QWERTY, AZERTY…).
| Keys | Effect |
|---|---|
| F D S | Dots 1, 2, 3 (left hand) |
| J K L | Dots 4, 5, 6 (right hand) |
| Space | Space between two words |
| ⌫ (backspace) | Deletes the last cell |
| Enter | Plays the whole input again |
Examples: F = a · F+D = b · F+J = c · F+K = e. In the lab, Copy to the text sends the input to the text field at the top. Each letter typed is announced to screen readers.
7. Sound lab shortcuts
These shortcuts are for the Sound lab page; the exercises have their own keys, described below. They work when you are not typing in a field (text, slider, menu, input area). Esc leaves a field and gives control back to the shortcuts. Each change is announced to screen readers.
| Key | Effect |
|---|---|
| P | Play / stop |
| ← → | Slower / faster tempo |
| ↓ ↑ | Tighter / wider note spacing |
| V (Shift+V) | Next (previous) variant |
| I (Shift+I) | Next (previous) instrument |
| T | Go to the text field |
| S | Go to the six-key input |
| E / R | Listen / Settings tab |
| H or ? | Open the help |
| Esc | Stop playback, leave a field |
With Tab, you can also move to each cell: Enter or Space plays it alone. On the tabs, ← → moves from one to the other.
8. Saving and exporting
- Each setting change is kept in the browser and found again at the next visit (same browser, same profile and same site address). Changing the port or switching from
localhostto127.0.0.1gives a separate storage space. Clearing the browser data deletes this local save. - Save as a new variant…: creates your own variant, added to the menu.
- Back to the file values: cancels the changes to the variant.
- Export the JSON: downloads an up-to-date
braille_lab_config.json(variants, instrument volumes). To share these settings or make them the default, replace the file inbrailleLab/with the downloaded one. The export does not replace this file automatically.
9. The colors
The colors are for the sighted people who help: each family of signs has its own hue (letters around the color wheel, accented letters as variants of their letter, punctuation in gray, delimiters in blue, modifiers in purple). During playback, the dot that sounds grows on the screen.
These colors are the same on every page (file braille_couleurs.js), exercises included: the right answer, the revealed sequence and what you type, as soon as you press the keys appear on the color of their sign, so that a color always goes with a sound. Right or wrong is shown by the outline (green ✓ or red ✗), without changing the color. In Ear only mode, and in the memory exercise before the answer, the cell to find stays neutral.
10. The other pages and files
| File | Role |
|---|---|
braille_lab.html | The sound lab. |
braille_player.html | The player: a text played in colors and sound. |
braille_visual_renderer.html | The explorer: click the dots to build a cell. |
braille_lab_config.json | The variants and the instrument volumes. |
braille_visual_metadata.json | The 63 French braille signs (dots, family, color); the English signs are in langues/en/signes.json. |
langues/en/ | The English version of the exercises: texts, English braille signs (UEB), series, recorded voice. |
| apprendre.html | Braille recognition and typing exercises. |
| ecoute.html | Comparing two sounds: same or different. |
| memoire.html | Sound memory: remember and retype sequences of 1 to 5 letters. |
| couleurs.html | Colors and sounds: recognize letters by their color, with their sound. |
| statistiques.html | Results of the exercises and tests. |
braille_son.js | Sound engine shared by the pages. |
samples/ | The recorded notes of the instruments. |
11. Learn braille by ear
The apprendre.html page is an exercise: you hear a letter and type it with the 6 keys. It uses the sound tuned in the lab (variant, instrument, volumes saved in this browser), including the chosen layout: 3 steps or chord.
The English version teaches Unified English Braille (UEB), grade 1: the letters a to z are the same as in French braille, and so are most punctuation marks; the question mark is different (dots 2 3 6). In the Sound lab and the Player, a capital letter is preceded by the capital indicator: dot 6 in UEB (in French braille it is dots 4 6). Signs that take two cells in UEB (brackets, numbers) will come later.
In the menu
| Key | Effect |
|---|---|
| 1 to 6 | Series: a to j · k to t · u to z · all letters · punctuation · everything |
| M | Mode: Discovery (you hear the name of the letter and its sound, the letter and its dots are shown) or Ear only (you only hear the sound and must recognize the letter) |
| V | Voice: natural (recorded Piper voice) or browser |
| ↑ / ↓ (or + / −) | Voice speed (60 to 140%), with a test sentence |
| Enter | Start (10 letters per series) |
During the exercise
| Key | Effect |
|---|---|
| F D S / J K L | Type the letter (dots 1 2 3 / 4 5 6), keys together, then released |
| Space | Hear the letter again |
| Enter | Skip (the answer is given) |
| Esc | Back to the menu |
- Right: two rising notes, “Correct!” (in Ear only mode, the letter is said).
- Wrong: a low note, then what you typed (“You typed dots 1 4, that is c”) and the right answer in Discovery mode; you can try once more, then the answer is given.
- At the end: the first-try score and the letters to review. Missed letters come back more often in the next series (remembered in this browser, separately for each language).
About the voices
Natural voice: pieces of sentences recorded with Piper in langues/en/voix/ (list in langues/en/voix/segments.json). Voice en_US-ljspeech-medium, trained on the LJ Speech Dataset (public domain). To change the voice or its slowness, run python outils/generer_voix.py --langue en --model voice.onnx --lenteur 1.15 (requires pip install piper-tts soundfile numpy). Browser voices depend on the browser and on the voices installed on your computer. With no voice at all, the sentences are shown and sent to the screen reader. Sound and voice only start after a first key press or click on the page.
12. Listening test and statistics
These pages help to evaluate how well the sounds are recognized, with no prior musical knowledge.
“Same or different?” listening test (ecoute.html)
Two letters are played one after the other; answer 1 (same) or 2 (different), Space to listen again. 20 trials, whose duration depends on the chosen tempo; no knowledge of braille is needed. Half of the pairs are the same; the different pairs are most often neighboring letters (only one dot apart), the easiest to confuse.
Before starting, choose the variant (V) and the instrument (I). The table compares the average success of each combination: a higher score means better recognition during these trials. Repeat the test and have several people take it for a better comparison. The results are grouped by variant name and instrument: if you change the notes or the tempo for a new comparison, save a variant under another name to keep the results apart.
Statistics (statistiques.html)
- Most frequent confusions: the pairs of letters confused in the “Learn” exercise, both directions together. A pair confused both ways may point to sounds that are hard to tell apart, or to learning still in progress. Listen to them again before changing the notes, the spacing or the positions in the lab.
- Success per letter and listening test history.
- Export: a JSON file with all the results, to combine those of several testers or computers. Erase resets the statistics (the settings are kept).
Everything is saved in the browser (on this computer only).
13. Sound memory
The memoire.html page trains your auditory memory: you hear a sequence of letters, then type it in the same order with the 6 keys. It uses the lab sound, like the other exercises.
- 5 levels: 1 letter, then 2, 3, 4 and 5 letters; 5 trials per level (25 in all).
- The letters are played one after the other, with a short silence between them. You type once you have heard the whole sequence; each letter you type is played back.
- When the sequence is complete: “Correct!”, or “No. It was…” followed by the right sequence, played again. Then the next trial (one attempt per sequence).
- At the end: the score for each level, kept in the statistics (separately from the confusions: a memory mistake is not a confusion between sounds).
| Key | Effect |
|---|---|
| 1 to 6 (menu) | Series of letters used |
| F D S / J K L | Type a letter (dots 1 2 3 / 4 5 6), keys together, then released |
| Space | Listen to the sequence again (typing starts over) |
| ⌫ | Erase the last letter typed |
| Enter | Skip (counted as wrong, the answer is given) |
| Esc | Back to the menu |
The voice and its speed are chosen in “Learn”; the memory exercise uses the same choice.
14. Colors and sounds
The couleurs.html page trains you to recognize letters by their color, together with their sound. It works like sound memory: 5 levels of 1 to 5 letters, 5 trials per level, same keys.
- Each letter of the sequence appears as a colored domino without dots, which moves while its sound plays: one color, one sound.
- You type the letters in order with the 6 keys; each letter you type appears on its color and is played.
- Right or wrong, the dots appear on the colored dominoes; after a mistake, the right sequence is said and played again.
- The scores for each level are kept in the statistics, separately from the memory ones.
Free software under the GPL-3.0-or-later licence · source code on Codeberg · credits for the sounds and voices