COACHING-L 音声リピートプレーヤー
テキストから作った音声や、端末に保存した音声で、リスニング・シャドーイング・声に出す練習ができるWebアプリです。アカウント登録はいりません。テキストと音声はサーバーへ送らず、使っている端末・ブラウザの中だけで扱います。
公開ページ:https://tools.coaching-l.net/audio-loop-player/
開発・テスト・公開の手順は DEVELOPMENT.md を見てください。
できること
基本の流れは「入口を選ぶ → 素材を用意する → 練習する」です。どの入口から始めても、同じ練習画面で練習します。
- テキストから始める:英語か中国語(普通話)のテキストを、Kokoroというモデルで1文ずつ音声にします。テキストがそのままスクリプトになり、文ごとの時刻も正確です。途中の文で止まったときは、どの文かを示します。その文を直して「音声を作る」を押すと続きから作り、一部の文を直して作り直すときも、直した文だけを作ります。英語は6つ(米国英語3つ・英国英語3つ)、中国語は4つ(女性2つ・男性2つ)の声から選べます。1文は400文字まで、全体で20分までです。文と文の間には短い間(改行のところは少し長め)を入れます。作った音声は128kbpsのMP3で保存します(1分で約1MB)。入力欄のテキストは「テキストを消す」で消せます。言語を切り替えたときも消えます(どちらも直後なら「元に戻す」で戻せます)。
- 音声づくりの待ち時間:最初の文ができると「冒頭を先に聴く」が表示され、残りを作っている間に試聴できます。MP3変換は文の生成と並行して進めます。最近作った文は、文章や声を切り替えた後も、同じ文章・同じ声なら再利用します(最大48MiB・256文、古いものから削除)。初めて読む文章の計算時間や初回のモデル取得時間は端末・通信に依存します。音質を落とす高速モードではありません。
- 英語の改行整理:文途中に改行が残ったときは、入力欄の下の「文途中の改行をつなぐ」で整理できます。自動では変更せず、文末・空行・箇条書きなどの区切りは残します。内容を確認してから音声を作ってください。変更直後は「元に戻す」も使えます。
- 音源から始める:MP3・M4A・WAV など、ブラウザで再生できる音声を読み込みます。 再生準備と端末への保存を並行して進めます。保存中でも再生できますが、保存が終わるまではページを閉じないでください。
- 保存した教材:作った音声と読み込んだ音源を、合わせて20件まで保存します。次に開いたときも一覧から選ぶだけです。名前の横の「✎」で、好きな名前に変えられます(設定やスクリプトはそのまま)。1件もないうちは表示しません。練習画面も、音声を開くまでは表示しません。
- 全文をくり返す:シャドーイングの下の「全文リピート」をONにすると、最後まで再生したあと先頭へ戻ります。回数は「詳しい設定」で変更できます(初めは無制限)。再生完了後にONにするとすぐに先頭から再生し、「全文をもう一度」ボタンでも再スタートできます。区間リピートとは切り替えて使い、A・B位置は残ります。リピーティングへ切り替えると全文リピートはOFFになります。
- 区間をくり返す:再生ゲージのA・Bを動かして、くり返す範囲を決め、「区間リピート」をONにします。波形が表示され、「前の文へ」「次の文へ」で文ごとに区間を移れます。
- シャドーイング / リピーティング:練習画面の「練習のしかた」で切り替えます。初めは「シャドーイング」(無音を入れずに再生)です。「リピーティング」にすると、文のあとに無音が入り、その間に声に出して言えます。区間リピートがONなら区間のあとに、OFFなら1文ごとに入ります。スクリプトがないときは、波形の無音で文を区切ります。無音の長さは、初めは文(区間)の1.5倍です(学習者は元の音声よりゆっくり言うことが多いため)。
- 速度を変える:0.5・0.75・1.0・1.25倍のボタンで切り替えます。0.5〜2.0倍の細かい速度は「詳しい設定」で選べます。
- スクリプトを見ながら聞く:教材のスクリプトを貼り付けるか、テキストファイル(UTF-8・GB18030)を読み込むと、1文ずつ表示し、再生している文に色が付きます。文を押すとその文をA–B区間にします。スクリプトは「スクリプトを直す」でいつでも直せます。文の色の位置がずれるときは、「スクリプトを直す」の中の「選んだ文の時刻を今のA–Bにする」で直せます。
- 音声から文字起こし(補助):スクリプトがないときに、スクリプト欄の「その他の方法」から、OpenAIのWhisperというモデルで、端末の中で文字にします(英語・中国語)。音声の状態や内容によって、文字起こしに誤りが含まれる場合があります。必要に応じて編集してください。中国語は簡体字で表示します。
- 詳しい設定(ふだんは折りたたんでいます)
- くり返す回数(無制限・2・3・5・10回)と、リピーティングの無音の長さ(秒数、または「文(区間)と同じ」「1.5倍」「2倍」)。初めは「無制限・1.5倍」です。無音の長さを選ぶと、「リピーティング」に切り替わります。
- ゲージの拡大・縮小・「区間に合わせる」、「今の位置をAに/Bに」と、A・Bの時刻の数字での入力。
- 細かい速度(0.5〜2.0倍、0.05倍ずつ)。
- 録音して聞き比べ:自分の声を録音し、「お手本→自分の声」でA–B区間と続けて聞き比べます。録音は最長60秒で、保存も送信もせず、別の音声を開くと消えます。
- MP3で書き出す:音声全体・A–B区間・5文や10文ごと(ZIP)。文のあとに、文と同じ長さ(1〜8秒)の無音を入れることもできます。無音を含めて20分までです。
- すぐに戻せる:音声やスクリプトを削除した直後は、画面下の「元に戻す」で戻せます。
- 画面の外からも操作できる:ロック画面やイヤホンのボタン、パソコンのキーボード(Space・矢印・A・B・R・[ ])で操作できます。操作部分を通り過ぎてスクロールすると、画面下に小さなプレーヤーが出ます。
機内など、通信のない場所で使う
一度インターネットにつながった状態で開いて音声を保存しておけば、通信なしで起動して練習できます。出発前に、実際に使う端末とブラウザで次を確かめてください。
- 公開ページを開き、練習する音声を追加して「保存しました」と出ることを確かめます。クラウド上にしかないファイルは、先に端末へダウンロードしてください。
- 機内モードにしてページをいったん閉じ、同じアドレスを開き直して、再生できるか試します。
画面下の「ご利用にあたって」に、準備ができていないときの案内と「準備をやり直す」があります。新しいバージョンがあると「更新あり」と出るので、インターネットにつながっているときに「新しいバージョンに更新する」を押してください。登録した音声と設定・スクリプトは消えません。
保存とプライバシー
- 個人情報(氏名・住所・電話番号・メールアドレスなど)や、人に知られたくない内容を含む音声・スクリプトは、登録しないでください。 日本語訳を表示するときだけ、対象の文・前後各1文・文脈の指定をCloudflare経由でDeepLへ送信します。音声は送りません。端末内の教材は、同じ端末やブラウザを使う人にも見えます。
- 音声・設定・スクリプトは、使っている端末・ブラウザの中に保存します。ほかの端末やブラウザとは同期しません。
- 保存容量が残り少なくなると、「保存した教材」に知らせが出ます。
- 音声を保存すると、ブラウザが自動で消さないように設定を求めます。それでも、ブラウザの履歴・サイトデータを削除すると消えます。元の音声ファイルは残しておいてください。
- 解析サービス・外部フォントは使用しません。CSPでは、このサイトのファイルと、明示的な日本語翻訳に使うCloudflare Workerへの接続を許可しています。
- 例外は「テキストから始める」の音声モデルだけです。初めて音声を作るときに、音声モデル(英語 約92MB・中国語 約340MB)と声のデータを、Hugging Faceから版を固定して受け取り、ブラウザに保存します。受け取るのはモデルだけで、テキストや作った音声は送りません。一度受け取った言語は、通信なしでも音声を作れます。削除は「ご利用にあたって」の「端末に保存したデータ」からできます。
- 文字起こしも端末の中で行い、音声を送りません。初めて文字起こしするときだけ、文字起こし用のデータ(約95MB)をこのサイトから受け取ってブラウザに保存します。一度保存すれば通信なしでも文字起こしでき、「ご利用にあたって」の「端末に保存したデータ」から削除できます。
- 同じ音声かどうかは「ファイル名・サイズ・最終更新日時」で見分けます。名前を変えたり、編集・再ダウンロードしたりすると、別の音声として扱います。
- Safariのプライベートブラウズでも保存できますが、タブを閉じると消えます。
うまくいかないとき
- iPhoneで音声の追加が進まない:「ファイル」アプリで、音声が端末にダウンロード済みか確かめてください。「音声の読み込みを始める」ボタンが出たら押してください。LINEなどのアプリの中で開いているときは、SafariやChromeで開き直してください。
- 画面を消すと区間がずれる:画面ロックや別のアプリに切り替えている間は、端末の省電力の仕組みで、区間の終わりや無音の長さがずれることがあります。正確に練習したいときは、画面を開いたままにしてください。
- 区間の終わりがわずかにずれる:区間の終わりはJavaScriptで見張っているため、数十ミリ秒ほどずれることがあります。とても短い区間には向きません。
- 再生できない音声がある:拡張子が同じでも、中身の形式や著作権保護(DRM)によって再生できないことがあります。音楽アプリや配信サービスの曲は直接は取り込めません。
- テキストからの音声づくりが止まる:初めてのときは音声モデルを受け取るため、Wi-Fiでお使いください。中国語のモデルは大きく、端末のメモリーが足りないとページが再読み込みされることがあります。そのときは次に開いたときに案内が出ます。ほかのタブやアプリを閉じてから試してください。
- 文字起こしに時間がかかる:端末の性能によって、音声の長さと同じくらいかそれ以上かかることがあります。スマホでは、メモリを使いすぎないように約30秒ごとに文字起こしのしくみを読み直すため、パソコンより時間がかかります。文字起こしできるのは20分までの音声です。途中で止まるときは、ほかのタブやアプリを閉じてから試してください。古いスマホでは、メモリが足りずに使えないことがあります。
- 録音できない:ブラウザの設定で、このページにマイクの使用を許可してください。ほかのアプリがマイクを使っていると録音できないことがあります。
- 文字起こしの誤りが多い:「話している言語」が音声と合っているか確かめてください。雑音や音楽が大きい音声、複数の人が同時に話す音声は苦手です。固有名詞や専門用語は「スクリプトを直す」で直してください。
中国語の読みと保存品質
中国語の多音字・軽声・第三声の変化を、語のまとまりに沿って処理します。すべての文脈の読み分けを保証するものではありません。読みの改善は「音声を作る」で新しく生成した音声に適用されます。すでに保存した音声が自動的に変わることはありません。
MP3の「全体」を無音追加なしで書き出すときは、そのまま保存して再圧縮による劣化を避けます。区間の切り出し・分割・無音追加では再エンコードします。以前の64kbps音声は、ダウンロードだけでは128kbps相当の音質になりません。
声を聴き比べる
「テキストから始める」で言語を選び、「声を聴き比べる」を開きます。各話者の「▶ 試聴」を押すと、約5〜6秒のサンプルを再生します。試聴しても選択中の声や入力テキストは変わりません。気に入った話者を上の「声」で選んでください。
試聴用のMP3は全10人分で合計約0.87MB。音声生成モデルの読み込みは不要です。初回の取得後、アプリのオフライン準備が済めば、まだ聴いていない声も通信なしで試聴できます。別の声を押すと切り替わり、もう一度押すと停止します。折りたたみを閉じる、言語を変える、別の入口へ移る場合も停止します。
文字起こしでは、非常に小さい音量を補い、ステレオ音声が左右の打ち消し合いで消えないように処理します。補正するのは認識用の音声だけで、元のファイルや再生音は変更しません。英語・中国語共通の改善ですが、固有名詞・雑音・録音状態による誤認識は残ります。すべての音源で精度が向上するという保証はしていません。
スクリプトの日本語訳
文を長押しすると日本語訳を表示します。通常のタップは従来どおり、その文をA–B区間にします。PCでは右クリック、文にフォーカスしてShift+Enter、または「日本語訳」ボタンでも表示できます。原文の言語は英語・中国語から選び直せます。
日本語翻訳機能はオンラインのときに利用できます。取得した訳は教材ごとに端末へ保存し(最近の200件まで)、保存済みの訳はオフラインでも確認できます。スクリプトを削除すると、そのスクリプトの訳も削除されます。訳には誤りが含まれる場合があります。
翻訳にはDeepLを使い、対象の文と前後各1文、一般/コーチングの文脈をCloudflare Worker経由で送信します。音声は送りません。APIキーはWorkerのシークレットに保持します。今回のDeveloperプランは1回限り100万文字の無料クレジットで、毎月補充される枠ではありません。上限到達時は新しい翻訳を停止し、有料APIや別サービスへ自動で切り替えません。取得済みの訳は、原文・前後文・文脈・言語が一致するときに端末から再利用できます。古いMyMemory訳は新しい訳として再利用しません。
送信した文章の取り扱いにはDeepLの利用規約・プライバシーポリシーが適用されます。個人情報や機密情報を含む文は翻訳しないでください。
文脈付きDeepL翻訳の配置準備・検証結果は Workerの手順 にあります。接続URLの設定とWorkerへのキー登録は完了。英語・中国語の公開Worker経由の実接続を確認しています。