Mass Immersion Approach

MIA Japanese

Intro

MIA Japanese is an Anki 2.1 add-on that provides a variety of features for improving the ease and efficiency of Japanese study, some of the most notable being automatic generation of native audio, kanji readings, and pitch accent information, as well as automatic pitch accent coloring. It’s extremely flexible and customizable, but also comes ready to use out of the box.  The add-on largely works through JavaScript, which allows all of the core features to function on every platform, including AnkiWeb, Anki Mobile, and AnkiDroid.

MIA Japanese does not conflict with the Japanese Support add-on and is fully compatible with MorphMan. The add-on is only compatible with Anki 2.1. Please make sure you’re using the newest version of Anki 2.1 before installing. 

You can download the add-on here.

Installation

First, go to MIA Japanese’s add-on page (link above), and install it the same way you would any other add-on.

Once the add-on finishes downloading, close Anki. Then, go back to MIA Japanese’s add-on page and download the audio file pack (accentAudio.zip). Once it finishes downloading, extract its contents into the “user_files” folder, inside of MIA Japanese’s root add-on folder.

On Windows, this should be the following directory: C:\Users\[user]\AppData\Roaming\Anki2\addons21\278530045\user_files.

If you’re on a Mac, please use this software to unzip the “accentAudio” folder in order to avoid encoding issues and unplayable audio files.

Once the folder containing the audio files finishes transferring, you should be all good to go.

How It Works

As you can see in the image above, MIA Japanese generates reading and pitch accent information directly into the fields of your cards. This information is stored in the form of a simple syntax involving brackets. When viewing a card, JavaScript code that has been inserted directly into the note type template converts this syntax into furigana, pitch accent coloring, and pop-up pitch graphs.

The add-on comes with the “MIA Japanese” note type, which already contains this JavaScript code. This way, you can use the add-on right out of the box, without having to set anything up. The add-on also allows you to insert JavaScript code into your existing note types, as well as customize exactly how the code functions.

The benefit of this system is that users can use this syntax to quickly and easily add or modify reading and pitch information, and any changes will be instantly reflected on their cards. Additionally, because the JavaScript code that renders the syntax is inserted directly into the note type template, the syntax functions equally across all platforms, including AnkiWeb, Anki Mobile and AnkiDroid.

Pitch Accent Coloring

Pitch Accent is a fundamental component of Japanese phonology. If you’re new to pitch accent, this video and this video should serve as a good introduction.

Because humans have extremely strong visual memories, color coding words in terms of their pitch accent pattern can make memorizing the pitch accents of individual words nearly effortless. For example, if a word is colored blue every time you see it in Anki, that word will likely become associated with the color blue in your head. Once this happens, when you recall the word, it may appear blue in your mind’s eye. If you know that “blue” means a word is pronounced with the “heiban” pitch accent pattern, then this association would be enough for you to remember the pitch accent of the word.

MIA Japanese makes taking advantage of the power of pitch accent coloring easy. It allows you to generate pitch accent information for entire sentences with the press of a button, and automatically color code words in accordance with this pitch accent information. If you manually edit the pitch accent information of a word, the color of the word will automatically change to reflect that.

You can customize the color scheme used to represent the different pitch accent patterns in the add-on’s settings. If you change the color associated with a given pitch accent pattern, all the cards in your collection will automatically change to reflect that.

The following videos explain the theoretical underpins of how pitch accent is represented in the add-on. If you’re interested in studying pitch accent, we highly recommend watching them.

Note: there are actually two possible pitch accent patterns for i-adjectives in the “~くて” form: [-3] (as shown in the video: みじか↓くて), and [-4] (みじ↓かくて). These two patterns are mostly used interchangeably. Two mora words like “よい”, which will only have three morae in the “~くて” form, obviously can only be pronounced with the [-3] pattern (よ↓くて).

Note: the pitch of “入(はい)る” is actually [-3], not [-2], due to a higher-level pitch accent concept known as 特殊泊, or “special morae”. “特殊泊” are “weak” morae that generally cannot become the accent-core of a word. They include ん, っ, the second half of extended vowels (such as the “あ” in “かあ”), and the second half of double-vowels (such as the “い” in かい).

When the accent of a word would have fallen on a 特殊泊, it gets bumped up to the previous mora instead. Because the second-to-last mora of “入る” is the second half of a double-vowel, its accent-core gets bumped up to “は”. This doesn’t have any influence on its conjugation; it conjugates as a normal non-heiban verb.

