Ankiで「音声ファイルを出力する方法」と「テキストを読み上げさせる方法」について、どのような手段があるか紹介します。また、AwesomeTTSを使った音声ファイル一括設定方法についても説明します。

Ankiで音声を出力したい、英単語の発音を確認したい!

方法は色々あるが…

TTSか音声ファイルを利用する

Ankiで音声を出力する方法はいくつかありますが、「TTS (Text-to-Speech、テキスト読み上げ機能) を利用する方法」と、「音声ファイルを取り込んで再生する方法」に大別できます。

TTS (テキスト読み上げ)音声ファイル
すぐ使えるJavascriptアドオン取り込み再生再生 (HTML5)
AnkiDroid (Android)××
AnkiMobile (iOS)××
Anki (PC)××〇 (2.1以上)

本記事ではそれぞれの設定方法を解説します。

オススメの方法は?

手軽なのはTTSですが、OSごとに設定方法異なり、かつ読み上げ範囲の指定が細かくできない方法が多いという欠点もあります。一方、音声ファイルは一度取り込めばデバイスに依存せず再生できますが、音声ファイルを用意する手間がかかります。

どちらも一長一短ですが、TTSでは痒い所まで手が届かないことが多いため、音声ファイルを取り込む方がオススメです。音声ファイルが無い場合は、PCのAnkiでアドオン (AwesomeTTS) を利用し一括で音声ファイルの自動生成・設定を行うこともできます。個人的にはこの方法が一番オススメです。

もちろん、PCで作業してもAnkiWebを通じてAndroid版、iOS版のAnkiに音声ファイルを同期することが可能です。Anki全般の情報については「Ankiを始める/紹介する時に必要な情報を集めたページ」を参照ください。

前提条件

英単語一覧の取り込み

本記事では、Ankiのインストールおよび英単語一覧の取り込みまで完了しており、英単語の発音を確認したい、という状況を想定しています。英単語一覧の作成・取り込みについては以下記事を参照してください。

作業環境

本記事の内容はAnki 2.0.50 (Windows版) での操作になります。バージョン 2.1以上の場合でも操作手順自体は同じですが、項目の名称や名称が多少違う場合があります。適宜読み替えてください。Mac版のAnkiについては試していませんがWindows版と同等の操作ができるはずです。

OSソフトウェア
Android 7.0AnkiDroid 2.8.3
iOS 11.4AnkiMobile 2.0.38
Windows 10Anki 2.0.5.0


TTS (音声読み上げ機能) を利用する方法

概要

OSの機能を利用する

Android、iOS、Windows、MacにはTTS (合成音声でテキストを読み上げる機能) が備わっています。とりあえず簡単に音声を出力できるので、Ankiの使い方が良く分からない場合はこの方法を利用しても良いでしょう。特にAndroid版のAnkiにはアプリ内にTTSに関する設定があり、簡単に合成音声を出力することができます。

一方、iOS版やWindows版、Mac版のAnkiは直接TTSと連動していないため読み上げる範囲を指定したり、アドオンをインストールし、カードテンプレートにも変更を加える必要があったりと、少し手間がかかります。

Android (AnkiDroid) のTTS

AnkiDroidの設定

Android端末には「Googleテキスト読み上げ」などのTTSがインストールされており、AnkiDroidの設定で有効・無効を切り替えることができます。

設定手順は「Android版Anki(ankidroid)で、英単語の読み上げを有効にする」を参照ください。

iOS (AnkiMobile) のTTS

iOSの読み上げ機能/Javascriptを利用する

iOSの機能を利用する方法

iOSには、選択した項目または画面全体のテキストを読み上げる機能があります。[設定]-[一般]-[アクセシビリティ]-[スピーチ]の中に設定があるので、有効にすればAnkiのカード上にある英単語や英文を読み上げさせることができます。

英単語が日本語音声で読み上げられる場合、デバイスの使用言語を英語にすれば英語音声で読み上げられる (はず)
Javascriptを利用する方法

AnkiMobile限定ですが、音声読み上げ用のJavascriptをAnkiの表面/裏面テンプレートに記述することで、自動で音声を読み上げさせることもできます。

詳細は「iPhone 版 Anki でテキストを読み上げるには – ノートを読み上げるカードテンプレートの作り方」を参照ください。

Javascriptで読み上げさせる方法は正式サポート外

PC (Windows/Mac) のTTS

