Skip to content
/ ramu Public

master japanese numbers through random listening and reading drills

License

Notifications You must be signed in to change notification settings

welpo/ramu

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ramu logo: a ram with numbers on its horns
prs welcome app status license clean commits

try it now〜

master japanese numbers through random listening and reading drills

japanese numbers can be confusing. sure, it takes a few minutes to learn to count from 1 to 10, in sequence. but try backwards! or randomly! or with numbers over 100 or 1,000. or with counters! you get the idea.

i built ラム to practice listening and reading japanese numbers in different formats (42 vs 四十二), of various magnitudes (from 0 or 零 to over 100,000,000 or 一億), and with common counters (つ、本、人…).

the name reflects its purpose: achieving RAM (random access memory) to numbers, as opposed to sequential memory (1, 2, 3…). ラム means ram 🐏, thus the logo.

i wrote about the motivation for building ラム and roadblocks i encountered in this blog post.

demo

enable sound!

_demo.mov

try it now〜

features

  • improve your listening and reading skills
  • practice with both arabic (123…) and japanese (一二三…) numerals
  • configurable number ranges
  • counter word practice (個、本、匹…)
  • works offline as a progressive web app
  • accessible: sematic html, aria roles, keyboard controls, and screen reader friendly for arabic numbers practice
  • keyboard shortcuts:
    • space or : next/reveal
    • esc: stop
    • p: pause/resume

requirements

ラム uses your device's text-to-speech engine to read the numbers out loud. make sure you have a japanese voice installed:

  • windows: press windows + ctrl + n → narrator settings → add voices → manage voices → add voices
  • macos: system settings → accessibility → spoken content → manage voices
  • ios: settings → accessibility → spoken content → voices
  • android: settings → accessibility → text-to-speech
  • gnu+linux: install speech-speech-dispatcher-espeak-ng or similar

need help?

something not working? have an idea? let me know!

contributing

please do! i'd appreciate bug reports, improvements (however minor), suggestions…

ラム uses good ol' vanilla html, css, and javascript. to run locally:

  1. clone the repository: git clone https://github.com/welpo/ramu.git
  2. navigate to the app directory: cd ramu/app
  3. start a local server: python3 -m http.server
  4. visit http://localhost:8000 in your browser

the important files are:

  • index.html: basic structure
  • style.css: styles
  • app.js: main logic
  • test.js: tests, mainly covering the number to kanji conversion. to run them visit the page with ?test in the url. the results are printed to the console

license

ラム is free software: you can redistribute it and/or modify it under the terms of the GNU general public license as published by the free software foundation, either version 3 of the license, or (at your option) any later version.