“MIA Japanese” Note Type

When you install MIA Japanese, it will automatically add the “MIA Japanese” note type to your collection.

If you want to permanently remove the “MIA Japanese” note type, uncheck “Add MIA Japanese Note Type” in the “Active Fields” tab of the add-on’s settings before deleting the note type. If you delete the “MIA Japanese” note type without unchecking “Add MIA Japanese Note Type”, the add-on will automatically re-generate it next time you open Anki.

The “MIA Japanese” note type was designed for sentence cards.

The target sentence goes in the “Expression” field.

Whatever you need to understand the sentence goes in the “Meaning” field.

Audio for the target sentence and/or target word goes in the “Audio” field.

The “Audio on Front” field is a conditional field. If the field is left completely empty, a text-based sentence card will be generated (“Expression” field on the front, and “Meaning” and “Audio” fields on the back). If the “Audio on Front” field is filled, an audio-based sentence card will be created (“Audio” field on the front, “Expression” and “Meaning” fields on the back). By filling and emptying the “Audio on Front” field, you can convert a card between audio-based and text-based at any time.

If you generate readings and pitch accents in the Expression field, on the front of the card, text will appear without furigana or pitch accent coloring. If you hover over a word, furigana and pitch accent coloring for that word will appear. On the back of the card, text will appear with furigana and pitch accent coloring by default.

If you generate readings and pitch accents in the Meaning field, on the back of the card, the text will appear without furigana or pitch accent coloring. If you hover over a word, furigana and pitch accent coloring for that word will appear.

Additionally, for both the Expression and Meaning fields, when you hover over a word, a pop-up will appear with the reading and pitch accent information. You can turn off these pop-up pitch graphs in the settings.

These features will work on all platforms, including AnkiWeb, Anki Mobile, or AnkiDroid.

If you’re on a desktop, you can click on any word that’s been generated to listen to native audio for that word. This feature relies on the audio files contained in the add-on’s folder and thus doesn’t work on other platforms. This doesn’t actually add audio files to your cards, and won’t increase the size of your media folder.

Generating Readings, Pitch Accent, and Audio

Once MIA Japanese is installed, the four buttons shown above should appear in the browser and add window.

The first of these, “文(ぶん)”, is the sentence button (hotkey: F2). By default, it generates readings and pitch accents for all of the words in the selected field. What the sentence button does can be customized in the add-on’s settings.

The second button, “語(ご)”, is the word button (hotkey: F3). By default, it generates native audio and a pitch accent graph for the selected word.

The audio and pitch accent graph will be placed in the audio field(s) and pitch graph field(s) respectively. You can change which fields are audio fields and pitch graphs fields in the add-on’s settings.

What the word button does can also be customized in the add-on’s settings.

There are two ways to select a word. The first is to simply place your cursor directly in front of the word. The second is to highlight the word. Highlighting allows for more precision.

If the selected word is in a conjugated form, the add-on will automatically find the dictionary form of the word.

In Japanese, sometimes words with different readings share the same kanji. If the add-on generates audio for the wrong word, you can correct this by typing “a” (for alternate) and then the reading of the correct word, and pressing the word button again.

The third button, “削(さく)”, is the removal button (hotkey: F4). It removes readings and pitch accents from the selected field.

You can also remove specific portions of readings and pitch accents from a field by highlighting that portion before pressing the removal button.

The fourth button, “R+”, is the add new overwrite rule button (hotkey: F5). The overwrite rule feature allows you to make changes to the way the add-on generates readings and pitch accents.

The add-on is not perfect, and will occasionally generate incorrect readings and pitch accents for words. When you notice that the add-on makes a consistent error, by creating an overwrite rule, you can prevent the add-on from repeating that mistake in the future. You can also use this feature to add entirely new words to the add-on’s dictionary.

You can edit and remove overwrite rules in the add-on’s settings.

Mass Generation

You can generate readings, pitch accents, and audio for multiple cards at once using the mass generation feature. To use this feature, first, go to the browser and select all the cards you want to generate readings/accents/audio for. Then, go to Edit > Generate Readings/Accents/Audio.

Next, select which field and what information you want to generate. “Origin” is the field that is being generated for, and “Destination” is the field where the add-on will output the generated text. By making the “Origin” field and “Destination” field different, you can have the add-on leave the original text untouched, and generate into a separate field.

