カタログの遅延と、実際に使ったときの遅れが違う理由
「遅延◯◯ミリ秒」と書いてあったのに、実際に使うともっと遅い。ボイスチェンジャーでよく起きるこのズレが、どこから生まれるのかを説明します。
資料には「遅延0.07秒」と書いてある。それなら十分だと判断して進めた。ところが実際に組んでみると、明らかにもっと遅い——。
公表値と実際の遅れが食い違うことは、よくあります。とはいえ、嘘をつかれたわけでも、作り方を間違えたわけでもありません。その数字が、測っている範囲を限定しているだけ。
なぜ食い違うのか。順番に説明します。遅れそのものがどこで生まれるのかは ボイスチェンジャーの遅延はどこで生まれるのか をご覧ください。
公表されている数字が測っている範囲
研究の論文が「遅延◯◯秒」と書くとき、多くの場合それは声を変えるプログラムが、音を受け取ってから結果を返すまでの時間です。
ところが実際のアプリでは、その前後にも時間がかかる。マイクの音がプログラムに届くまで。プログラムが出した音がスピーカーから鳴るまで。この2つは、たいてい数字に含まれていません。
例外もあります。ある研究は「入出力も分析も含めた値です」とわざわざ明記しています。ただ、こうした書き方は少数派です。
つまり数字を見るときに確かめる必要があるのは「速いか遅いか」ではなく、どこからどこまでを測った数字なのかのほうです。
パソコンの中で、静かに積み上がるもの
では、その「含まれていない部分」でどれくらいかかるのか。Windowsの公式資料に数字が出ています。押さえておきたい点は3つあります。
1つめ。待ち時間は入口と出口で2回かかります。
マイクから受け取るときに1回、スピーカーへ出すときにもう1回。片方だけ数えていると、半分しか見積もっていないことになります。
2つめ。初期設定のままだと、けっこうためています。
Windowsでは初期設定で0.01秒ぶんの音をためる仕組みになっています。もっと短くもできますが、そのためには特別な仕組みを明示的に使う必要がある。つまり何もしなければ、入口と出口で合わせて0.02秒が自動的に乗るということです。
3つめ。短くすればいい、という単純な話でもありません。
ためる量を極端に減らすと、パソコンは短い間隔で何度も起きて処理をすることになり、電池の減りが早くなります。同じ資料がはっきりそう書いている。スマートフォンやノートパソコンで動かす企画なら、遅れと電池もちが直接のトレードオフになります。
さらに、エコーを消す機能や雑音を抑える機能を通していれば、その処理時間ぶんも乗る。会議ソフトや配信ソフトを経由するなら、それぞれが内部に持っている待ち時間も加わります。
製品の数字にも、同じことが言える
この「どこまでを含む数字か」という問題は、研究だけの話ではありません。
ある音声AIサービスは、自社の高速な音声処理の仕組みについて「短い入力なら処理はおよそ0.075秒」と書いています。そのうえで同じ資料の中に、これは通信を除いたモデルの処理だけの値であり、実際に音が返ってくるまではほぼ必ずもっと長い、しばしばかなり長くなると明記しています。数字と、その数字が含まない範囲が、セットで書かれている例です。
そしてそもそも、具体的な数字を公表している会社自体がごくわずかです。 秒数を明示している発表もありますが例外的で、多くは「遅延の少ない処理」「超低遅延」といった言葉での表現にとどまります。
これは各社が不誠実だという話ではありません。条件をそろえた数字を出すこと自体が難しいという、この分野の実情です。だからこそ、カタログの数字を並べて比べても答えは出ない。
声を変える処理の外側で加わる遅れ
つまずきやすいのは、声を変えるプログラムそのものよりも、マイクやスピーカーを制御するソフト(オーディオドライバ)の設定や、使っている機器のほうです。同じプログラムを載せても、どの機器をどう設定して使うかで体感は変わります。
音の入口と出口でかかる時間は、端末を動かす基本ソフト(OS)と、この制御ソフトの作りによって変わります。とくにAndroid端末は機種ごとに仕組みが異なるため、差が大きくなります。この機種差により、試作時と別の端末では遅れ方が変わる場合があります。なお、機種を横断して測った公開データは確認できません。
そのため遅れの要件を検討する段階では、どのプログラムを使うかと同じくらい、どの機器・どのOSで動かすのかが効いてきます。
見積もるときのチェックリスト
公表されている数字から実際の体感を見積もるときに確認する点は、次の5つです。
- その数字は、パソコンの入口と出口を含んでいるか?(含まないのがふつうです)
- 入口と出口の両方を数えたか?(待ち時間は2回かかります)
- 設定は初期状態のままか?(Windowsでは0.01秒が初期値です)
- 経路に他の機能が挟まっていないか?(エコー除去・雑音抑制・会議ソフト・配信ソフト)
- 動かす機器とOSを決めたか?(とくにスマートフォンは機種差があります)
このうち1つでも曖昧なままだと、見積もりは大きくずれます。逆に言えば、使う機器と設定を先に決めてしまえば、見積もりの前提がそろいます。
プログラム側で削れる部分については 声質変換の遅延を減らす7つの方法 を、そもそも何秒を目指すべきかは ボイスチェンジャーの遅延は何秒まで許されるのか をご覧ください。