音声 Base64 変換ツール

MP3、WAV、OGG などの音声ファイルを、HTML、JavaScript、音声 API のリクエスト用に Base64 にエンコードします。内蔵プレーヤーで再生して確認してから、Base64 文字列または data URI をコピーできます。

すべてブラウザ内で処理され、データはアップロードされません。

使い方

  1. 音声ファイルをドロップエリアにドラッグするか、クリックして選択します。MP3、WAV、OGG、M4A、FLAC などの形式に対応しています。
  2. プレビューのプレーヤーで再生し、正しい音声かどうかを確認します。
  3. HTML の audio 要素には「Data URI」、API リクエストには「Base64」を選びます。
  4. 結果を「コピー」するか、.txt ファイルとして「ダウンロード」します。

Web ページで Base64 の音声を再生する

音声の MIME タイプを指定した data URI は、ブラウザが音声の URL を受け付ける場所ならどこでも使えます。

<audio controls src="data:audio/mpeg;base64,..."></audio>

// JavaScript:ボタンのクリック時に短い効果音を再生
const click = new Audio('data:audio/wav;base64,...');
button.addEventListener('click', () => click.play());

ブラウザは通常、訪問者がページを操作する前に音声が再生されるのをブロックします。そのため、play() はページの読み込み時ではなく、クリックやキー操作のハンドラーから呼び出してください。

Base64 の音声が適している用途

  • 短い UI サウンド。数 KB 程度のクリック音、通知音、エラー音は JavaScript バンドルの中に含めておけるので、追加のリクエストなしですぐに再生できます。
  • オフラインアプリや単一ファイルのアプリ。ゲーム、キオスク端末、e ラーニング教材、HTML レポートなど、サーバーなしに 1 つのファイルで動作する必要があるものは、音声をインラインで持たせられます。
  • 音声認識 API。多くのクラウド音声認識サービスは、短い録音を JSON リクエスト内の Base64 フィールド(content や audio という名前が多い)で受け付けます。通常は特定の形式、サンプリングレート、チャンネル数が求められます。このツールはファイルをそのままエンコードするだけで、形式の変換やリサンプリングは行いません。
  • テストのフィクスチャ。音声処理コードのテストでは、ごく小さなサンプルを文字列定数として保持できます。

音声に Base64 を使うべきでない場合

Base64 にするとサイズが約 3 分の 1 増え、ブラウザは文字列全体を受信するまで再生を開始できません。ストリーミングも、個別のキャッシュも、シーク用の Range リクエストも使えません。128 kbps で 5 分の MP3 は約 4.8 MB あり、HTML や JavaScript の中では約 6.4 MB のテキストになって、そのファイルが変更されるたびに再ダウンロードされます。音楽、ポッドキャスト、その他の長い録音には、通常の音声ファイルを配信してください。目安として、インライン化するのは数秒程度の音声に限るのがよいでしょう。

音声形式と MIME タイプ

形式data URI のプレフィックス備考
MP3data:audio/mpeg;base64,サイズが小さく、すべてのブラウザで再生できる
WAVdata:audio/wav;base64,非圧縮でサイズが大きい。ごく短い音声なら問題ない
OGG(Vorbis、Opus)data:audio/ogg;base64,サイズが小さい。古いバージョンの Safari では再生できない
M4A(AAC)data:audio/mp4;base64,サイズが小さく、幅広く対応している
FLACdata:audio/flac;base64,可逆圧縮。MP3 や AAC よりはるかに大きい

OS によっては、audio/x-wav や audio/x-m4a のような別名のタイプが報告されることがあります。ブラウザは通常これらも再生できます。プラットフォームが特定のタイプを必要とする場合は、プレフィックスを書き換えてください。

よくある質問

data URI での MP3 の MIME タイプは何ですか?
登録されているタイプは audio/mpeg なので、data URI は data:audio/mpeg;base64, で始まります。audio/mp3 もよく見かけ、受け付けるブラウザもありますが、audio/mpeg を使うのが確実です。
プレビューでファイルが再生されないのはなぜですか?

プレーヤーはブラウザに組み込まれたコーデックを使用します。古いバージョンの Safari での OGG のように、ブラウザが対応していない形式ではプレビューは無音のままですが、Base64 の出力はファイルの正確なコピーです。

Base64 の音声クリップはどのくらいの長さまで使えますか?

このツールは 100 MB までのファイルをエンコードできますが、埋め込むには大きすぎます。インラインで使う場合は、数秒、数十 KB 程度に抑えてください。音声 API の場合は、インライン音声の上限を確認してください。ストレージにアップロードした音声の上限よりかなり低いことがよくあります。

ここで MP3 を WAV に変換できますか?

いいえ。このツールはファイルをそのままエンコードし、形式、ビットレート、サンプリングレートは変更しません。先にオーディオエディターや FFmpeg などのコマンドラインツールで音声を変換してから、その結果をエンコードしてください。

音声はアップロードされますか?

いいえ。エンコードと再生はブラウザ内で行われ、ファイルがお使いのデバイスから出ることはありません。