If you select “Audio” and/or “Graphs”, native audio and pitch accent graphs will be generated for every word in the “Origin” field.

The “Overwrite?” drop-down allows you to choose how the add-on outputs the generated text. On “Add”, the add-on will place the generated text beneath whatever text is already in the “Destination” field. On “Overwrite”, the add-on will replace whatever text is already in the “Destination” field with the newly generated text. On “If Empty”, the add-on will only output the generated text if the “Destination” field is empty.

In order to have the mass generation feature function the same as the sentence button, set “Origin” and “Destination” to the same field, and set “Overwrite?” to “Replace”.

Alternatively, you can also use the “Remove Readings” option to remove readings and pitch accents from multiple cards at once. When using the “Remove Readings” option, readings and pitch accents will be removed from the “Origin” field.

Similarly, the “Remove HTML” option will strip away any HTML tags from the “Origin” field of the selected cards.

The Syntax

The syntax the add-on uses is as follows.

Each word is separated by a single space. For each word, reading and accent information is contained within brackets (“[ ]”). These brackets are placed directly after the last kanji used in the word. If the word doesn’t contain any kanji, the brackets are placed at the very end of the word.

Within the brackets, reading information and pitch accent information are separated by a semicolon. Reading information goes before the semicolon, and pitch accent information goes after the semicolon.

The reading portion of the brackets is further divided into two segments: the kana reading of the portion of the word in front of the brackets, and the kana reading of the dictionary form of the word. These two segments are separated by a comma. The portion of the word in front of the brackets goes before the comma, and the dictionary form goes after the comma.

The dictionary form is only used for adjectives and verbs. It’s needed to provide the pop-up pitch graph, which shows the pitch accent of the word in dictionary form. If the word isn’t a verb or adjective, the reading portion of the brackets will only contain the kana reading of the portion of the word in front of the brackets, with no comma. If the word doesn’t contain any kanji, the reading portion of the brackets will be left empty.

Within the pitch accent portion of the brackets, the following letters are used to designate the pitch accent pattern of the word:

  • h: 平板(へいばん)/Heiban
  • a: 頭高(あたまだか)/Atamadaka
  • n: 中高(なかだか)/Nakadaka
  • o: 尾高(おだか)/Odaka
  • k: 起伏(きふく)/Kifuku

If you’re unfamiliar with the “kifuku” pitch accent pattern, check out the video “Thinking About Word-Level Pitch Accent”, which is linked in the Pitch Accent Coloring section.

Unlike the other three pitch patterns, knowing that a word is “nakadaka” or “kifuku” often isn’t enough to know exactly where the accent drop is. Because of this, in order to ensure that the pop-up pitch graph can show the precise location of the accent drop, for nakadaka and kifuku words, the pitch accent number is included after the “n” or “k”.

For heiban, atamadaka, and odaka words, the pitch accent is not ambiguous, and thus there is no need to specify the exact location of the drop.

When a word has multiple possible pitch accents, each accent is separated by a comma. Accents are listed in order of dominance, and the first accent will determine the color of the word.

Depending on the display type, the alternate accents will be displayed as colored diamonds following the word. The color of the diamonds represents what that alternate accents are. This way, color coding can be used to remember the alternate accents of words in addition to the dominant accent.

When a single word is comprised of multiple accent phrases, once generated, it will appear like in the picture above. To understand why this is and what to do about it, watch from 17:52 in the Q&A video and read the notes below.

In The Browser

Once you generate readings and pitch accents in a field, that reading and accent information will get in the way of easily searching for the contents of that field in the browser.

For example, after generating readings and pitch accents for “日本語学習”, it will appear as “日本語[にほんご;h] 学習[がくしゅう;h]” in the field of the card. Because of this, if you searched “日本語学習” in the search bar at the top of the browser, it would no longer show up.

You can get around this by adding “nobr” (for “no brackets”) to your search. When the letters “nobr” exist anywhere in the search bar, Anki will ignore spaces, brackets, and the contents of brackets while searching.

Settings

The following video is a rough walkthrough of the add-on’s settings. Each option is explained in greater detail below.

Options


Profiles

Select which profiles the add-on will be activated for.

Generation

“Sentence Button (文)”

