Загрузить файл
  1. base64hub
  2. Инструменты для файлов
  3. WAV в Base64

WAV в Base64

Перетащите файл .wav и скопируйте его Base64 или URI data:audio/wav. WAV хранится без сжатия, поэтому длину строки определяют частота дискретизации и число каналов.

Бесплатно без регистрации и ограничений Локально ничего не загружается Обновлено 27 окт. 2026 г.
Перетащите файлы сюда, вставьте или выберите их
Ввод –Результат –Размер –

Обработка идёт в браузере. Эта страница не может никуда отправить ваши данные – откуда мы это знаем

Как конвертировать WAV в Base64

  1. Перетащите файл .wav в поле или выберите его через диалог.
  2. Прослушайте его в предпросмотре.
  3. Формат вывода стоит на Data URI. Для API выберите Чистый Base64 или JSON, чтобы получить ещё имя, MIME-тип и размер.
  4. Нажмите Скопировать результат. Записи длиннее нескольких секунд дают очень длинные строки; с ними удобнее Сохранить как .txt.

Сколько весит WAV в Base64

Несжатый PCM легко посчитать: байт в секунду = частота дискретизации × байт на сэмпл × число каналов. Добавьте стандартный заголовок в 44 байта и умножьте на 4/3 для Base64:

Формат1 секунда10 секунд1 минута
8 кГц, моно, 16 бит (телефония)21 392 симв.213 392 симв.1 280 060 симв.
16 кГц, моно, 16 бит (речь)42 728 симв.426 728 симв.2 560 060 симв.
44,1 кГц, моно, 16 бит117 660 симв.1 176 060 симв.7 056 060 симв.
44,1 кГц, стерео, 16 бит (CD)235 260 симв.2 352 060 симв.14 112 060 симв.
48 кГц, стерео, 16 бит256 060 симв.2 560 060 симв.15 360 060 симв.

Некоторые приложения записывают в файл дополнительные чанки с метаданными, так что реальный размер может быть чуть больше.

WAV и API распознавания речи

Сервисы распознавания речи обычно принимают несжатый 16-битный PCM: он декодируется без потерь и не требует кодека. Если аудио идёт прямо в JSON-запросе, его кодируют в Base64 и рядом указывают кодировку, частоту дискретизации и число каналов. Эти значения должны совпадать с файлом. Запись 44,1 кГц стерео, объявленная как 16 кГц моно, даёт бессмысленную расшифровку или ошибку.

Речевые модели обычно работают с 16 кГц моно или ниже. Если перед кодированием перевести стереозапись CD-качества в 16 кГц моно, запрос станет примерно в пять с половиной раз меньше, и на качестве распознавания это обычно не сказывается. Сделайте это в аудиоредакторе или консольным конвертером; эта страница кодирует файл как есть.

Если длинная запись даже так не помещается в лимит на встроенные данные, такие сервисы обычно принимают ссылку на файл в хранилище, и тогда Base64 не нужен вовсе.

Создать WAV и закодировать его в Python

Стандартной библиотеки хватает, чтобы записать WAV и закодировать его, что удобно для тестовых данных. Код ниже создаёт писк длиной 200 мс на 880 Гц:

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. О файлах и потоках подробнее в статье Base64 в Python.

Обратное преобразование

Base64 в WAV воспроизводит строку Base64 с WAV и сохраняет её как файл. Чтобы уменьшить аудио для веба, лучше взять сжатый формат; сравнение размеров есть на странице MP3 в Base64.

Вопросы и ответы

Почему Base64 от WAV такой длинный?

WAV обычно хранит сырые PCM-сэмплы без сжатия. Секунда стерео в CD-качестве занимает 176 400 байт звука, или 235 260 символов Base64 вместе с заголовком. Перевод в моно и снижение частоты дискретизации сильно укорачивают строку.

Правильно audio/wav или audio/x-wav?

В ходу оба, и браузеры воспроизводят любой. Обычно используют audio/wav; некоторые старые системы присылают audio/x-wav или audio/wave. Инструмент берёт тот тип, который сообщает ваш браузер.

Что значат первые символы WAV в Base64?

С UklGR начинается заголовок контейнера RIFF, тот же, что у WebP и AVI. Метка WAVE видна как XQVZF на позициях с 12 по 16, а Zm10 сразу за ней означает чанк fmt .