Vocabulary builder using Zipf to extract English big words.
Zipf frequency of a word is the base-10 logarithm of the number of times it appears per billion words. It’s proposed by Marc Brysbaert.
Thanks to https://github.com/LuminosoInsight/wordfreq for providing the data.
The program provides many tools to help you master big words,
- Extract big words using Zipf
- Automatically look up and output word definition
- Parse the subtitle (*.srt) and replay the movie when the word is spoken
- Pronounce the word at point
- Supports Window/Linux/macOS. Mplayer is required for playing video.
Screenshot:
Place mybigword.el and eng.zipf under Load Path. Then add (require 'mybigword) to your configuration.
Run mybigword-show-big-words-from-file or mybigword-show-big-words-from-current-buffer. The words whose Zipf frequency less than mybigword-upper-limit are extracted as big words.
The above commands can be customized to look up word definition. See the tip Format output.
Run mybigword-big-words-in-current-window to select a word to hear its pronunciation and get its definition.
Here is the big words extracted from the script of Star Trek: Deep Space Nine S06E12 “Who Mourns for Morn?”:
aboveboard 1.53 commiserating 1.71 craning 1.81 commiserate 2.14 luria 2.22 imbibe 2.22 objet 2.24 unsealed 2.5 doze 2.63 froth 2.68 abdicate 2.7 matador 2.78 nullify 2.81 heartwarming 2.82 bequest 2.83 intrude 2.84 enterprising 2.92 morn 3.0 inconsiderate 3.0 apprehend 3.02 bequeathed 3.05 beet 3.05 sparring 3.07 hologram 3.08 quark 3.11 assay 3.15 gratification 3.17 unload 3.21 diligent 3.21 lobe 3.26 defer 3.26 startled 3.27 infirmary 3.28 furnishings 3.28 renounce 3.29 extortion 3.32 afterlife 3.33 heist 3.34 blackmail 3.36 evade 3.37 bribery 3.37 repayment 3.38 extradition 3.39 projector 3.41 stash 3.42 stool 3.45 forgiving 3.48 expire 3.48
Customize mybigword-excluded-words or mybigword-personal-excluded-words to exclude words.
Customize mybigword-default-format-function to format the word for display.
For example, if it’s mybigword-format-with-dictionary, the mybigword-word-definition-function, whose default value is dictionary-definition, is used to find the definitions of all big words.
Sample to display the dictionary definitions of big words:
(let* ((mybigword-default-format-function 'mybigword-format-with-dictionary))
(mybigword-show-big-words-from-current-buffer))You can also set mybigword-default-format-header-function to add a header before displaying words.
Make sure the org tree node has the property SRT_PATH.
Sample of org file:
** Pronounce word at point Use =mybigword-pronounce-word= to pronounce the word at point. The word's audio is downloaded from [[https://dictionary.cambridge.org]]. The audio download url could be customized in =mybigword-default-audio-url-function=. * Star Trek s06e26 :PROPERTIES: :SRT_PATH: ~/Star.Trek.DS9-s06e26.Tears.of.the.Prophets.srt :END: telepathic egotist
Move focus over the word like “egotist”, and run M-x mybigword-play-video-of-word-at-point, mplayer plays the corresponding video at the time the word is spoken.
If video is missing, the mp3 with similar name is played. See mybigword-video2mp3 on how to generate mp3 from video files.
The video should be in the same directory of subtitle and its file name should be similar to the subtitle’s file name.
The word is either the word at point, or selected string or string from input.
Mplayer’s path can be customized through mybigword-mplayer-program.
Please note mybigword-play-video-of-word-at-point can be used in other major modes. See mybigword-default-media-info-function for details.
Customize mybigword-hide-word-function to hide word for display.
Use mybigword-show-image-of-word to show images of the word at point in external browser.
Please note browse-url-generic is used in this command.
Report bugs at https://github.com/redguardtoo/mybigword.
This program 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.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
