Skip to content

Latest commit

 

History

History
235 lines (176 loc) · 4.54 KB

File metadata and controls

235 lines (176 loc) · 4.54 KB

Configuration Guide

Configure speech, Braille, and accessibility settings for Accessible Math Reader.


Overview

Configuration can be set via:

  1. Python API (Config class)
  2. JSON configuration file
  3. Environment variables

Priority: Environment > File > API defaults


Python Configuration

Basic Setup

from accessible_math_reader import MathReader, Config
from accessible_math_reader.config import (
    SpeechConfig,
    BrailleConfig,
    AccessibilityConfig,
    SpeechStyle,
    BrailleNotation
)

config = Config(
    speech=SpeechConfig(
        style=SpeechStyle.VERBOSE,
        language="en",
        rate=1.0,
        pitch="medium"
    ),
    braille=BrailleConfig(
        notation=BrailleNotation.NEMETH,
        include_indicators=True
    ),
    accessibility=AccessibilityConfig(
        step_by_step=True,
        announce_errors=True,
        default_nav_mode="explore"
    )
)

reader = MathReader(config)

Runtime Updates

# Change verbosity
reader.set_verbosity(SpeechStyle.CONCISE)

# Update full config
reader.config.speech.rate = 0.8

Configuration File

Location

Default paths (checked in order):

  1. ./amr-config.json
  2. ~/.config/accessible-math-reader/config.json
  3. ~/.amr-config.json

Format

{
  "speech": {
    "style": "verbose",
    "language": "en",
    "rate": 1.0,
    "pitch": "medium",
    "backend": "gtts"
  },
  "braille": {
    "notation": "nemeth",
    "include_indicators": true,
    "line_length": 40
  },
  "accessibility": {
    "step_by_step": true,
    "announce_errors": true,
    "default_nav_mode": "explore",
    "high_contrast": false
  },
  "tts": {
    "backend": "gtts",
    "cache_audio": true,
    "cache_dir": "~/.cache/amr"
  }
}

Loading

config = Config.from_file("my-config.json")
reader = MathReader(config)

# Or use default locations
config = Config.load()

Environment Variables

Variable Values Default
AMR_SPEECH_STYLE verbose, concise, superbrief verbose
AMR_SPEECH_LANGUAGE Language code (en, es, fr) en
AMR_SPEECH_RATE 0.5 - 2.0 1.0
AMR_BRAILLE_NOTATION nemeth, ueb nemeth
AMR_NAV_MODE browse, explore, verbose explore
AMR_HIGH_CONTRAST true, false false
AMR_CONFIG_FILE Path to config file (auto)

Example

# Linux/macOS
export AMR_SPEECH_STYLE=concise
export AMR_BRAILLE_NOTATION=ueb

# Windows PowerShell
$env:AMR_SPEECH_STYLE = "concise"
$env:AMR_BRAILLE_NOTATION = "ueb"

Loading from Environment

config = Config.from_env()
reader = MathReader(config)

Settings Reference

Speech Settings

Setting Type Options Description
style enum verbose, concise, superbrief Verbosity level
language string Language codes TTS language
rate float 0.5 - 2.0 Speech rate
pitch string low, medium, high Voice pitch
backend string gtts, system TTS engine

Braille Settings

Setting Type Options Description
notation enum nemeth, ueb Braille standard
include_indicators bool true/false Include mode indicators
line_length int 20-80 Max line length

Accessibility Settings

Setting Type Options Description
step_by_step bool true/false Enable stepwise navigation
announce_errors bool true/false Speak error messages
default_nav_mode string browse, explore, verbose Initial nav mode
high_contrast bool true/false High contrast UI

Web Interface Settings

Local Storage Keys

Key Description
amr-theme dark or light
amr-sidebar-collapsed Sidebar state
amr-braille-notation Selected notation
amr-speech-style Verbosity level
amr-nav-mode Navigation mode
amr-zoom Zoom percentage
amr-history Expression history

Persistence

Settings are saved in browser localStorage and persist across sessions.


CLI Configuration

Config Flag

amr --config my-config.json "\frac{a}{b}"

Inline Options

amr --speech-style concise "\frac{a}{b}"
amr --braille ueb "\sqrt{x}"

Show Current Config

amr --show-config

Saving Configuration

Python API

config.save("my-config.json")

CLI

amr --save-config my-config.json