Customize the behavior of the sentence button:

  • Kana: generate kana readings for every word in the selected field. On by default.
  • Dictionary Form: generate the dictionary form for every verb and adjective in the selected field (used for pop-up pitch graphs). On by default.
  • Audio: generate native audio for every word in the selected field. Audio is placed in the audio field(s). Off by default.
  • Pitch Graph: generate pitch accent graphs for every word in the selected field. Pitch graphs are placed in the pitch graph field(s). Off by default.
  • Pitch Accent: generate pitch accent information for every word in the selected field. On by default.

“Word Button (語)”

Customize the behavior of the word button:

  • Kana: generate the kana reading of the selected word. Off by default.
  • Dictionary Form: generate the dictionary form of the selected word (only applies to verbs and adjectives; used for pop-up pitch graphs). Off by default.
  • Audio: generate native audio for the selected word. Audio is placed in the audio field(s). On by default.
  • Pitch Graph: generate a pitch accent graph for the selected word. Pitch graphs are placed in the pitch graph field(s). On by default.
  • Pitch Accent: generate pitch accent information for the selected word. Off by default.

Audio Field(s)

Select which field(s) audio will be generated in.

If Overwrite is selected, when audio is generated, whatever was previously in the audio field(s) will be replaced with the new audio.

If If Empty is selected, audio will only be generated when the audio field is empty.

If Add with Separator is selected, when audio is generated, if there is already something in the audio field, the new audio will be placed at the bottom of the field, after a separator. The default separator is a single line break (<br>).

Pitch Graph Field(s)

Select which field(s) pitch graphs will be generated in.

If Overwrite is selected, when a pitch graph is generated, whatever was previously in the pitch graph field(s) will be replaced with the new pitch graph.

If If Empty is selected, pitch graphs will only be generated when the pitch graph field is empty.

If Add with Separator is selected, when a pitch graph is generated, if there is already something in the pitch graph field, the new pitch graph will be placed at the bottom of the field, after a separator. The default separator is a single line break (<br>).

Look Ahead

When you press the word button while your cursor is in front of a word, the add-on will search its internal dictionary for the longest possible matching word. For example, the word “日本語” contains the word “日本” within it. If you place your cursor in front of “日本語” and press the word button, the add-on will select the word “日本語” rather than “日本”, because “日本語” is the longer of the two.

Look ahead controls the maximum number of characters the add-on will search while looking for the longest possible match. A larger number will lead to more accurate results but a longer search time. Characters inside of brackets are included in the look ahead count.

Colors

Select which colors are associated with each pitch accent pattern. Any changes made will be automatically reflected in all of your cards.

Behavior

Various options related to how the JavaScript code inserted into your note type templates will render your cards.

Furigana Font Size

Controls the size of furigana on your cards.

Buffered Output

When buffered output is selected, the JavaScript on cards will be rendered in small chunks instead of all at once. This mode is for extremely slow computers or cards with huge amounts of text.

Historical Conversion

When historical conversion is selected, kanji and kana will be converted into pre-WWII kanji and pre-WWII kana spelling respectively. The conversation is done in real-time through JavaScript and doesn’t influence the actual content of fields. This feature is supported on all platforms, including AnkiWeb, Anki Mobile, and AnkiDroid.

Historical conversion only converts fields that have been added to the active fields table. If you want a field to be converted but don’t want furigana or pitch accent coloring, add the field to the active fields table with the “kanji” display type.

Display Shapes

When display shapes is selected, alternate accents will be displayed as either colored diamonds or colored circles following the word.

Diamonds represent standard alternate accents. The color of the diamonds represents what that alternate accents are.

Circles represent alternate accents that are split into multiple accent phrases. To learn more about this, read the notes at the bottom of the Q&A section.

Audio On Click

When audio on click is selected, if you’re on a desktop, you can click on any word that’s been generated to listen to native audio for that word. This feature relies on the audio files contained in the add-on’s folder and thus doesn’t work on other platforms. This doesn’t actually add audio files to your cards, and won’t increase the size of your media folder.

Graph On Hover

When graph on hover is selected, pop-up pitch graphs will appear whenever hovering over a word whose reading and pitch accent have been generated.

Katakana Conversion

When katakana conversion is selected, all kana will be converted into katakana. The conversation is done in real-time through JavaScript and doesn’t influence the actual content of fields. This feature is supported on all platforms, including AnkiWeb, Anki Mobile, and AnkiDroid.

