はじめに
音声書き起こし(Audio to Text)や音声処理のWebサービスを作ろうとすると、最初に直面するのがインフラコストとプライバシーの壁です。
クラウド側のWhisper APIや音声処理サーバーを愚直に叩く構成にすると、ユーザーが1時間の音源を投げ込んできた瞬間にAPI費用が跳ね上がります。また、機密情報が含まれる会議録音を扱う場合、サーバーへのアップロード自体を嫌がるユーザーも少なくありません。
そこで今回は、音声のデコード・リサンプリングなどの前処理をブラウザ(クライアントサイド)側で完結させ、サーバー転送を最小限に抑える構成を試してみました。
実際に公開したツール:
👉 Audio to Text Converter
本記事では、この実装を通して得られた知見と、ブラウザで大容量音声を扱う際の注意点をまとめます。
全体アーキテクチャ
音声ファイルをブラウザ内で安全にさばくため、以下のようなパイプラインを組んでいます。