アドオンをインストールして対応する

Windows、MacにもTTSの機能自体はありますが、AnkiにはTTSを利用する機能がありません。しかし、AnkiにAwesomeTTSというアドオンを追加し、表面/裏面テンプレートにタグを記載することでTTSを利用することができるようになります。詳細は「Ankiのカード表示を編集する – 読み上げ設定」を参照ください。

なお、このAwesomeTTSは音声ファイルの一括作成・設定もできます (手順は後述)。個人的にはファイルを作成する方法の方がオススメです。

2018年6月時点で利用できない方法

GoogleのオンラインTTSサービスは利用できない?

Ankiマニュアルなどで説明されている音声出力方法の1つに、カートテンプレートにGoogleのテキスト読み上げ機能を呼び出すURLを記載する方法があります。以下のような記述をAnkiの表面/裏面テンプレートに記載するだけという手軽な方法でしたが、Google側で仕様変更があったようでこの方法は使えません (2018年6月時点)。

[sound:http://translate.google.com/translate_tts?ie=utf-8&tl=en&q={{Front}}]

音声ファイルの取り込んで再生する

概要

PCで作業するのが一番簡単

すでに音声ファイルが準備できているのであれば、

  1. Ankiのフォルダ内にmp3などの音声ファイルを保存する
  2. Ankiのカード テンプレートに音声ファイルを呼び出す記述を書く

上記作業でAnki上で音声を出力することができます。基本的にはPCのAnkiで一括設定し、Android/iOS側で同期を行う方法が簡単です。

① 音声ファイルをAnkiフォルダに保存する

ファイルの保存場所

OSのバージョン、AnkiのバージョンによってAnkiのインストールフォルダは異なる場合がありますが、基本的には以下フォルダが該当します。Windows、Mac、Linuxについてはマニュアルの説明も参照してください。

OSAnkiで音声ファイルを保存するフォルダ
Android(ストレージ)\AnkiDroid\collection.media
Windows%APPDATA%\Anki2
Mac~/Library/Application Support/Anki2

iOSについては、AnkiMobileのmediaフォルダはシステム管理下におかれ、通常の方法ではアクセスできません。PCで作業し、同期する方法を取りましょう。

Windowsでの操作方法例

例として、Windows 10での操作を記載します。

キーボードの[Windows (四角い窓のロゴ)]キーと[R]キーを同時に押します。[ファイル名を指定して実行]画面が表示されるので以下を入力し、[OK]をクリックします。

%APPDATA%\Anki2

Anki2フォルダが開かれるので、その中の[ユーザー名]-[collection.media]フォルダを開き、その中に音声ファイルを保存すれば作業は完了です。

音声ファイルの名前は任意。英単語と同じ名称だと管理上便利ではある

② 音声ファイルを呼び出す記述

基本となる書き方 (Android/iOS/PC)

基本の書き方

Ankiで音声ファイルを扱うには、以下のように記載します。

[sound:音声ファイル名.拡張子]

例えば音声ファイル名が「ecclesiastical.mp3」の場合、[sound:ecclesiastical.mp3]のように記載します。

予め「Sound」フィールドを作成しておき、カード テンプレートで{{Sound}}を記載します。

あとは各英単語のSoundフィールドに音声出力の記述を追加すれば、音声が出力できます。

ただ、Ankiの画面でSoundフィールドに1つ1つ入力していくのは手間なので、CSVファイルで音声ファイル名を管理し、一括で取り込んだ方が良いでしょう。

なお、画像のように音声ファイル名のみのCSVファイルを取り込む場合は、カードテンプレートに以下のような記述をします。

[sound:{{Sound}}]
音声ファイル名と英単語を同じに設定した場合

英単語と音声ファイル名が同じ場合、カードテンプレートに以下のような記述を追加すれば、わざわざ音声ファイル名を入力する「Sound」フィールドを用意する必要はありません。

[sound:{{Eng}}.mp3]
補足: 再生ボタンの表示について

音声再生ボタン (▶) は、Android版とiOS版のAnkiでは自動で表示されますが、PC版では表示されません。表示させるには別途アドオン「Replay buttons on card」をインストールする必要があります。

HTML5での書き方 (Android/iOS/PC(2.1以上))

HTML5のaudioタグを利用

AndroidやiOSのスマホ/タブレット、またはPC版 Anki 2.1以上で実施しているという場合は、HTML5で記述しても良いでしょう。

具体的には、以下のような記述をします。

<audio controls autoplay src="音声ファイル名.拡張子" />

カードテンプレートには

<audio controls autoplay src="{{Sound}}" />
<audio controls autoplay src="{{Eng}}.mp3" />

上記のように記載することになるかと思います。

実際の画面では、再生や音量のコントローラーが表示されます。

再生開始時間の指定も可能

audioタグでは、音声ファイルの再生開始時間を指定することができます。

<audio controls autoplay src="音声ファイル名.拡張子#t=開始時間,終了時間" />

例えば、以下のように記述すると、再生時間5~10秒間の音声が自動再生されます。

<audio controls autoplay src="section1.mp3#t=5,10" />

CSVファイルで開始時間・終了時間を準備し、それぞれAnkiの「Start」「End」フィールドに読みんだとすると、以下の記述をカードテンプレートに記載すれば良いでしょう。

<audio controls autoplay src="{{Sound}}#t={{Start}},{{End}}" />

複数の単語・文章が1つにまとまっている音声ファイルの場合は、このようにHTML5のaudioタグを利用した方がよさそうですね。

AwesomeTTSで英単語の音声ファイルを一括設定

概要

PC版AnkiでTTSを利用するために必要なアドオン「AwesomeTTS」ですが、Googleの合成音声やOxford Dictionaryの英単語の音声をダウンロード・保存する機能があります。一度音声ファイルを作成すれば環境に左右されず音声再生が可能なため、TTSで音声を再生するよりもおすすめです。

ここでは具体的な操作方法を説明します。

アドオンのインストール

AwesomeTTS

Downloadコードを確認してインストールする

Ankiを起動し、[ツール]-[アドオン]-[検索とインストール]をクリックします。

Ver 2.1以上の場合は、[ツール]-[アドオン]をクリックし、起動した画面で[新たにアドをンを取得]をクリック

[ブラウザー]をクリックします。すると、インターネットブラウザ上でアドオン一覧画面が表示されます。

Anki 2.1以上の場合は[アドオン一覧]をクリック

一覧の中に「AwesomeTTS」があるのでクリックして開き、ページの下の方にある[Download]のコードをコピーします。

Anki 2.0と2.1ではAwesomeTTSのDLコードが異なるので注意

コピーしたコードを、[アドオンをインストールする]画面のコード欄にペーストし、[OK]をクリックします。

完了したら[OK]ボタンをクリックし、Ankiを終了します。

改めてAnkiを起動し、[ツール]-[アドオン]メニューの中にAwesomeTTSがあればインストールは完了です。

Replay buttons on card

再生ボタンを表示するアドオン

前述していますが、PC版Ankiで音声再生ボタン (▶) を表示させる場合は、アドオン「Replay buttons on card」をインストールする必要があります。

必要な場合はAwesomeTTSと同様の手順でDownloadコードを確認し、インストールしてください。

フィールドとテンプレートの準備

音声ファイル設定用のフィールドを作成

各英単語に対応した音声ファイルを一括作成する前に、音声ファイルを設定するフィールドを準備します。

ここでは、ブラウザーからフィールドを作成する方法を説明します。

ブラウザーから単語帳のフィールドを追加する

Ankiを起動し、[ブラウザー]をクリックします。

音声を作成する単語帳を画面の左型の一覧から選び、右側の[フィールド]をクリックします。

画像ではVol.4という単語帳の英単語に音声ファイルを追加する
Ankiのバージョンが2.1以上のブラウザーで画面左の単語帳一覧が表示されていない場合、画面上部のメニュー[移動]-[サイドバー]を選択すると単語帳一覧が表示される

フィールド設定画面が表示されるので、[追加]をクリックします。

音声ファイルを設定するフィールド名称を任意で入力したら[OK]をクリックします。フィールド一覧に追加されるので、[閉じる]をクリックし、画面を閉じます。

カードテンプレートの編集

音声ファイルをカードに組み込むための設定

フィールドを作成したら、今度はAnkiカードに組み込んでいきます。ブラウザーで単語帳を選択し、[カード]をクリックします。

テンプレートの編集画面が表示されるので、表面/裏面テンプレートに{{フィールド名}}を追記します。フィールド名がSoundの場合は{{Sound}}をテンプレート内に記載します。

以上でテンプレートの編集は完了です。

記述を追加した場所に再生ボタンが表示される

プレビュー上では見れませんが、最終的には{{Sound}}を記載した場所に再生ボタン (▶) が表示されます。

音声ファイルの一括作成

環境設定

音声ファイル作成中の一時停止時間を決める

初期設定では処理スピードが遅いので設定を変更します。[ツール]-[AwesomeTTS]をクリックします。

設定画面の[MP3s]タブを開き、画面下部の「After」と「sleep for」の設定を変更します。任意に決めて良いのですが、ひとまず以下の値に設定し、[OK]をクリックします。

項目
After100 operations
sleep for30 seconds

ちなみのこの設定は「音声ファイルをいくつ作成したら、何秒間隔をあけるか」を決めるもので、Afterの設定を大きくするほど、sleep forの設定を小さくするほど処理の一時停止時間が短くなります。

停止時間を短くしすぎるとサーバー側の負荷が高くなり、正常に処理されなくなる可能性があるので程々にしておくこと

音声ファイル一括設定

処理対象の項目を選択

Ankiのメイン画面の[ブラウザー]をクリックします。

画面左の一覧から単語帳を選択し、画面右側の一覧から音声ファイルを作成する英単語を選択します。全英単語が対象の場合は、キーボードの[Ctrl]と[A]を同時に押して全選択します。

単語を選択した状態で、画面上の[AwesomeTTS]-[Add Audio to Selected]をクリックします。

音声作成の設定

設定画面の画面左側は音声を作成/ダウンロードするサービスの選択画面です。

任意で選択して問題ありませんが、例えば英単語の音声 (米国) を作成する場合は以下を選択します。

Generate UsingOxford Dictionay
VoiceEnglish, American (en-US)

単語ではなく英文の音声を作成する場合は以下を選択します

Generate UsingGoogle Translate
VoiceEnglish, American (en-US)

なお、画面下の[Save]から選択した内容を保存すれば、以後はすぐに選べるようになります。

設定画面の右側では、どのフィールドの音声を、どこのフィールドに設定するのかを決めます。

「Eng」フィールドの単語の音声を「Sound」フィールドに設定する場合は、以下のように設定します。

Source FieldEng
Destination FieldSound
Overwrite ~チェック
Wrap the Filename ~チェック

[Generate]を押して処理を開始し、すべて完了すればSoundフィールドに音声ファイルの設定が保存されます。

以上で音声ファイルの一括作成・設定は完了です。Ankiで音声が出力されるはずです。

補足

音声ファイルが未設定の項目のみ抽出して一括設定する方法

音声ファイルの一括作成を途中で中断したり、単語帳に英単語を追加などした場合、音声ファイルの設定を行っていない項目のみ抽出して処理を行いたいことがあるので、作業手順を簡単ですが説明します。

まずは[ブラウザー]画面を開き、画面左側の一覧から処理対象の単語帳を選びます。

項目一覧の上に「deck:単語帳名」と表示された欄があるので、その後ろに半角スペースを空けて「-[sound」と入力し、キーボードの[Enter]キーを押すと音声ファイル未設定の項目の一覧が表示されます。

あとはキーボードの[Ctrl]と[A]キーを同時押しして全選択し、前述の手順で音声ファイルの設定を行えば良いでしょう。

検索欄に マイナス(-) を付けた文字を入力することで、その文字を含まない項目を抽出することができる

音声ファイルの設定を一括削除する場合

音声ファイルの設定を一括削除することも可能です。

[ブラウザー]画面で音声ファイルを削除したい項目を選択したら、[AwesomeTTS]-[Remove Audio from Selected]をクリックします。

設定画面が表示されるので、音声ファイルの設定があるフィールドを選択し、[Remove Now]をクリックすれば作業完了です。

学習時、音声を自動再生したい場合

Ankiの学習中に音声が自動再生するか否かは単語帳のオプション設定に依存します。

単語帳の[▼]-[オプション]をクリックします。

[一般]タブに[音声を自動再生する]という項目があるので、設定を変更して[OK]をクリックすれば自動再生の有無が切り替わります。



終わりに

音声の出力方法は色々ありすぎて……

Ankiで音声出力する方法は多く存在し、またOSに依存する部分もあるのでややこしいです。ネットで検索しても部分的な情報しか掲載されていないことも多いため、この記事では音声出力に関する方法全般についてまとめました。お役に立てば幸いです。