速く打つとiPhoneのキーボード音が遅れるのはなぜか
クリック音が指から半拍遅れて届く、あるいは何打かに一度抜け落ちる。Bluetoothの伝送遅延、オーディオ機器の取り合い、キーボード拡張のメモリ、短い音の鳴らし方、そして低電力モード。五つの原因と、その見分け方を整理します。
速く打っているときに、クリック音が指の動きから半拍遅れて届く。あるいは何打かに一度、音そのものが抜け落ちる。これは気のせいではなく実際に測れる遅延で、原因はいくつかに絞り込めます。しかも重なって起きます。音が端末を出たあとどの経路を通っているのか、その瞬間にオーディオ機器を誰が使っているのか、キーボード拡張にどれだけの余裕が残っているのか、そして短い音をどの方法で鳴らしているのか。この四つに、低電力モードが乗ることがあります。
なお、キーボードを開いた直後に一瞬だけ固まる現象は、これとは別の話です。あちらは拡張がメモリに読み込まれるまでの一度きりの待ち時間で、原因も対処も違います。ここで扱うのは、すでに動いているキーボードで入力中に音が後ろへずれていく現象のほうです。
1. 音がBluetoothを経由している
本体のスピーカーと有線の経路は、ほぼ遅延がないと考えて構いません。Bluetoothは違います。AirPodsでも、Bluetoothスピーカーでも、車載オーディオでも、音が耳に届くまでに符号化、無線での送信、復号という工程が挟まります。使われるコーデックによっては、はっきり分かる程度になります。この遅れが乗るのはキーボードが音を鳴らし終えたあと、アプリの外側にあるBluetoothの層です。したがって標準キーボードであれ他社製であれ、キーボード側から取り除くことはできません。本体スピーカーに戻した瞬間に違和感が消えるなら、原因はこれです。
2. ほかのアプリがオーディオ機器を掴んでいる
iOSは、オーディオを本格的に設定して使う処理を、同時にはひとつのアプリにしか渡しません。通話、Siri、ボイスメモの録音、再生を始めたばかりの音楽アプリがこれにあたります。打鍵音はこの取り合いに必ず参加するわけではないのですが、自前のオーディオセッションを通して音を出す作りのキーボードであれば、先にハードウェアを使っている通話や録音との切り替わりの瞬間に、引っかかりや一瞬の無音が生じます。相手が手を離せば、こちらが何もしなくても落ち着きます。
3. キーボード拡張のメモリに余裕がない
キーボード拡張は、通常のアプリよりはるかに厳しいメモリの上限の中で動きます。数百メガバイトではなく数十メガバイトの世界です。速く打っているのと同じ瞬間に、拡張がテーマの画像を展開していたり、光の演出を回し続けていたり、絵文字のパネルを新しく読み込んでいたりすれば、それらは音と同じメモリとCPU時間を奪い合います。古い機種や、背後にアプリをいくつも開いたままの状態では、音声ファイルそのものよりこの競合のほうが引っかかりの正体である場合が多いです。
4. 短い音の鳴らし方はキーボードによって違う
iOSには、短い音を出す方法が性質の異なる二通り用意されています。ひとつは通知音やUIのクリック音、キーボード音のために用意された軽量なシステムサウンドの呼び出しで、オーディオセッションを一切必要とせず、ほぼ即座に返ってきます。もうひとつは音楽や長い録音のための本格的な再生機構で、最初の音が出るまでにバッファとセッションの準備が要ります。後者で作られたキーボードは、速い連打で実際に遅れます。一打ごとに、音がスピーカーへ届くまでの下ごしらえが多いからです。これはキーボードの内部で決まっている作りで、設定のスイッチで切り替えられる類のものではありません。
5. 低電力モードが背景の処理を絞っている
低電力モードは、バッテリーを延ばすために端末全体で背景のCPU処理を控えめにします。iOSから見れば、キーボード拡張もその背景側の処理です。これ単独で気づくほどの遅延が出ることはまれですが、上のいずれかと重なると、かろうじて気づく程度の引っかかりがはっきり体感できる遅れに変わることがあります。バッテリーが少ないときに限って症状が出るなら、設定App →「バッテリー」で一度切って確かめる価値があります。
どれに当たるかの見分け方
- スピーカーでは問題なく、AirPodsやBluetoothスピーカーに切り替えたときだけ遅れる。原因は一つ目、Bluetoothの伝送遅延です。
- 普段は正常で、通話中やSiriの直後だけ引っかかる。原因は二つ目、オーディオの取り合いです。
- ほかのアプリを開いていると悪化し、閉じると改善する。原因は三つ目、拡張のメモリ不足です。
- いつでも、速い連打のたびに必ず半拍遅れる。原因は四つ目、そのキーボードの音の鳴らし方です。
- バッテリーが少ないときにだけ起きる。原因は五つ目、低電力モードです。
五つのうち、こちら側で変えられるのは二つ目から五つ目の一部だけです。Bluetoothの遅延は物理的な伝送時間なので、経路を変える以外に手はありません。
よくある質問
自宅では問題ないのにBluetoothスピーカーや車の中だとキーボード音が遅れます
Bluetoothでの音声伝送は、符号化と送信と復号のぶんだけ本体スピーカーより遅れます。この遅れは音がすでに端末を出たあとに乗るため、どのキーボードアプリでも取り除けません。本体スピーカーに戻して違和感が消えれば、原因はこれだと確認できます。
ほかのアプリを閉じると打鍵音の遅れは改善しますか
改善する場合があります。キーボード拡張は通常のアプリよりずっと狭いメモリの中で動くため、速く打っている最中にほかのアプリとメモリやCPUを奪い合うと引っかかりが出やすくなります。開いているアプリが少ないほど競合は減ります。
キーボード音の遅れを直す設定はありますか
専用の設定はありません。Bluetoothのときだけ遅れるのか、通話中だけなのか、ほかのアプリを開いているときだけなのか、低電力モードのときだけなのかを切り分けるのが現実的な方法です。原因ごとに対処できるものとできないものが分かれます。
自分のキーボードで試す
Kiboは、本物のメカニカルキー音とテーマ、RGBバックライト効果を備えたiPhone向けの無料カスタムキーボードです。アカウント登録も広告もなく、フルアクセスをオフにしたままでも使えます。