Что значит формат записи wav
Что такое файлы WAV и WAVE?
Содержание:
Что такое WAV?
Файлы с расширением WAV или WAVE (Waveform Audio file) — это стандартный формат для хранения музыки и звука в цифровом виде в ОС Windows. Чаще всего файлы WAV хранят звук в оригинальном виде, без сжатия, но они поддерживают сжатие, поэтому не всегда звук или музыка, которые имеют расширение WAV являются оригинальными.
WAV занимают значительное место в памяти, гораздо больше, чем популярные MP3 или AAC, поэтому очень мало людей используют этот формат для хранения собственной аудиотеке на компьютере. Однако, если вы занимаетесь редактирование звуков и музыки, либо создание аудиоэффектов для компьютерных игр — тогда формат WAV будут лучшим вариантом для хранения.
Если уходить ещё дальше в историю, то окажется, что формат WAV является одним из форков формата RIFF (Resource Interchange File Format). Можно даже сказать, что WAV это тоже самое, что и AIFF или 8SVX, которые более распространены среди пользователей компьютеров от Apple.
Помните: в виде давности создания этого формата у него имеются ограничения, например, размер одного файла не может превышать 4 Гб, а некоторые программы не смогут открыть WAV файл уже в том случае, когда он будет превышать 2 Гб.
Как открыть файлы Wav или Wave
WAV открываются почти любым современным мультимедийным проигрывателем, за свою жизнь я ещё не встретил ни одного проигрывателя, который бы мог открыть, например, MP3, но не справился бы с WAV.
Но чтобы было нагляднее, я перечислю программы, которые гарантированно открывают WAV: Windows Media Player, VLC, iTunes, QuickTime, Microsoft Groove Music, Winamp, Clementine, XMMS и многие другие.
Как конвертировать WAV файлы
WAV являются идеальным источником, который мы будем конвертировать в любой другой формат, т.к. он хранит музыку без сжатия.
Именно из таких файлов принято получать следующие форматы: MP3, AAC, FLAC, OGG, M4A, M4B, M4R и другие файлы, которые хранят музыку с сжатием.
Конвертацию можно произвести с помощью некоторых бесплатных аудио редакторов, таких как: Freemake Audio Converter, MediaHuman Audio Converter, Hamster Free Audio Converter, Switch и многих других.
Также можно воспользоваться онлайн сервисами, они удобны в тех случаях, когда вам нужно обработать всего несколько файлов: FileZigZag или Zamzar.
Полное руководство по WAV, включая преобразование видео в WAV и преобразование аудио между WAV и MP3 / WMA, а также WAV-плеером и редакцией.
Что такое WAV?
Созданный Microsoft файл A Wave представляет собой полезный аудиоформат, аналогичный MP3, который в настоящее время стал стандартным аудиоформатом ПК для почти системного и игрового звука. Волновой файл имеет расширение имени файла WAV (.wav). Широко и преимущественно используемый в ПК, формат WAV также был доступен в качестве жизнеспособного средства обмена для других компьютерных платформ, таких как Macintosh и т. Д.
Конвертировать видео в WAV
Хотите конвертировать видео в WAV, чтобы конвертировать видео в WAV?
Конвертировать WAV в MP3 / WMA
WAV в MP3 / M4A с iTunes
Преобразование WAV с использованием программного обеспечения
Для удобного и эффективного преобразования WAV вы можете дополнительно использовать стороннее программное обеспечение. Каким должен быть отличный конвертер WAV? Бесплатный видео конвертер может помочь вам, когда вы конвертируете WAV или конвертируете аудио / видео в WAV. С помощью этой программы вы можете легко конвертировать WAV в MP3, И т.д.
Конвертировать WAV с онлайн-конвертером
В случае, если многие люди не хотят использовать какое-либо программное обеспечение для преобразования WAV. Они хотели бы выбрать онлайн конвертер WAV. Есть много бесплатных онлайн аудио конвертеров, доступных в Интернете, вы можете выбрать один из них для конвертации WAV или конвертировать MP3 в WAV.
Конвертировать видео в WAV
Если у вас есть ссылки на видео, как вы можете конвертировать URL этих видео в WAV? Помимо URL, у вас также могут быть другие, которые вы хотите конвертировать в WAV. Вы можете конвертировать FLV в WAVили конвертировать WMV в WAV.
WAV-плеер и Edito
WAV Player для лучшего воспроизведения WAV
Что является лучшим WAV-плеер для вас, чтобы играть в WAV на компьютере с Windows? Некоторые факторы, которые вы должны учитывать, такие как вместимость игрока, многофункциональность, обстоятельства и так далее. Фактически, Бесплатный медиаплеер это лучший выбор. С помощью программы вы можете воспроизводить WAV или любой другой видео / аудио файл в зависимости от ваших потребностей.
Лучший WAV-редактор для редактирования WAV-файла
Что вы думаете об этом посте.
Рейтинг: 4.7 / 5 (на основе рейтингов 25)
03 июля 2018 г. 11:00 / Обновлено Дженни Райан в Аудио, Музыка
Какая лучшая программа для конвертации FLAC в WAV? Это руководство предоставляет вам простой способ конвертировать FLAC в WAV без потери качества.
В этой статье показано несколько бесплатных способов конвертировать WAV в MP3.
Хотите бесплатно конвертировать M4A в WAV? Вы можете узнать, как легко конвертировать M4A / M4P в WAV для Windows Media Player бесплатно.
Авторские права © 2021 Aiseesoft Studio. Все права защищены.
Формат WAV
WAVE или WAV является короткой формой Wave Audio File Format (реже именуемой как Аудио для Windows). Этот формат является стандартом для хранения аудио потока на ПК. Он является сферой приложения формата RIFF для хранения аудио в «цепочках», это очень напоминает форматы 8SVX и AIFF, используемые компьютерами Amiga и Macintosh соответственно. Это также основной формат на системах Windows для хранения обычного несжатого звука. Как правило, для этого применяется кодирование методом линейной импульсно-кодовой модуляции.
Описание
Как WAV, так и AIFF совместимы с операционными системами Windows, Macintosh или Linux. Формат также учитывает некоторые отличия процессоров Intel, такие как порядок байтов от младшего к старшему. RIFF формат выполняет роль обертки для различных кодеков аудио сжатия.
Несмотря на то, что WAV файл может содержать сжатое аудио, наиболее обычным его применением является хранение как раз несжатого аудио в формате линейной импульсно-кодовой модуляции (LPCM). Стандартным форматом Audio-CD, например, является аудио в формате LPCM, с 2 каналами, частотой дискретизации 44 100 Гц и 16 бит на сэмпл. Так как формат LPCM хранит несжатое аудио, которое абсолютно идентично оригиналу, это позволяет использовать его профессиональным пользователям и аудио экспертам для получения максимального качества звучания. WAV аудио файл также может быть изменен практически в любом аудио редакторе. WAV формат работает со сжатым звуком в системах семейства Windows через Audio Compression Manager (ACM). Любой ACM кодек может быть использован для сжатия WAV файла. Пользовательский интерфейс для ACM может быть доступен через множество программ, включая и стандартную программу для записи звука в некоторых версиях Windows.
Начиная с Windows 2000, появился заголовок WAVE_FORMAT_EXTENSIBLE, который позволял хранить многоканальные аудио данные, учитывал расположение динамиков, исключал неоднозначности в плане типов сэмпла и размеров контейнера в стандартном WAV формате. Также он поддерживал произвольные расширения формата чанка.
Также существует много несоответствий в формате WAV: например, 8-битные данные являются беззнаковыми, в то время как 16-битные — знаковыми.
WAV файлы могут содержать встроенные IFF «списки», которые могут содержать несколько «подчанков».
Метаданные
Будучи форматом, производным от Resource Interchange File Format (RIFF), WAV-файлы могут иметь метаданные (тэги) в чанке INFO. В дополнение к этому, в WAV файлы могут быть встроены метаданные стандарта Extensible Metadata Platform (XMP).
Популярность
WAV файлы достаточно большие, что делает этот формат неудобным для обмена по сети Интернет, и это сильно подрывает его популярность. Однако, этот формат — как правило, чаще всего используется для сохранения первозданного вида для файлов высокого качества в таких случаях, где размер свободного дискового пространства не является ограничением. Он также используется в программах для редактирования аудио, где экономят время на сжатии и распаковке данных.
Более часто данные сжимаются с помощью форматов с потерями, такими как Ogg Vorbis, MP3, ATRAC, AAC, Musepack и WMA, которые используются для хранения и обмена музыки (например, среди пользователей Интернета). Небольшой размер файла и возможность быстро скачивать их также является существенным плюсом наряду с тем, что такие аудио данные занимают намного меньше места. Но форматы с потерями жертвуют качеством ради размера, поэтому их алгоритмы не сохраняют первозданное качество звука во всех деталях. Но существуют и кодеки без потерь, такие как FLAC, Shorten, Monkey’s Audio, ATRAC Advanced Lossless, Apple Lossless, WMA Lossless, TTA, WavPack, но ни один из этих кодеков нельзя назвать общепринятым.
Использование формата WAV является общепринятым, благодаря его простоте и простой структуре, которая в большой степени основана на формате файлов RIFF. Благодаря этому, формат WAV не испытывает притеснения среди различного программного обеспечения или аппаратных плееров, он поддерживается практически везде.
Назло огромному размеру данных несжатого WAV, этот формат иногда используется для радиовещания, особенно для адаптированных безкассетных систем. Радио BBC (BBC Radio) в Соединенном Королевстве использует 44.1 кГц, 16 бит, стерео аудио данные как стандарт в их системе VCS. Система ABC «D-Cart», которая разработана Австралийским радиовещателем, использует 48 кГц, 16 бит, стерео аудио данные, что идентично цифровым аудио кассетам (DAT).
MP3, AAC, WAV, FLAC: рассказываем обо всех форматах аудиофайлов
Сохранить и прочитать потом —
Организуя свою коллекцию цифровой музыки, можно утонуть в разнообразии форматов аудиофайлов. Почти каждый слышал об MP3, но что такое OGG, AIFF или MQA?
Если по прочтении списка у вас возникло подозрение, что все эти форматы для получения таких шикарных аббревиатур учились в разных университетах, мы поможем развеять его. В этом материале будет прояснена суть некоторых популярных музыкальных форматов, разница между ними и то, почему это важно знать.
Что бы вы ни слушали – MP3-файлы с низким битрейтом, чуть более качественные треки в AAC или Hi-Res-аудио во FLAC или WAV – настало время разобраться в том, что именно вы получаете в каждом случае и как выбрать оптимальный формат.
Давайте оценим плюсы и минусы каждого из них.
Краткий обзор форматов файлов и кодеков
Чтобы не ходить вокруг да около, вначале мы приведем краткую памятку по всем форматам файлов и различиям между ними. Если захотите узнать больше, ниже вы найдете более подробное описание различий в размерах, качестве звука и совместимости.
AAC (не является форматом Hi-Res-аудио). Ставшая популярной благодаря Apple альтернатива формату MP3. Со сжатием и потерями, но с более высоким качеством звука. Используется для скачивания с iTunes и трансляции с Apple Music.
AIFF (Hi-Res). Альтернатива WAV от Apple с более полными метаданными. Не особенно популярный формат без сжатия и потерь с файлами большого размера.
DSD (Hi-Res). Однобитный формат, применяемый в Super Audio CD. Существует в вариантах с частотой дискретизации 2,8 МГц, 5,6 МГц и 11,2 МГц. Из-за использования кодека высокого качества в настоящее время не применяется для стриминга. Формат без сжатия.
FLAC (Hi-Res). Формат со сжатием без потерь с поддержкой частот дискретизации, совместимых с Hi-Res, и хранением метаданных; размер файлов вдвое меньше, чем у WAV. Благодаря отсутствию лицензионных отчислений считается лучшим форматом для скачивания и хранения альбомов в Hi-Res-аудио. Его главный недостаток – отсутствие поддержки устройствами Apple (и, следовательно, несовместимость с iTunes).
MP3 (не является форматом Hi-Res-аудио). Популярный формат со сжатием и потерями с малым размером файла и далеко не самым высоким качеством звучания. Удобен для хранения музыки на смартфонах и плеерах iPod.
MQA (Hi-Res). Формат со сжатием для хранения Hi-Res-файлов в более удобной для стриминга форме. Используется сервисом Tidal Masters для трансляций Hi-Res-аудио.
OGG (не является форматом Hi-Res-аудио). Иногда называется полным именем – Ogg Vorbis. Альтернатива MP3 и AAC с открытым кодом, не подпадающая под действие патентов. Этот формат с битрейтом 320 кбит/с используется в трансляциях Spotify.
WAV (Hi-Res). Стандартный формат, в котором записаны все CD. Отличное качество звука, но огромный размер файлов из-за отсутствия сжатия. Слабая поддержка метаданных (обложек, названий песен и исполнителей).
WMA Lossless (Hi-Res). Версия Windows Media Audio без сжатия, поддержку которой уже не часто можно встретить в смартфонах и планшетах.
Аудиофайлы со сжатием и без него
Вначале рассмотрим три категории, в которые можно сгруппировать все форматы аудиофайлов. Они определяются степенью сжатия данных и связанным с ним уровнем потерь качества звучания.
Если для сжатия аудио в вашем файле не применялся специальный алгоритм (или кодек), это приведет к двойному результату: во-первых, потерь качества звучания не будет, во-вторых, место на вашем жестком диске скоро закончится.
По своей сути запись в формате без сжатия полностью соответствует оригинальному аудиофайлу, в котором зафиксированы в цифровом представлении реальные звуковые сигналы.
WAV и AIFF можно назвать самыми популярными форматами аудиофайлов без сжатия. Оба они основаны на PCM (Pulse Code Modulation, импульсно-кодовой модуляции), широко известном механизме непосредственного преобразования аудиосигнала в цифровую форму. В WAV и в AIFF применяются схожие технологии, но методы хранения данных несколько различаются. В этих форматах можно записывать как файлы CD-качества, так и более высокого разрешения.
Формат WAV был разработан Microsoft и IBM, в силу чего применяется на платформах на базе Windows; он является стандартным форматом записи компакт-дисков.
Формат AIFF создан компанией Apple как альтернатива WAV; и хотя AIFF-файлы менее распространены, они обеспечивают более полную поддержку метаданных, позволяя хранить обложки альбомов, названия песен и тому подобную информацию.
Недостаток этих форматов – требование гигантских объемов памяти. Файлы CD-качества (16 бит, 44,1 кГц) занимают около 10 МБ дискового пространства на минуту звучания.
ALAC, FLAC, WMA Lossless: аудиоформаты без потерь
Все мы любим FLAC. Формат без потерь, файлы во FLAC (Free Lossless Audio Codec, бесплатный аудиокодек без потерь) по размеру почти вдвое меньше, чем в WAV или AIFF без сжатия с эквивалентной частотой дискретизации, однако в плане звучания никаких потерь качества не заметно. FLAC также поддерживает более высокое разрешение по сравнению с CD-качеством – до 32 бит и 192 кГц.
Помимо FLAC, есть и другие форматы без потерь – ALAC (Apple Lossless) и WMA Lossless (Windows Media Audio). Первый представляет собой отличную альтернативу для iOS и iTunes, хотя размер файлов чуть выше, чем у FLAC. Не все смартфоны и планшеты поддерживают его.
AAC и MP3: аудиоформаты с потерями
Кто не слышал про MP3? Все про него слышали. Этот самый распространенный аудиоформат удобен для хранения музыки на плеерах iPod или планшетах и поддерживается практически любыми устройствами. Однако для этого приходится жертвовать значительным объемом информации. Для того чтобы уменьшить размеры файлов на порядок по сравнению с записями в CD-качестве, необходимо отбросить значительный процент исходных данных, что приводит к потере качества звучания.
Битрейт, с которым записан MP3-файл, тоже влияет на качество звука. MP3 с битрейтом 128 кбит/с теряют больше информации, чем файлы с 320 кбит/с (это расшифровывается как «килобит в секунду», где каждый «бит», в сущности, представляет собой крохотный кусочек песни). Учитывая резкое снижение стоимости памяти, в наше время нет никаких причин слушать файлы с битрейтом 128 кбит/с; MP3 с 320 кбит/с имеют смысл при ограниченном объеме памяти, они также остаются стандартным форматом для скачивания файлов Интернет-магазинов.
Еще один формат с потерями, AAC (Advanced Audio Coding, усовершенствованное кодирование звука), также предполагает сжатие, как и MP3, но благодаря несколько более эффективным алгоритмам обеспечивает более качественный звук. AAC используется для скачивания с iTunes и трансляций с Apple Music (с битрейтом 256 кбит/с), а также в передачах с YouTube.
Формат Vorbis, нередко называемый Ogg Vorbis, чтобы подчеркнуть использование контейнера Ogg, представляет собой альтернативу MP3 и AAC с открытым кодом, не подпадающую под действие патентов. Этот формат с битрейтом 320 кбит/с используется в трансляциях Spotify.
Если вы планируете использовать форматы с потерей информации, учитывайте следующий факт: повышение числа «бит» обычно ведет к росту качества звучания, однако оно во многом зависит от эффективности кодека, с помощью которого выполняется преобразование файла. Если большая часть музыки в вашей коллекции закодирована с битрейтом 128 Кбит/с, то вы могли заметить, что, несмотря на принципиальное сходство звучания, из-за низкой эффективности кодека MP3-файлы, скорее всего, будут слушаться несколько хуже AAC или Ogg Vorbis.
Как насчет музыки в высоком разрешении?
В отличие от HD-видео, для аудио высокого разрешения пока не разработано универсального стандарта.
Если не вдаваться в подробности, под этим термином обычно понимаются записи с более высокой частотой дискретизации и/или разрядностью, чем у CD (т.е. 16 бит/44,1 кГц). Примерами Hi-Res-аудио могут служить файлы с параметрами 16 бит/96 кГц или 24 бит/192 кГц.
Благодаря наличию дополнительной аудиоинформации Hi-Res-файлы звучат намного лучше в сравнении с компрессированными файлами, теряющими эту информацию в процессе сжатия. Эти форматы требуют больше места на диске, но их качество определенно стоит таких затрат.
К Hi-Res-аудио относятся форматы без сжатия, такие как AIFF и WAV, а также без потерь – FLAC и ALAC. DSD (отчасти нишевый формат, применявшийся в Super Audio CD) также входит в категорию Hi-Res-аудио, но его поддерживает гораздо меньшее число устройств. Если говорить о стриминге, то такие сервисы, как Tidal Masters, используют упаковщик MQA, позволяющий передавать по сетям файлы в высоком разрешении с использованием минимально возможной полосы пропускания сигнала.
Что касается воспроизведения форматов Hi-Res-аудио, то сегодня его поддерживает уже немало устройств. 24-разрядные файлы способны проигрывать беспроводные колонки Denon HEOS, а также портативные музыкальные плееры премиум-класса – такие как Cowon Plenue D2 и Astell & Kern A&norma SR15.
Кроме того, с Hi-Res-аудио совместимы большинство флагманских моделей смартфонов под Android – например, удостоенный высших оценок Samsung Galaxy S10+ – однако прослушать их на новеньком iPhone вам сходу не удастся. Мы нашли способы обойти это ограничение, но нельзя забывать о том, что файлы Hi-Res-аудио пока еще не настолько компактны, как их аналоги в форматах с потерями.
Какой аудиоформат будет лучшим для вас?
Выбор формата зависит от того, что вас больше волнует – объем памяти или качество звучания – а также от того, с каким устройством вы намерены его использовать.
Популярность MP3 сложилась в эпоху, когда стоимость дискового пространства была очень высока. Сегодня смартфоны, музыкальные плееры и ноутбуки оснащаются памятью внушительного объема, так что есть смысл обратить внимание на форматы с качеством выше, чем у CD.
Если же вы решили архивировать свои аудиофайлы, FLAC или другой формат без потерь может стать неплохим вариантом. Они представляют собой удачный компромисс между уровнем сжатия и качеством звучания, позволяя слушать высококачественную цифровую музыку и сэкономить дисковое пространство. Только не забудьте проверить совместимость выбранного формата и имеющихся устройств.
Подготовлено по материалам портала «What Hi-Fi?», март 2020 г.
Формат звуковых файлов WAV
Данный формат использует Microsoft-скую версию формата IFF (Interchange File Format) от Electronic Arts для хранения данных в виде «секций» (так называемых «чанков», «chunks»).
Форматы данных
WAV-файлы могут содержать строки текста, например метки секций, информационные комментарии и т. д. Строки сохраняются в стиле Pascal. Первый байт – счетчик количества текстовых байтов ASCII, за которым следует указанное количество текстовых байтов. Общее количество байтов в этом типе данных должно быть четным. Для этого в конец текста можно добавить байт-заполнитель. Этот байт заполнения не отражается в счетчике размера.
Структура файла
WAV-файл использует стандартную RIFF-структуру, которая группирует содержимое файла из отдельных секций (chunks) – формат выборок аудиоданных, аудиоданные, и т.п. Каждая секция имеет свой отдельный заголовок и отдельные данные. Заголовок секции указывает на тип секции и количество содержащихся в секции байт. Такой принцип организации позволяет программам анализировать только необходимые секции, пропуская остальные, которые неизвестны, или которые не требуют обработки. Некоторые секции могут иметь в своем составе подсекции (sub-chunks). Например, как можно увидеть на рисунке ниже, описывающем формат простейшего WAV-файла, секции » fmt » и » data » являются подсекциями секции » RIFF «.
Рисунок 1 – Формат простейшего WAV-файла
Еще одна особенность, связанная с секциями файла RIFF, – адреса начала секций должны быть выровнены на размер слова (2 байта). Это означает, что общий размер секции должен быть кратен 2. Если секция содержит нечетное число байт данных, то в конец данных секции добавляется дополнительный нулевой байт данных. Этот дополнительный байт не учитывается в размере секции в заголовке, таким образом, программа всегда должна учитывать выравнивание для расчета смещения начала следующей секции.
Заголовок WAV-файла, секция типа RIFF
Заголовки WAV-файла используют стандартный формат RIFF. Первые 8 байт файла – стандартный заголовок секции RIFF, который содержит ID секции, равный » RIFF «, и размер секции, равный размеру файла минус 8 байт, используемых для RIFF-заголовка. Первые 4 байта данных в секции » RIFF » определяют тип ресурса, который содержится в секции. WAV-файлы всегда используют тип ресурса » WAVE «. После типа ресурса (ID » WAVE «) идут все остальные секции файла, которые определяют аудиосигнал.
Секции WAV-файла
Для WAV-файлов, определено довольно много типов секций, но большинство файлов содержат только две из них – секцию формата (» fmt «) и секцию данных (» data «). Это именно те секции, которые необходимы для описания формата выборок аудиоданных, и для хранения самих аудиоданных.
Итак, в простейшем случае в WAV-файле должна быть обязательная секция формата (» fmt «), которая содержит важные параметры, описывающие сигнал, такие как частота дискретизации, и секция данных (» data «), которая содержит непосредственно данные сигнала (рисунок 1). Все остальные секции необязательны.
Среди необязательных секций могут быть те, которые определяют ключевые точки, перечисляют параметры инструментов, хранят информацию о приложении и т.д. Все эти секции подробно описаны ниже.
Все приложения, использующие WAV-файлы, должны иметь возможность читать 2 обязательных секции и выборочно игнорировать необязательные секции. Программа, копирующая WAV-файл, должна копировать все секции WAV-файла, даже те, которые она не интерпретирует.
На порядок секций в WAV-файле нет никаких ограничений, за исключением того, что секция формата должен предшествовать секции данных. Некоторые жестко написанные программы ожидают, что секция формата будет первым секцией (после заголовка RIFF), хотя они не должны этого делать потому, что спецификация этого не требует.
Все секции формата RIFF и соответственно секции WAVE сохраняются в следующем формате (таблица ниже). Заметьте, что даже вышеупомянутая секция RIFF соответствует этому формату.
Смещение | Размер | Название | Описание |
---|---|---|---|
0 | 4 | Chunk ID | ID секции |
4 | 4 | Chunk Data Size | Размер данных секции |
8 | Байты данных секции |
Остальная часть этой статьи посвящена описанию различных типов секций Wave, их формату данных и что эти данные означают.
Секция формата » fmt «
Секция формата содержит информацию о том, как сохранены аудиоданные и как они должны воспроизводиться. Информация включает в себя тип используемой компрессии, количество каналов, частоту дискретизации, разрядность выборок и другие атрибуты.
Идентификатор секции всегда » fmt » ( 0x666D7420 ).
Поле размера данных равно размеру стандартного формата WAV (16 байт) плюс размер всех дополнительных байтов формата, необходимых для поддержки специфических форматов звука, если он не содержит несжатых данных PCM. Обратите внимание, что идентификатор секции » fmt » оканчивается на символ пробела ( 0x20 ).
Код формата сжатия (Compression Code)
Первое слово в данных формата указывает на тип сжатия, используемого для данных звука. В таблице приведен список примеров кодов сжатия.
Код | Описание |
---|---|
0 (0x0000) | Неизвестный формат |
1 (0x0001) | PCM / несжатые данные |
2 (0x0002) | Microsoft ADPCM |
6 (0x0006) | ITU G.711 a-law |
7 (0x0007) | ITU G.711 µ-law |
17 (0x0011) | IMA ADPCM |
20 (0x0016) | ITU G.723 ADPCM (Yamaha) |
49 (0x0031) | GSM 6.10 |
64 (0x0040) | ITU G.721 ADPCM |
80 (0x0050) | MPEG |
65,535 (0xFFFF) | Экспериментальный формат |
Количество каналов (Number of Channels)
Количество каналов указывает, сколько отдельных аудиосигналов закодировано в секции данных звука. Значение 1 означает монофонический сигнал, 2 означает стерео, и т.п.
Частота дискретизации (Sample Rate)
Число выборок аудиосигнала, приходящихся на секунду.
Количество байт в секунду (Average Bytes Per Second)
Величина, показывающая, сколько байт данных должно быть пропущено за секунду через цифро-аналоговый преобразователь во время воспроизведения файла. Эта информация полезна, чтобы определить, могут ли данные поступать от источника с нужной скоростью, чтобы не отставать от воспроизведения. Эта величина просто вычисляется по формуле:
Количество байт в секунду = Частота дискретизации × Размер блока
Размер блока (Block Align)
Количество байт на одну выборку. Эта величина может быть вычислена по формуле:
Размер блока = Количество значащих бит на выборку / 8 × Количество каналов
Количество значащих бит на выборку (Significant Bits Per Sample)
Значение указывает количество бит, формирующих каждую выборку сигнала. Обычно эта величина 8, 16, 24 или 32. Если число бит не выровнено по байту (не делится на 8 без остатка), количество используемых байт на выборку округляется вверх. Неиспользуемые биты устанавливаются в 0 и игнорируются.
Размер дополнительных данных формата (Extra Format Bytes)
Указывает, сколько далее идет дополнительных данных, описывающих формат. Если код сжатия равен 1 (файл с несжатыми PCM данными), то дополнительных данных о формате нет. Для других типов сжатия дополнительные данные могут присутствовать и иметь любой размер, зависящий от количества необходимых для декодирования данных. Если размер дополнительных данных не выровнен на слово (не делится на 2 без остатка), то в конец данных должен быть добавлен дополнительный байт; но при этом значение в поле размера не меняется.
Секция данных » data «
Секция данных Wave (Wave Data Chunk) содержит данные цифровых выборок аудиосигнала, которые можно декодировать с использованием формата и метода компрессии, указанных в секции формата Wave (Wave Format Chunk). Если код сжатия равен 1 (несжатый PCM), то данные представлены в виде сырых, необработанных (raw) величин выборок. Данная статья описывает, как сохраняются несжатые данные PCM, и не вдается в подробности форматов с компрессией.
WAV-файлы обычно содержат только одну секцию данных, но таких секций может быть несколько, если они содержатся в секции списка Wave (Wave List Chunk » wavl «).
Смещение | Длина | Название | Описание | Значение |
---|---|---|---|---|
0 | 4 | Chunk ID | ID секции | » data » ( 0x64617461 ) |
4 | 4 | Chunk Data Size | Размер данных секции | зависит от количества выборок и формата сжатия |
8 | Данные выборок |
Аудиовыборки многоканального цифрового звука сохраняются как чередуемые данные, которые просто означают последовательные аудиовыборки нескольких каналов. Выборки каналов сохраняются последовательно друг за другом, перед тем как произойдет переход к следующему времени выборки. Это сделано, чтобы можно было проигрывать файл без необходимости перед этим прочитать этот файл целиком. Значения в таблице ниже были бы сохранены в WAV-файле в порядке, как они перечислены в столбце «Значение» (сверху вниз).
Момент времени | Канал | Значение |
---|---|---|
0 | 1 (левый) | 0x0053 |
2 (правый) | 0x0024 | |
1 | 1 (левый) | 0x0057 |
2 (правый) | 0x0029 | |
2 | 1 (левый) | 0x0063 |
2 (правый) | 0x003C |
Как уже было указано ранее, все секции RIFF (включая секции WAVE » data «) должны быть выровнены по размеру на слово (2 байта). Если данные выборок содержатся в нечетном количестве байт, то в конец данных должен быть добавлен выравнивающий нулевой байт. За заголовке секции » data » размер не должен учитывать этот выравнивающий байт.
Секция » fact «
Смещение | Размер | Название | Описание | Значение |
---|---|---|---|---|
0 | 4 | Chunk ID | ID секции | » fact » ( 0x66616374 ) |
4 | 4 | Chunk Data Size | Размер данных секции | зависит от формата |
8 | Format Dependant Data | Данные, зависящие от формата |
Данные, зависящие от формата (Format Dependant Data)
В настоящий момент задано только одно поле для данных, зависящих от формата. Это единственное 4-байтное значение, которое указывает число выборок в секции данных аудиосигнала. Эта значение может использоваться вместе с количеством выборок в секунду (Samples Per Second value), указанным в секции формата, для вычисления продолжительности звучания сигнала в секундах.
По мере появления новых форматов WAVE секция fact будет расширяться добавлением полей после поля числа выборок. Приложения могут использовать размер секции fact для определения, какие поля представлены в секции.
Секция списка Wave – » wavl «
Секция списка Wave (wave list chunk) используется для указания нескольких чередований секций » slnt » и » data «. Эти секции могут помочь уменьшить размер файла путем указания слышимых сегментов выборок, когда поток аудиоданных содержит несколько интервалов тишины.
Этот тип секции, по мнению многих программистов, является злоупотреблением в формате WAV-файла, и его использование не рекомендуется. Также много приложений не будут распознавать этот тип секции, просто игнорируя его. Этот формат сжатия без надобности усложняет структуру WAV-файла и может быть выгодно реализован другими способами, включая несколько существующих форматов компрессии.
Смещение | Размер | Название | Описание | Значение |
---|---|---|---|---|
0 | 4 | Chunk ID | ID секции | » wavl » ( 0x736C6E74 ) |
4 | 4 | Chunk Data Size | Размер данных секции | зависит от размера секций » data » и » slnt « |
8 | Список чередования секций » slnt » и » data « |
Секция тишины – «slnt»
Секция тишины (silent chunk) используется для указания сегмента паузы звучания, которая имеет некоторую продолжительность в выборках сигнала. Секция тишины всегда содержится только внутри секции списка Wave (wave list chunk). Когда эта секция объявляет тишину, не нужно задавать нулевую громкость или базовую выборку. Она фактически удерживает последнюю выборку сигнала, считанную из предыдущей секции данных (Wave Data Chunk) секции списка Wave (wave list chunk). Если предыдущих секций данных не было, то необходимо использовать базовое значение выборки, равное 127 для 8-битных данных, 0 для 16-битных данных и всех данных с большим количеством бит на выборку. Эти требования могут казаться тривиальными, но если их не выполнить, то в аудиосигнале могут появиться нежелательные щелчки и хлопки.
Секция ключевых точек – » cue «
Секция » cue » определяет одно или более смещения выборок, которые часто используются, чтобы отметить ключевые разделы аудиоданных. Например, у начала и конца куплета в песне могут быть установлены метки, по которым их легче найти. Секция ключевых точек является необязательной, и если она добавлена, то одна секция ключевых точек должна указать все ключевые точки секции » WAVE «. Внутри секции » WAVE » не допускается содержание более одной секции » cue «.
Смещение | Размер | Название | Описание | Значение |
---|---|---|---|---|
0 | 4 | Chunk ID | ID секции | » cue » ( 0x63756520 ) |
4 | 4 | Chunk Data Size | Размер данных секции | Зависит от количества ключевых точе |
8 | 4 | Num Cue Points | Количество ключевых точек в списке | |
12 | List of Cue Points | Список ключевых точек |
Идентификатор секции и объем данных (Chunk ID и Chunk Data Size) Идентификатор секции для секции ключевых точек всегда » cue » ( 0x666D7420 ). Обратите внимание, что строка ID оканчивается на символ пробела ( 0x20 ). Размер данных секции равен размеру поля Num Cue Points (4 байта) плюс количество последующих ключевых точек, помноженное на размер данных каждой точки (24 байта). Для вычисления размера данных секции ключевых точек может использоваться следующая формула:
ChunkDataSize = 4 + ( NumCuePoints × 24) Количество ключевых точек (Num Cue Points) Эта величина указывает количество последующих ключевых точек в этой секции. Список ключевых точек (List of Cue Points)
Список ключевых точек – это просто набор описаний последовательных точек, который имеет следующий формат.
Смещение | Размер | Название | Значение |
---|---|---|---|
0 | 4 | ID | Уникальный идентификатор |
4 | 4 | Position | Позиция порядка воспроизведения |
8 | 4 | Data Chunk ID | RIFF ID соответствующей секции данных |
12 | 4 | Chunk Start | Байтовое смещение секции данных |
16 | 4 | Block Start | Байтовое смещение к выборке первого канала |
20 | 4 | Sample Offset | Байтовое смещение к байту выборки первого канала |
ID Каждая ключевая (cue) точка имеет уникальный идентификатор, используемый для связи ключевых точек с информацией в других секциях. Например, секция метки (Label chunk) содержит текст, который описывает точку в WAV-файле со ссылкой на связанную с ней ключевую точку. Позиция (Position) Определяет смещение выборки, связанное ключевой точкой, с точки зрения позиции выборки в заключительном потоке выборок, сгенерированных списком воспроизведения. Другими словами, если указана секция списка воспроизведения (play list chunk), значение позиции равно номеру выборки, на которой эта ключевая точка встретится при воспроизведении всего списка (play list) в заданном порядке. Если нет секции списка воспроизведения (play list chunk), то значение позиции должно быть равно 0. ID секции данных (Data Chunk ID) Указывает ID из 4 байт, используемый секцией, содержащей выборку, которая соответствует этой ключевой точке. В WAV-файле без списка воспроизведения (play list chunk) это значение всегда » data «. В WAV-файле, имеющем список воспроизведения (play list chunk) с секциями данных и тишины, это значение может быть либо » data «, либо » slnt «. Начало секции (Chunk Start) Указывает байтовое смещение в секции списка Wave (Wave List Chunk) секции, содержащей выборку, соответствующую этой точке. Это та же самая секция, описанная значением ID секции данных (Data Chunk ID). Если в WAV-файле нет секции списка Wave (Wave List Chunk), это значение равно 0, иначе это значение равно смещению в секции » wavl «. Первая секция в секции списка (Wave List Chunk) указывается значением 0. Начало блока (Block Start) Указывает смещение в байтах в секции » data » или секции » slnt » для начала блока, содержащего выборку. Начало блока задает первый байт несжатых аудиоданных PCM или последний байт в сжатых данных звука, где для нахождения соответствующего значения выборки может начаться декодирование. Смещение выборки (Sample Offset) Указывает смещение в блоке (указанном в Block Start) для выборки, соответствующей ключевой точке. В несжатых аудиоданных PCM это просто байтовое смещение в секции » data «. В сжатых данных звука это значение равно количеству выборок (которое может и не быть в байтах) от Block Start до выборки, соответствующей ключевой точке.
Секция списка воспроизведения (плейлиста) – » plst «
Секция плейлиста указывает порядок воспроизведения последовательности ключевых точек (cue points). Эти точки заданы в секции » cue «, где-то в другом месте файла. Плейлист состоит из массива сегментов, каждый из которых содержит информацию о том, с какой выборки сегмент должен начать проигрывание, длительность сегмента (в выборках), и сколько раз должен повториться сегмент перед переходом к следующему по списку сегменту.
Список сегментов – просто набор следующих друг за другом описаний сегментов, которые составлены по формату, приведенному в таблице ниже. Сегменты не должны идти в каком-то определенном порядке потому, что для определения порядка воспроизведения используется позиция ключевой точки, связанной с сегментом.
Секция связанного списка данных – » list «
Секция связанного списка данных (Associated Data List Chunk) используется для задания текстовых меток и имен, которые связаны с ключевыми точками, для предоставления для каждой позиции текстовой метки или имени.
Смещение | Размер | Название | Описание | Значение |
---|---|---|---|---|
0 | 4 | Chunk ID | ID секции | » list » ( 0x6C696E74 ) |
4 | 4 | Chunk Data Size | Размер данных секции | зависит от содержащегося текста |
8 | 4 | Type ID | Идентификатор типа | » adtl » ( 0x6164746C ) |
12 | Список текстовых меток и имен |
Type ID Идентификатор типа используется для обозначения типа связанного списка данных и всегда имеет значение » adtl «. Список текстовых меток и имен Просто список сортированных секций, которые определяют текст различными способами. В файлах WAVE используются три основных типа секций – секция метки (Label Chunk), секция примечания (Note Chunk) и секция помеченного текста (Labeled Text Chunk).
Секция метки – » labl «
Секция метки (Label Chunk) всегда содержится внутри секции связанного списка данных (Associated Data List Chunk). Она используется для связывания текстовой метки с ключевой точкой (Cue Point). Эта информация часто отображается на маркерах или флажках в аудиоредакторах.
Секция примечания или комментария – » note «
Секция примечания (Note Chunk) всегда содержится внутри секции связанного списка данных (Associated Data List Chunk). Она используется для связывания текстового комментария с ключевой точкой. Эта информация сохраняется тем же способом, что и метки в секции метки.
Секция помеченного текста – » ltxt «
Секция помеченного текста (Labeled Text Chunk) всегда содержится внутри секции связанного списка данных (Associated Data List Chunk). Она используется для связывания текстовой метки с областью или секцией данных звука. Эта информация часто отображается в помеченных областях звука в аудиоредакторах.
Секция семплера – » smpl «
Секция семплера (Sampler Chunk) задает основные параметры инструмента, как например семплер MIDI, который должен использоваться для воспроизведения данных звука. Наиболее важно, что она включает в себя информацию о зацикливаниях звука во время воспроизведения. Конечно, вы можете решить, что это является дублированием информации, которую можно найти в секциях ключевых точек и списка воспроизведения формата WAVE, но, к счастью, в секции семплера это сделано более гибко, непротиворечиво, и более задокументированным способом.
Поле производителя указывает код MIDI Manufacturer’s Association (MMA) для семплера предназначенного для приема звука этого файла. Каждый производитель продуктов MIDI имеет свой уникальный ID, который идентифицирует компанию. Если не указан конкретный производитель, то должно быть уставлено значение 0.
В значении имеется некоторая дополнительная информация, которую можно использовать для трансляции в значение, используемое в передаче на семплер формата MIDI System Exclusive. Старший байт показывает количество младших байт (1 или 3), которые значимы для кода производителя. Например, значение для Digidesign будет 0x01000013 (0x13), и значение для Microsoft будет 0x03000041 (0x00, 0x00, 0x41).
Product Поле продукта указывает ID модели MIDI, заданный производителем. Для получения идентификаторов продукта связывайтесь с производителем семплера. Если не указан конкретный продукт производителя, то должно быть уставлено значение 0. Sample Period Период выборки указывает длительность времени воспроизведения одной выборки в наносекундах (обычно равно 1 / количество выборок в секунду, где количество выборок в секунду равно величине, указанной в секции формата). MIDI Unity Note Величина, имеющая то же самое значение, как и MIDI Unshifted Note секции инструмента (instrument chunk). Поле MIDI Unshifted Note указывает музыкальную ноту, на которой выборка будет воспроизведена с её исходной частотой дискретизации (частота дискретизации указана в секции формата). MIDI Pitch Fraction Указывает доли полутона вверх от величины, указанной в поле MIDI Unity Note. Значение 0x80000000 означает 1/2 полутона (50 cents), и значение 0x00000000 означает неточную настройку между полутонами. SMPTE Format
Указывает формат времени Society of Motion Pictures and Television E, используемый в следующем поле SMPTE Offset. Если установлено значение 0, SMPTE Offset также должно быть равно 0.
Список зацикливаний – простой набор последовательных описаний циклов, которые следуют нижеописанному формату. Зацикливания не имеют какого-либо определенного порядка, поскольку каждый цикл выборок связан с ключевой точкой, позиция которой используется для определения порядка воспроизведения. Секция семплера не является обязательной.
Поле типа задает, каким образом зацикливаются выборки звука.
Секция инструмента – » inst «
Секция инструмента (instrument chunk) используется для описания, каким образом звук должен быть проигран как звук инструмента. Эта информация полезна для обмена музыкальной информацией между музыкальными редакторами-семплерами, основанными на выборках (семплах), трекерами или программными таблицами звука. Эта секция является необязательной, и не может встречаться в WAVE-файле больше одного раза.
Изменения формата
Обратная сторона популярности формата файла WAVE – из сотен программ, которые поддерживают этот формат, многие злоупотребляют или неправильно используют формат из-за плохой разработки программного обеспечения и/или плохой документации. Как только некоторые из этих «непослушных» программ становятся довольно популярными и производят в большом количестве миллионы неправильных WAVE файлов, остальная часть отрасли программного обеспечения вынуждена иметь дело с этим и создавать код, который может распознавать эти неправильные файлы. Новый код не должен записывать эти ошибки, но должен читать ошибочный WAV-файл. Ниже описано несколько таких исключений, которые были сделаны в дополнение к строгому/исходному формату WAVE.