ファイルを選択
  1. base64hub
  2. ファイルツール
  3. WAV を Base64 に

WAV を Base64 に変換

.wav ファイルをドロップし、Base64 または data:audio/wav の URI をコピーできます。WAV は非圧縮なので、文字列の長さはサンプリングレートとチャンネル数で決まります。

無料 登録不要・制限なし ローカル アップロードなし 更新日 2026/10/27
ここにファイルをドロップ、貼り付け、または選択
入力 –出力 –サイズ –

ブラウザ内で処理されます。このページがデータをどこかに送信することはできません – その根拠

WAV を Base64 に変換する方法

  1. .wav ファイルをボックスにドロップするか、ファイル選択で選びます。
  2. プレビューで再生します。
  3. 出力形式 は Data URI に設定されています。API 用には プレーン Base64 を、ファイル名、MIME タイプ、サイズも含めるなら JSON を選びます。
  4. 出力をコピー を押します。数秒を超える録音は長い文字列になるので、.txt で保存 のほうが扱いやすいでしょう。

Base64 の WAV の大きさ

非圧縮の PCM は簡単に計算できます。サンプリングレート × 1 サンプルのバイト数 × チャンネル数が 1 秒あたりのバイト数です。標準の 44 バイトのヘッダーを足し、Base64 にするために 4/3 を掛けます。

形式1 秒10 秒1 分
8 kHz、モノラル、16 ビット(電話)21,392 文字213,392 文字1,280,060 文字
16 kHz、モノラル、16 ビット(音声)42,728 文字426,728 文字2,560,060 文字
44.1 kHz、モノラル、16 ビット117,660 文字1,176,060 文字7,056,060 文字
44.1 kHz、ステレオ、16 ビット(CD)235,260 文字2,352,060 文字14,112,060 文字
48 kHz、ステレオ、16 ビット256,060 文字2,560,060 文字15,360,060 文字

アプリによっては録音したファイルにメタデータの追加チャンクが含まれるので、実際のサイズはわずかに大きくなることがあります。

WAV と音声認識 API

音声認識サービスは、非圧縮の 16 ビット PCM をよく受け付けます。劣化なくデコードでき、コーデックが不要だからです。JSON リクエストに音声をインラインで入れる場合は Base64 にし、エンコード方式、サンプリングレート、チャンネル数を示すフィールドを添えます。これらの値はファイルと一致していなければなりません。44.1 kHz ステレオの録音を 16 kHz モノラルと申告すると、意味不明な文字起こし結果になるかエラーになります。

音声認識モデルは通常 16 kHz モノラル以下で動作します。CD 品質のステレオ録音をエンコード前に 16 kHz モノラルに変換すると、リクエストは約 5.5 分の 1 になり、たいていは認識精度も落ちません。変換はオーディオエディターかコマンドラインの変換ツールで行ってください。このページはファイルをそのままエンコードします。

長い録音でインラインの上限にまだ収まらない場合、こうしたサービスはたいていストレージ上のファイルへのリンクも受け付けるので、Base64 をまったく使わずに済みます。

Python で WAV を生成してエンコードする

標準ライブラリだけで WAV を書き出してエンコードでき、テスト用データを作るのに便利です。次のコードは 880 Hz、200 ミリ秒のビープ音を作ります。

import base64, io, math, struct, wave

rate = 8000
samples = b"".join(
    struct.pack("<h", int(12000 * math.sin(2 * math.pi * 880 * i / rate)))
    for i in range(rate // 5)
)
buf = io.BytesIO()
with wave.open(buf, "wb") as w:
    w.setnchannels(1)
    w.setsampwidth(2)
    w.setframerate(rate)
    w.writeframes(samples)

uri = "data:audio/wav;base64," + base64.b64encode(buf.getvalue()).decode()

ファイルは 3,244 バイト、data URI は 4,350 文字で、data:audio/wav;base64,UklGRqQMAABXQVZF で始まります。ファイルとストリームについては Python での Base64 で詳しく解説しています。

元に戻す

Base64 を WAV に では、Base64 の WAV 文字列を再生し、ファイルとして保存できます。Web 用に音声を小さくするなら、圧縮形式を使ってください。サイズの比較は MP3 を Base64 に を参照してください。

よくある質問

WAV の Base64 がこんなに長いのはなぜですか?

WAV は通常、生の PCM サンプルを圧縮せずに保存しているからです。CD 品質のステレオ 1 秒は音声データだけで 176,400 バイト、ヘッダーを含めた Base64 では 235,260 文字になります。モノラルにして低いサンプリングレートに変換すれば、大幅に減らせます。

audio/wav と audio/x-wav のどちらですか?

どちらも使われており、ブラウザはどちらでも再生します。一般的なのは audio/wav で、古いシステムの中には audio/x-wav や audio/wave を送るものもあります。このツールはブラウザが報告するタイプを使います。

Base64 にした WAV の先頭の文字は何を意味しますか?

UklGR は RIFF コンテナのヘッダーで、WebP や AVI と共通です。WAVE タグは 12~16 文字目に XQVZF として現れ、その直後の Zm10 は fmt チャンクです。