Katakana conversion only converts fields that have been added to the active fields table. If you want a field to be converted but don’t want furigana or pitch accent coloring, add the field to the active fields table with the “kanji” display type.

Active Fields

The active fields tab allows you to insert custom JavaScript code into your original note type templates. You can activate this feature by selecting “Auto CSS & JS Generation”.

There are eight different display types you can choose from when deciding how you want the syntax in your fields to be rendered (as shown below). For each note type, for each field you want rendered according to a specific display type, add a row to the active fields table.

When you press “Apply” after making changes to the active fields table, the add-on will insert custom JavaScript code into your note type templates to reflect that change. Once you sync, those changes will be reflected on AnkiWeb, Anki Mobile, and AnkiDroid as well.

As long as “Auto CSS & JS Generation” is selected, the add-on will continually edit your note type templates to keep them in line with the active fields table. If “Auto CSS & JS Generation” is not selected, the add-on won’t make any changes to your note type templates.

When “Add MIA Japanese Note Type” is selected, the add-on will automatically generate the “MIA Japanese” note type each time you open Anki. If you manually make changes to the “MIA Japanese” note type, the add-on will not reverse those changes.

Display Types

Note: in order to more clearly demonstrate the different display types, pop-up pitch graphs have been turned off in the following pictures.

Kanji:

Colored Kanji:

Hover:

Colored Hover:

Kanji Reading:

Colored Kanji Reading :

Reading:

Colored Reading:

Overwrite Rules


The overwrite rules tab allows you to manage your overwrite rules.

You can easily edit an existing rule by doubling clicking on it in the table. After editing a rule, you will be prompted with the option to apply that change to the existing cards in your collection.

You can delete existing rules by highlighting them, right-clicking, and selecting “Delete Selected Rows”.

Using the options on the right, you can also add new rules, apply all current rules to your collection, and import or export rule lists.

Q&A

Timestamps:
00:45 – Why particles aren’t assigned a pitch
04:28 – Why some common words aren’t assigned a pitch
06:39 – Removing redundancies
09:24 – Why suffixes aren’t assigned a pitch
11:27 – Why counters aren’t assigned a pitch
13:44 – Words with multiple possible accents
17:52 – Multi-accent phrase words

Some Other Notes

We will continue to improve the add-on’s pitch accent dictionary over time, but at the current moment, it’s still far from perfect. Some suffixes and counters have yet to be removed from the dictionary, and will be assigned false accents on generation. If this happens, simply manually remove the falsely assigned accent.

In the video above, Matt said for multi-accent phrase words, the first half of the word has one accent, and the second half has another. But by “half”, what he really meant was “section”. When a word is broken up into multiple accent phrases, the break won’t necessarily be in the middle; it can occur anywhere in the word. This is why the add-on can’t automatically know where the break will be.

Multi-accent phrase words are usually compound words, and you can often intuit where the break is based on the component words. Sometimes both “sections” of a multi-accent phrase word will have the same pitch, such as “切磋琢磨” (せっさ-たくま [1]-[1]).

In the video, it was mentioned that it’s not uncommon for words to have multiple possible accents. Sometimes, one possible accent will treat the entire word as a single accent phrase, while another will treat it as a multi-accent phrase word. For example, the word “毀誉褒貶” can be pronounced as either “きよほうへん [1]” or “きよ・ほうへん [1]-[0]”.

When a word has multiple possible accents, and one of the alternate accents has multiple accent phrases, this is displayed as a circle (instead of a diamond), which is split in half and colored to represent the accents of the first and second sections accordingly.

MIA Japanese and Japanese Support

Having Japanese MIA and Japanese Support installed at the same time will not cause any problems.

That said, the two add-ons use a different syntax. So, if you plan on using both, please follow the instructions below to avoid conflict between the two add-ons.

For fields that you want to generate with the Japanese Support add-on, inside your note type template, add “furigana:” in front of the field name, inside the curly brackets. Also, make sure to not add that field to the active fields table.

For fields that you plan on generating with the MIA Japanese add-on, add them to the active fields table. Also, in your note type template, make sure that furigana: is not inserted in front of the field name, inside of the curly brackets.

If you want to convert cards that you originally generated with the Japanese Support add-on to MIA Japanese syntax, use the mass generation feature to re-generate with MIA Japanese syntax for those cards.